Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Keď zostavíte program Vytvorenie v editore Codewarrior, stiahne sa do spoločnosti Flash začínajúc na 0xc000?

To nie je všeobecne pravda pre projekty Codewarrior. Počiatočná adresa vášho programu v pamäti Flash (vo vašom prípade 0xc000) závisí od niekoľkých faktorov:

* Cieľový mikrokontrolér: Rôzne mikrokontroléry majú rôzne pamäťové mapy. Skript linker vo vašom projekte Codewarrior určuje, kde sa v pamäti budú bývať rôzne časti vášho programu (kód, dáta, konštanty). 0xc000 je bežná počiatočná adresa kódu v niektorých zabudovaných systémoch, ale nie vo všetkých.

* linker Script: Tento súbor je rozhodujúci. Definuje rozloženie pamäte. Linker používa tento skript na umiestnenie sekcií vášho programu (napríklad `.text`,` .data`, `.bss`) do konkrétnych adries pamäte. Ak je skript linker nakonfigurovaný na umiestnenie vstupného bodu programu na 0xc000, potom to pôjde.

* Nastavenia projektu: Nastavenia projektu Codewarrior vám umožňujú určiť rôzne možnosti linkera a konfigurácie pamäte. Tieto nastavenia nakoniec ovplyvňujú konečnú mapu pamäte.

* bootloader: Ak váš cieľový systém používa bootloader, samotný bootloader môže zaberať niektoré nižšie adresy pamäte. Kód aplikácie by sa potom začal po konci bootovania.

Stručne povedané, zatiaľ čo 0xc000 je * možná * počiatočná adresa, nie je vlastná Codewarrior. Aby ste potvrdili skutočnú počiatočnú adresu, musíte preskúmať skript a nastavenia linkera svojho projektu. Skript linkera bude jasne definovať adresy pamäte použité pre rôzne časti vášho kódu.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené