Name Date Size #Lines LOC

..--

CMSIS/H25-Apr-2025-4,5012,475

ti/H25-Apr-2025-138,36693,387

.gitignoreH A D25-Apr-20254 21

MakefileH A D25-Apr-202511.2 KiB310238

Makefile.defsH A D25-Apr-20253.8 KiB15363

README.mdH A D25-Apr-20253.9 KiB6535

btstack_config.hH A D25-Apr-20251.5 KiB5337

hal_flash_bank_msp432.cH A D25-Apr-20254.8 KiB12255

hal_flash_bank_msp432.hH A D25-Apr-20252.4 KiB7318

linker_script_gcc.ldH A D25-Apr-20254.5 KiB143124

main.cH A D25-Apr-202520.9 KiB688483

ozone.jdebugH A D25-Apr-202519.3 KiB312286

startup_msp432p401r_gcc.cH A D25-Apr-202512.8 KiB262138

system_msp432p401r.cH A D25-Apr-202514.7 KiB403220

README.md

1# BTstack Port for MSP432P401 Launchpad with CC256x
2
3This port is for the the TI MSP432P401R Launchpad with TI's CC256x Bluetooth Controller using TI's DriverLib (without RTOS).
4For easy development, Ozone project files are generated as well.
5
6As the MSP432P401 does not have support for hardware RTS/CTS, this port makes use of Ping Pong DMA transfer mode
7(similar to circular DMA on other MCUs) to use two adjacent receive buffers and raise RTS until a completed buffer is processed.
8
9## Hardware
10
11[TI MSP432P401R LaunchPad](https://www.ti.com/tool/MSP-EXP432P401R)
12
13As Bluetooth Controller, there are two BoosterPacks that can be use:
141. [BOOST-CC2564MODA CC2564B BoosterPack](https://www.ti.com/tool/BOOST-CC2564MODA) (USD 20)
152. [Evaluation Module (EM) Adapto](https://www.ti.com/tool/TIDM-LPBP-EMADAPTER) (USD 20) with one of the CC256x modules:
16    - [CC2564B Dual-mode Bluetooth® Controller Evaluation Module](https://store.ti.com/cc2564modnem.aspx) (USD 20)
17    - [CC2564C Dual-mode Bluetooth® Controller Evaluation Module](https://store.ti.com/CC256XCQFN-EM-CC2564C-Dual-Mode-Bluetooth-Controller-Evaluation-Module-P51277.aspx) (USD 60)
18
19The CC2564B Booster pack is around USD 20 while thhe EM Adapter with the CC2564C module is around USD 80.
20
21The project in the BTstack repo `port/msp432p401lp-cc256x' is configured for the EM Adapter + newer CC2564C module.
22
23When using the CC2564B (either as BOOST-CC2564MODA or CC2564B Dual-mode Bluetooth® Controller Evaluation Module), the *bluetooth_init_cc2564B_1.8_BT_Spec_4.1.c* must be used as cc256x_init_script. See Makefile variable INIT_SCRIPT.
24
25When using the CC2564B Booster Pack, please use uncomment the defines for the GPIO definition (search for `BOOST-CC2564MODA`)
26
27When using the EM Adapter Booster Pack, please make sure to solder a 32.768 kHz quarz oscillator as explained in 4.7 of the [EM Wireless Booster Pack User Guide](http://www.ti.com/lit/ug/swru338a/swru338a.pdf). If you don't have an oscillator of that size, you might solder one upside done (turtle-on-back style) to the unused upper right pad and wire GCC, VCC, and clock with thin wires.
28
29
30## Software
31
32To build all examples, you need the regular ARM GCC toolcahin installed. Run make
33
34	$ make
35
36All examples and the .jdebug Ozone project files are placed in the 'gcc' folder.
37
38
39## Flash And Run The Examples
40
41The Makefile builds different versions:
42- example.elf: .elf file with all debug information
43- example.bin: .bin file that can be used for flashing
44
45There are different options to flash and debug the MSP432P401R LaunchPad. If all but the jumpers for power (the left three) are removed on J101, an external JTAG like SEGGER's J-Link can be connected via J8 'MSP432 IN'.
46
47## Run Example Project using Ozone
48
49When using an external J-Link programmer, you can flash and debug using the cross-platform [SEGGER Ozone Debugger](https://www.segger.com/products/development-tools/ozone-j-link-debugger/). It is included in some J-Link programmers or can be used for free for evaluation usage.
50
51Just start Ozone and open the .jdebug file in the build folder. When compiled with `ENABLE_SEGGER_RTT`, the debug output shows up in the Terminal window of Ozone.
52
53
54## Debug output
55
56All debug output is send via SEGGER RTT or via USART2. To get the console from USART2, remove `ENABLE_SEGGER_RTT` from btstack_config.h and open a terminal to the virtual serial port of the Launchpad at 115200.
57
58In btstack_config.h resp. in example/btstack_config.h of the generated projects, additional debug information can be disabled/enabled via ENABLE_LOG_INFO.
59
60Also, the full packet log can be enabled in main.c  by uncommenting the hci_dump_init(..) line. The output can then be converted into .pklg files for OS X PacketLogger or WireShark by running tool/create_packet_log.py
61
62
63## GATT Database
64In BTstack, the GATT Database is defined via the .gatt file in the example folder. The Makefile contains rules to update the .h file when the .gatt was modified.
65