blackmagic-debug / blackmagic

In application debugger for ARM Cortex microcontrollers.
GNU General Public License v3.0
3.15k stars 762 forks source link

Add support for the Texas Instruments CC2538 #917

Open huegelcesar opened 2 years ago

huegelcesar commented 2 years ago

First of all, thank you for your amazing project!!

I would like to have the blacksphere/blackmagic supporting the Texas Instruments CC2538 debugging and flashing.

Is that possible? I'm willing to collaborate with you. I have the necessary time and the target device, but I'm not clear where to start

Thank you!

UweBonnes commented 2 years ago

The CC2538 is a CortexM, so debugging is possible in principle. However is uses cJTAG by default and must be active switched to JTAG. BMP does not talk cJTAG (yet), so this switch sequence is needed. My advice: get BMP hosted going with any supported adapter. Start to add the switching sequence. Then at least debugging should be possible. Then add proper target detection and the programming algos. This all can be done w/o reprogramming the firmware. cJTAG support would need firmware changes. Final integration in master is possible, if the new code is not too flash hungry.

huegelcesar commented 2 years ago

What do you mean by "get BMP hosted going with any supported adapter"?

UweBonnes commented 2 years ago

Read the wiki, read the code, scan old discussions, ask specific questions.

esden commented 2 years ago

Hi @huegelcesar,

Welcome to black magic! :)

Adding this hardware should be fairly easy. The flash programming algorithm can probably be derived from other already supported TI parts. Then we need to add the hardware ID to the database.

The best place to look is in the src/target directory, each group of similar MCU cores has their own .c file with the necessary hooks implemented. If you are lucky all you need to do is to add your particular chip to one of them.