This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF51822 with emIDE and complete datasheet

I am starting with Nordic nRF51822 and I would like to know if do you have some samples for use with emIDE (I liked it because you don't have size limitation). And I had some doubts about interrupts implementation because the datasheet I downloaded doesn't have deep information about special register, interrupts neither instruction set. Do you have a more complete datasheet?

Parents
  • Thank you Morten.Your documentation helped a lot. I've got another issue trying it. In the ASM file "gcc_startup_nrf51.asm" used in some projects there is a piece of code that sometimes get stuck and I would like to know what this code does. Why it copies data from Flash to RAM? Do you know it?

    /* Loop to copy data from read only memory to RAM. The ranges

    • of copy from/to are specified by following symbols evaluated in
    • linker script.
    • __etext: End of code section, i.e., begin of data sections to copy from.
    • data_start/data_end: RAM address range that data should be
    • copied to. Both must be aligned to 4 bytes boundary. */
    ldr    r1, =__etext
    ldr    r2, =__data_start__
    ldr    r3, =__data_end__
    
    subs    r3, r2
    ble     .LC0
    

    .LC1: subs r3, 4 ldr r0, [r1,r3] str r0, [r2,r3] bgt .LC1 .LC0:

Reply
  • Thank you Morten.Your documentation helped a lot. I've got another issue trying it. In the ASM file "gcc_startup_nrf51.asm" used in some projects there is a piece of code that sometimes get stuck and I would like to know what this code does. Why it copies data from Flash to RAM? Do you know it?

    /* Loop to copy data from read only memory to RAM. The ranges

    • of copy from/to are specified by following symbols evaluated in
    • linker script.
    • __etext: End of code section, i.e., begin of data sections to copy from.
    • data_start/data_end: RAM address range that data should be
    • copied to. Both must be aligned to 4 bytes boundary. */
    ldr    r1, =__etext
    ldr    r2, =__data_start__
    ldr    r3, =__data_end__
    
    subs    r3, r2
    ble     .LC0
    

    .LC1: subs r3, 4 ldr r0, [r1,r3] str r0, [r2,r3] bgt .LC1 .LC0:

Children
Related