Hello,
I work with the Nordic nRF52832 development board, it has flash memory of 512KB.
The projects that i build and upload using keil uvision 5 appear to generate .axf files that exceed that 512KB size, thus the board does not perform required operations.
Please suggest any solutions to decrease the size of the .axf file, or any other suggestions you may have.
Thank you.
According to the following snippet from the build output window, the .axf file is the one that gets loaded onto the board.
linking... Program Size: Code=8512 RO-data=1124 RW-data=120 ZI-data=8704 FromELF: creating hex file... ".\_build\nrf52832_xxaa.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 00:00:28 Load "C:\\Users\\User\\Desktop\\New folder\\examples\\ble_peripheral\\ble_app_beacon\\pca10040\\s132\\arm5_no_packs\\_build\\nrf52832_xxaa.axf" Set JLink Project File to "C:\Users\User\Desktop\New folder\examples\ble_peripheral\ble_app_beacon\pca10040\s132\arm5_no_packs\JLinkSettings.ini"
Also, from my observation, the boards performs operations after uploading only when the .axf file happens to be <512KB. I'm not very experienced though, so I could be wrong.
If you have any other ideas, I'd like to hear them.
The whole reason I'm asking about this is because my board doesn't do anything after i build and upload certain example projects from the nRF SDK12.2.0 but it did work for those very same ones in SDK11.0. Of course, some examples in SDK12.2.0 also do work, its just that all of the cases happen to have .axf files <512KB if they work and vice versa.
the .axf file is the one that gets loaded onto the board.
No, it doesn't. Or rather: it shouldn't.
The AXF is to be loaded into the debugger, which then flashes the ROM contents of that into the microcontroller. The project you show has only about 10 KiB of that --- so you're very far away from reaching 512 KiB. There's a whole lot more in that file than what ends up in the controller, including tons of debug information. But none of that ends up in the microcontroller.
It's possible that the debugger you use has a licensing restriction to 512 KiB AXF size, though. Or maybe you're telling it to use the AXF file as a raw binary image.
You were right. It had nothing to do with the .axf file.
I just had to flash softdevice from within keil instead of using another software.