Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
Level 1
Level 1

I'm trying to develop a firmware to toggle the P7.3 pin from XC2267 after jumping by my own Secondary Bootstrap Loader (ASC)

To do this, I am entering in BSL mode, sending byte 0x00 and receiving the acknowledge (0xD5) correctly.
Then I send 32 bytes from the Secondary Bootloader so that I can receive a bigger firmware (in this case my secondary bootloader will receive 1066 bytes).
After sending 1066 bytes, the secondary bootloader jumps to the address 0x0E00020 that will toggle pin P7.3 (I called as BlinkLed)
After jumping, I'm expecting for pin P7.3 to be in high and low level as the firmware enter into a loop that only has those instructions, but nothing happens.
I thought the problem was because it was configured as UART and I couldn't toggle the pin, so I changed the firmware to send a byte via UART (by pin p.7.3), but it didn't work either.
Now what I believe is that my BlinkLed project is not working because I should configure the project to run on address 0x0E00020 instead of 0xC000000, but I'm not sure.

Does someone have an ideia on how to configure those two projects, to enter in Bootstrap mode then jump to C application and toggle a pin ?
Below are the pieces of my code

Secondary Bootloader (assembly)

Code to toggle PIN (written in C)

C Code configuration

I also have attached below the complete code of my two projects
Hope someone can help me, because I'm working over a week on this

Some more information that might be helpful:
IDE: Dave2(creating and configurating the project) + uvision5
Compiler: keil

0 Replies