Bootloader pe TMS320F2812

V

vhn

Guest
Salut,
Eu sunt de lucru pe TI TMS320F2812 DSP.Vreau să modifice boot-loader existente furnizate de TI şi arde-o în cizme Rom.Am cautat pe site-ul TI.Ei vorbesc de particularizare ale codului de boot, dar ele nu explica despre modul de descărcare codul de modificare în cizme Rom.
, Este posibil?Are cineva vreodată făcut acest lucru înainte?

Mulţumesc,
vhn

 
modify existing bootloader code in ROM.

Nu puteţi
modifica codul de bootloader-ul existent în ROM.

Este posibil să "Spune-i", de până la pornire din altă parte, dar nu de la ROM-ul aplicaţiei bootloader.for details

A se vedea SPRU095
document pentru detalii

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Zâmbi" border="0" />

- Este uşor de obţinut de la Google

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Zâmbi" border="0" />
 
Max Misiek.power,
Multumesc pentru raspuns.
Dacă noi nu suntem capabili de a modifica codul de boot, atunci putem avea codul nostru propriu de boot existente în unul din sectoarele şi să se asigure că nu este suprascris în orice moment?
Vreau sa fac asta pentru că cererea mea solicită pentru menţinerea două versiuni ale software-ului din Flash.În timpul rulării, bootloader-ul ar trebui să decidă care unul dintre ele pentru a executa.
O problemă mai mult Sunt cu care se confruntă este de aproximativ directivele Pragma compilator.Dacă aş scrie în codul "# pragma CODE_SECTION / DATA_SECTION ..."şi compilează, va ataşa adresa absolută de a ei?Dacă acesta este cazul, cererea mea să nu funcţioneze.
Vă rugăm să sugereze.

Mulţumesc,
vhn

 
Într-unul dintre proiectele mele, în cazul în care PROG principală în Flash este de upgrade, i codul de preparate
care le-am stocate în sectorul ultima (origine = 0x3F6000, lungime = 0x001F80).Acest cod ( "bootloader") este executat procesor tot porneşte.
address in flash), program waits for data, which are programmed into flash (address range 0x380000 - 0x3F5FFF only - can not overwrite my bootloader

În cazul în care sunt îndeplinite anumite condiţii (depinde de ce valoare sunt stocate în conformitate cu adresa de FLAGA_FLASH
în Flash), programul aşteaptă de date, care sunt programate în Flash (adresa de intervalul 0x380000 - 0x3F5FFF numai - nu se poate suprascrie bootloader-ul meu

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Zâmbi" border="0" />

).
în cazul în care alte - aceasta sare în programul principal (care porneşte de la 0x380000).

Astfel de "bootloader" este scris ca program comun.Tot ce trebuie să faci este să-i spuneţi linker unde să depoziteze (Trebuie să editaţi fişierul *. cmd legate de proiectul dumneavoastra).
section is put (into section named FLASH
, which is defined as origin = 0x3F6000, length = 0x001F80
):

Fişier exemplu este prezentat mai jos (în cazul în care plata attenttion secţiune *. text
este pus (în secţiunea numită FLASH,
care este definit ca origine = 0x3F6000, lungime = 0x001F80):

Cod:/************************************************* ***************************/

/ * Linker comanda de fişier pentru TMS320F2812 * /

/ * Preparate pentru standalone-aplicare FLASH * /

/ * Cod stocate în Flash şi copiat pentru a asigura RAM în timpul Start-Up * /

/************************************************* ***************************/

-pstn.map m / * generowanie pliku z hartă symboli w pamięci * /MEMORY

(Page 0:

RAML0L1 (rwx): origine = 0x008000, lungime = 0x002000 / *== SARAM L0L1 protejate * /

Flaga (RW): origine = 0x3F5FFF, lungime = 0x000001

FLASH (rwx): origine = 0x3F6000, lungime = 0x001F80

CSM_RSVD (R): origine = 0x3F7F80, lungime = 0x000076

BEGIN_FLASH (RX): origine = 0x3F7FF6, lungime = 0x000002

Parole (R): origine = 0x3F7FF8, lungime = 0x000008

RESET (RX): origine = 0x3FFFC0, lungime = 0x000002PAGINA 1:

RAMM0 (RW): origine = 0x000000, lungime = 0x000400

RAMM1 (RW): origine = 0x000400, lungime = 0x000400

RAMH0 (RW): origine = 0x3F8002, lungime = 0x001FFE

PIEVT (RW): origine = 0x000d02, lungime = 0xfe

)SECŢIUNILE

(Flash28_API:

(

-lFlash2812_API_V210.lib (. econst)

-lFlash2812_API_V210.lib (. text)

) LOAD = FLASH,

RUN = RAML0L1,

LOAD_START (_Flash28_API_LoadStart),

LOAD_END (_Flash28_API_LoadEnd),

RUN_START (_Flash28_API_RunStart),

PAGINA = 0/ * domyslna lokalizacja sekcji, dla brak pragm gdy nich xxxx_SECTION * /

/ * skopiowane Opisy obszarów z PDFów różnych SPRUxxx * /

. textului:> Flash, PAGINA = 0 / * cod executabil şi plutitoare-constante punct * /

. cinit:> Flash, PAGINA = 0 / * mese de iniţializat în mod explicit variabile globale şi statice * /

. reset:> RESET, pagina = 0, / TIP = DSECT * DSECT = DUMMY SECŢIUNEA * /

. CIO:> RAMM0, page = 1 / * secţiunea de date (. CIO) RAM * /

. ebss:> RAMH0 PAGINA = 1 / * Departe Global / variabile statice * /

. econst:> Flash, PAGINA = 0 / * Departe variabile constant * /

. stiva:> RAMM1, page = 1 / * Stiva de spaţiu * /

. esysmem:> RAMM0, page = 1 / * pentru funcţiile far_malloc * /

codestart:> BEGIN_FLASH, PAGINA = 0 / * conţine o sucursală lungă pentru a C-setup mediu de rutina .* /

csm_rsvd:> CSM_RSVD, PAGINA = 0 / * obszar, Musi który wyzerowany być, aby CSM chronił układ * /

parole:> parole, PAGINA = 0RAM_Code: LOAD = FLASH, pagina = 0

RUN = RAML0L1, pagina = 0

LOAD_START (_RAM_Code_loadstart),

LOAD_END (_RAM_Code_loadend),

RUN_START (_RAM_Code_runstart)FLAGA_FLASH: LOAD = flaga, pagina = 0

)
 

Welcome to EDABoard.com

Sponsor

Back
Top