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

About MBR area of softdevice

Hi, I'm using s130 as softdevice for nrf51822. I program the softdevice with the official s130 hex file. According to the hex file, there is no data at address from 0x7c0 to 0x1000. This is the reserved area for MBR. So I don't want to touch this address area, and just program other area with data. But the chip is finally stuck at the address 0x596 if there is some old data left at the area from address 0x7c0 to 0x1000. If I erase this area or just set the area to 0. Then the chip works file.

So looks like we have to set the area from address 0x7c0 to 0x1000 to all 0x0 or 0xFF data, otherwise the softdevice can't work fine.

My confuse is why we have to clear this area? Looks like this is a useless area, and should not effect anything. If we have to clear this area, then does it mean we should add this information to hex file of s130?

Parents
  • Hi,

    This area should not be touched.

    Could you provide more detailed info on what operation you're performing?

    Cheers Håkon

  • Hi, I program some invalid binary file to the FLASH to override the softdevice area firstly. Then I try to program the softdevice hex file into the flash. When programming the softdevice I just ignore the reserved area from address 0x7c0 to 0xFFF according to the s130 hex file. Then this area(0x7c0 to 0xFFF) will keep the old invalid data. Then I program and run my application with this softdevice. It can't work fine and get stuck at the address 0x596. I tried to erase the reserved area(from address 0x7c0 to 0xFFF) to 0xFF, or set this area to all 0x0, then everything works fine. Theoretically this area should not effect anything since it is useless area according to the s130 hex file. The hex file has ignored this area. But from my test, looks like this area has effected the running of the softdevice. Why can this happen?

Reply
  • Hi, I program some invalid binary file to the FLASH to override the softdevice area firstly. Then I try to program the softdevice hex file into the flash. When programming the softdevice I just ignore the reserved area from address 0x7c0 to 0xFFF according to the s130 hex file. Then this area(0x7c0 to 0xFFF) will keep the old invalid data. Then I program and run my application with this softdevice. It can't work fine and get stuck at the address 0x596. I tried to erase the reserved area(from address 0x7c0 to 0xFFF) to 0xFF, or set this area to all 0x0, then everything works fine. Theoretically this area should not effect anything since it is useless area according to the s130 hex file. The hex file has ignored this area. But from my test, looks like this area has effected the running of the softdevice. Why can this happen?

Children
No Data
Related