STM32F (302) - bootloader, beh funkce z RAM

Josef Štengl ok1ced na nagano.cz
Pátek Duben 7 14:31:54 CEST 2017


Jen poznámka, pokud by jste se vydal cestou relokace kódu a pak to hledal jako já. Pro přemístění bloků u přeložených 
programů (elf file), jak jsou zadány linkeru se dá použít program objcopy (dodáváný většino v balíku s překladačem). Je to 
pohodlnější než manipulovat s hexa. A složit i více vhodně navržených aplikací (programů) do jedné binárky.

Pro gcc jsem nic pohodlného jako třeba

  #pragma CODE_SECTION(<fce>,"ramfuncs");

u TI překladače, který si na startu sám umístí v ram, nenašel. Budu vděčen, pokud se dozvím, že jsem špatně hledal :-)




Dne 7.4.2017 v 10:56 Jan Waclawek napsal(a):
> Vo vseobecnosti, taku funkciu musite prelozit bud ako PIC (co tu nie je
> nazov rodiny mcu ale skratka pre Position Independent Code), co je menej
> typicke; alebo linkeru predpisat aby jej virtualnu adresu mapoval do RAM
> kde ju chcete umiestnit. Linkeru samozrejme musite predpisat aj kam v RAM,
> a vo FLASH musite mat rutinu, ktora ju tam pred prvym pouzitim premiestni.
>
> Ak chcete pouzivat prerusenia, tak este musite premiestnit do RAM aj
> tabulku vektorov a presmerovat procesor na nu.
>
> To vsetko je silne zavisle od suity prekladaca, ktoru pouzivate. To vsetko
> sa dost podoba na inicializovane premenne, takze tam sa da tak trocha
> inspirovat.
>
> Ale ja osobne by som do takehoto nesiel, znie to ako recept na pokazenie si
> cielovej aplikacie nepodarenym bootloadovanim.
>
> wek
>
>
>
> ----- Original Message ---------------
>> Dobry den,
>> snazim se o bootloader bootoloaderu pro STM32F(302), ale nedari se mi najit
>> nejaky ucelenejsi priklad jak v C na beh fukce z RAM (tj. nakopirovani fce
>> do RAM a jeji spusteni) . Kdyby tedy prosim mel nekdo nejaky tematicky
>> odkaz ci priklad. Dekuji. TM.
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list