I want to create bootloader which can update software with RS232 in Blackfin BF504F.
My idea to create next Flash layout:
0x0000 ... 0xFFFF - Bootloader code (first 64K)
0x10000 ... 0xF0000 - Main application code (~960K)
Other - reserved.
Bootloader will run at start always and check state of main app. If something wrong - bootloader just wait for Host command from PC with RS232 for start update process.
This helps final device to avoid situations when main application is brocken.
I tried to use this code for booting application in 0x10000 offset:
*pSIC_IWR1 |= (IRQ_DMA12 | IRQ_DMA14);
But CPU falls into __unknown_exception_occurred and application is not starts. Im store LDR file in Bin format to 0x10000 offset of Flash with "Flash Programmer".
I think maybe problem because my bootloader software uses L1 memory as code placement and new software just rewrite memory while it working...
But how i can starts my application with bootloader?
Maybe anybody can helps me?