I'm digging into a BLE product based on a CC2541 MCU (similar to the Texas Instruments SensorTag). So for experimenting we can use an official firmware: http://processors.wiki.ti.com/images/1/10/SensorTagFW_1_5.zip

binwalk does not give any results. strings give some valid information, so the file is ok.

Reading the datasheet for CC2541 tells it is a 8051 controller. (?)

So i tried:

root@kali:~/bm2# radare2 -a 8051 firmware.bin 
Cannot set bits 32 to '8051'
Cannot set bits 32 to '8051'
 -- Use 'e' and 't' in Visual mode to edit configuration and track flags.
[0x00000000]> aaaa
[*** invalid %N$ use detected ***th sym. and entry0 (aa)

I know there is an open bug about %N$: https://github.com/radare/radare2/issues/3944

Do i do it all wrong, or can somebody point me in the right direction? A bit unsure about the MCU settings and bitsize though.

  • there are multiple firmware download links on the SensorTag Firmware page. Which firmware image are you actually working with? In other words, provide the direct download link and md5sum
    – julian
    Jan 9 '18 at 4:24
  • 1
    Thanx. Changed to direct link to v 1.5. MD5: 6039897a3d9b111ca5b139055162eb6c
    – Rune
    Jan 9 '18 at 19:57

This issue is now fixed and you should be able to load the firmware with the command line you tried.

Also check out the recent addition to the r2 documentation for more details about 8051 support. https://github.com/radareorg/radare2book/blob/master/arch/8051.md

  • 1
    Updated link to point at the new location.
    – astuder
    Nov 8 '19 at 21:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.