This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi,
Customer is doing their own boot and app. Now we face one problem, when jump from boot to app, the app doesn't run with illegal interrupt.
What could be the issue.
Here's the configure and test:
1) cmd for boot:
BEGIN : origin = 0x080000, length = 0x000002
FLASH0 : origin = 0x080002, length = 0x001FFE
RESET : origin = 0x3FFFC0, length = 0x000002
codestart : > BEGIN, ALIGN(8)
2) cmd for app:
BEGIN : origin = 0x080000, length = 0x000002
BOOTS : origin = 0x088000, length = 0x000002
FLASH4 : origin = 0x088002, length = 0x001FFE
RESET : origin = 0x3FFFC0, length = 0x000002
codestart : > BEGIN, ALIGN(8)
bootstart : > BOOTS, ALIGN(8)
3) Codestartbranch.asm:
wd_disable:
SETC OBJMODE ; Set OBJMODE for 28x object code
EALLOW ; Enable EALLOW protected register access
MOVZ DP, #7029h>>6 ; Set data page for WDCR register
MOV @7029h, #0068h ; Set WDDIS bit in WDCR to disable WD
EDIS ; Disable EALLOW protected register access
LB _c_int00 ; Branch to start of boot._asm in RTS library
or:
LB 0x88000 ; Branch to start of boot._asm in RTS library
4) Flash ECC enable and disable are both tried, app doesn't work;
5) If download the app, without boot, app can work.
6) we did the same thing on F28377S, it works.
7) Flash app program data read and compared, they are totally the same. One is programmed through user boot, while the other is programmed through jtag (without boot).
Thanks a lot.
Br, Jordan
BEGIN : origin = 0x080000, length = 0x000002 - This is kept same in boot and app. This cant be the same.
You need to have different start address for app and from boot you need to jump to this address.
Boot starts from 0x088000, so this is needed: BEGIN: origin=0x088000, length=0x000002. Right?
Br, Jordan
Hi,
Another issue boot,
1) After F28384S power on, user's boot runs. It downloads app to Flash. After downloading, it jumps to app BEGIN, but failed. We don't know where the PC is;
2) But if power off and power on F28384S again, it runs from boot and jump to app successfully. In boot, if app is already programmed, it will jump to app.
What could be the issue?
In F28374S, customer did the same thing and it worked.
Thanks a lot.
Br, Jordan
As i understand from Flash team we have to power cycle after firmware update with flash APIs.
Is this a special request (power cycle) for F2838x?
On F2837x, we don't have these issues.
Br, Jordan
Another doubt, if power cycle is needed, can WD reset be used to replace pwer cycle?
Br, Jordan
i would like correct my previous response as i got clarification on flash API. It seems that we dont need reset after programming.
So in this case it should have worked. i dont have additional clues of what might be happening. If possible you can step through the code after programming flash to understand what is happening.
incase you want to power cycle WD reset should be good enough.