Hello,
I don't understand Keil options for target.
Why do I need to set IROM1 and IRAM1 start addresses and their sizes? Is there a risk that I'll burn OTP-memory? Where can I see the memory addresses of different RAMs? So far I just followed quick start guides instructions. I also found some information about memory positions on um-b-015 page 19 (software architecture).
What does 'I' mean in the beginning of IROM/IRAM?
Hi,
You do not need to set the IROM1 and IRAM1 settings in the Keil options for target. These settings are overruled by the settings as defined in the scatter file. This scatter file determines the memory mapping.
More information on the memory map and scatter file can be found in the note um-b-011 user manual:
http://support.dialog-semiconductor.com/um-b-011-user-manual-da14580-mem...
Best regards,
RvA (Dialog)
Hi,
thank you for the clarification
Dear Dialog,
The IROM1 and IRAM1 settings specified for entry within the 'target' tab by the Development Kit User Manual for the peripheral_examples project are 0x20000000/0x8000 and 0x20008000/0x4000 respectively (p27 of UM-B-014). However, the published memory map within UM-B-011 gives 38K of internal RAM from 0x20000000 to 0x200097ff. The IRAM1 space thus appears to go beyond the available memory within the DA14850. Have I misunderstood something ?
Thanks and regards
Dear huwjones,
Yes you are right on the IRAM mapping settings not being correct. However the memory map referred to in UM-B-011 refers to a memory mapping of the memory space specific for a BLE application. The peripheral_examples project just looks at the DA14580 as an M0 core + physically available RAM.
The physical system/exchange RAM ranges from 0x20000000 to 0x2000A7FF, having a size of 42kB. In the Keil target options this available range is split into IROM from 0x20000000 to 0x20008000 and IRAM from 0x20008000 to 0x2000A7FF. This means that the IRAM size must be set to 0x27FF.
The peripheral_examples project is one of the few projects not using the scatter file. So here the right IROM and IRAM settings have to be made in the Keil target options. For the other projects scatter files overwrite any settings made in these fields.
I got the same problem. Compile without errors. When debugging CTRL F5. Get the following results:
VTarget = 3.002 v
State of Pins:
TCK: 0, TDI: 0, TDO: 1, TMS: 1, TRES: 1, TRST: 1
Hardware-Breakpoints: 4
Software-Breakpoints: 8192
Watchpoints: 2
JTAG speed: 1000 kHz
Full Chip Erase Done.
No Algorithm found for: 20000000H - 20001D5BH
Programming skipped!
Error: Flash Download failed - "Cortex-M0"
嗨
Ruud
Goto Options for target -> Utilities-> uncheck "update target before debugging " & try .it worked for me .
嗨, hrg,
Thank you for posting that. I had the same problem and that fixed it.
Welcome )