Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Any other microcontroller based boards
User avatar
MoDu
Posts: 65
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by MoDu » Fri Apr 05, 2019 10:50 am

After a bit of research, it seem the CC1310 is the best IC I can get for sub-GHz radio applications.
I would like to try the IC and see if I can get my applications run in it, but I'm not sure VisualGDB supports and I really hate setting up toolchains. I've looked at Energia Arduino IDE from Ti, but it reminds me too much of the early STM32Duino custom Arduino IDE, has anyone had success with it?

EDIT: Moderators, I posted this in the wrong forum , can you move to other MCUs?
Moderator: I moved this to "All other boards" as it seems you want to use the cc1310 as a smart rf module.
Last edited by MoDu on Fri Apr 05, 2019 7:43 pm, edited 2 times in total.

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia?

Post by Rick Kimball » Fri Apr 05, 2019 1:06 pm

Seems like a neat SOC radio chip for Sub-GHz, if you don't mind living in the TI software ecosystem (Code Composer Studio/TI-RTOS). If you are going to use something like this, you are probably going to want to use an RTOS. I was trying to find the thread on the e2e.ti.com site that talks about FreeRTOS and they just shut the conversation down, the jist of it was, "if you want to get support here on e2e.ti.com then we really only support the cc1310 via TI RTOS. This might be the link http://e2e.ti.com/support/wireless-conn ... 6/t/616661 or wait, probably this one https://e2e.ti.com/support/wireless-con ... 99/1856386 However, my recent experience with these chips is lacking so all of this may have been fixed by now.

As far as boards go, it is probably easiest to start with the Launchpad (~$30). The CC1310 launchpad comes with an onboard CMIS-DAP (xds110) for doing jtag programming and debugging. However, if you like opensource solutions, getting it to work with openocd is problematic: https://e2e.ti.com/support/tools/ccs/f/ ... 32#1915532 I actually just tried this yesterday without good results. I was able to connect using gdb but when I did a mon reset init, it lost its mind. It did let me step through the code so it isn't a complete failure. Probably just needs some tweaking. You shouldn't expect it to work out of the box though. Then again, I have a very early version of this board so it could be the newer ones work just fine.

I have two of the cc1310 launchpad boards. They are the TI's next generation SOC radio/mcu combo I think from the same group ( Chipcon acquired by TI? ) that did the cc430 SOC (msp430+8051 radio). I think you can probably get the cc430 and cc1310 Sub-GHz radios to talk if you stick with the TI eco system. For me though, I didn't do much with them because I really don't want to learn TI-RTOS and I don't want to be tied to Code Compose Studio.

CCS is a really complete, and completely free eclipse based IDE. It is probably great for someone on windows, it works on linux but the documentation and sample project integration seems to have issues. I end up just using a browser to go to http://dev.ti.com. You might want to look at the examples available for the CC13xx boards to see if that is something you like. Download CCS and give it a spin. It costs you nothing other than the time it takes to create a ti.com account.

(NOTE: I have a jaded view of TI stuff so I'm probably not the best person to be commenting. You should probably seek other viewpoints : ) )
-rick

User avatar
MoDu
Posts: 65
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia?

Post by MoDu » Fri Apr 05, 2019 1:47 pm

Thank you so much Rick, that's exactly the type of info I'm looking for.
Rick Kimball wrote:
Fri Apr 05, 2019 1:06 pm
Seems like a neat SOC radio chip for Sub-GHz, if you don't mind living in the TI software ecosystem (Code Composer Studio/TI-RTOS). If you are going to use something like this, you are probably going to want to use an RTOS. I was trying to find the thread on the e2e.ti.com site that talks about FreeRTOS and they just shut the conversation down, the jist of it was, "if you want to get support here on e2e.ti.com then we really only support the cc1310 via TI RTOS.
(...)
I have a jaded view of TI stuff so I'm probably not the best person to be commenting. You should probably seek other viewpoint.
Don't worry, I'm warry as **** when it comes to Texas. They're tools are usually horrible and they try to vendor lock you at every single step.
My saving grace is still intend to use it as a I2C/SPI slave device, so I can offload the RF stack (and base functionality) to the CC and have the STM32 control it. So dealing with a custom IDE and tools shouldn't be too bad, I don't want to run my big project there, only the radio stuff. But my RF stack is implemented on Arduino (works on AVR and Roger's), hence my interest in the Energia thingy, I don't need to spend much time on it, just enough to port my stack and make a I2C/SPI slave out of it. I do have to consider how my stack will work on a RTOS, because with the scheduler I know everything works sequentially, might have to add a few checks.
Rick Kimball wrote:
Fri Apr 05, 2019 1:06 pm
As far as boards go, it is probably easiest to start with the Launchpad (~$30). The CC1310 launchpad comes with an onboard CMIS-DAP (xds110) for doing jtag programming and debugging.
Already ordered a launchpad and a cheap ebay board to test stuff.
Rick Kimball wrote:
Fri Apr 05, 2019 1:06 pm
(..) They are the TI's next generation SOC radio/mcu combo I think from the same group ( Chipcon acquired by TI? ) that did the cc430 SOC (msp430+8051 radio). I think you can probably get the cc430 and cc1310 Sub-GHz radios to talk if you stick with the TI eco system. For me though, I didn't do much with them because I really don't want to learn TI-RTOS and I don't want to be tied to Code Compose Studio.
Thanks, I didn't find out that older SoC. With 5€ CC1310 modules and the full software support from Ti, I don't think there's a reason to go for the CC430.
Rick Kimball wrote:
Fri Apr 05, 2019 1:06 pm
CCS is a really complete, and completely free eclipse based IDE. It is probably great for someone on windows, (...)Download CCS and give it a spin. It costs you nothing other than the time it takes to create a ti.com account.
For better or worse, I already have a Ti account. They were the only company that rejected sending me samples (for electronics startup, a few years ago).
I'm gonna check out CCS, need to spin a new VM this weekend to try these tools and see if I can get a Blink sketch running when the boards arrive.

What projects did you make with the CCs?

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia?

Post by Rick Kimball » Fri Apr 05, 2019 2:00 pm

So you got me re-interested in the CC1310. Things do get fixed if you wait long enough with TI ( it took 3 years to get a USB desciptor tool fixed even after I had disassembled the java code and told them how to fix it at the start ). They seemed to have relented on the TI-RTOS only theme and they have some NO RTOS samples and an SDK.

In dev.ti.com I took a look at what they are providing for examples now. I found this gcc no rtos example.

http://dev.ti.com/tirex/#/?link=Softwar ... LAUNCHXL.c

I installed the SimpleLink sdk on my linux CCS install and was able to compile and get this to run on my board. Debugging worked nicely. There wasn't any sight of the strange TI-RTOS xdc build tools, just plain old arm-none-eabi-gcc and a quick ~10 file compile, link, and debug.

OK, I'm going to have to give this a re-think and maybe spend some time with those boards.

BTW: I forgot to mention this. If you don't want to install CCS locally, you can use their use their online CCS Cloud tool to import sample projects, compile, link and debug all from the web. You can ever download the CCS project it creates and then use it locally. * This is how I have used it in the past because of the problem I have with the linux integration of samples *.

Image
-rick

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia?

Post by Rick Kimball » Fri Apr 05, 2019 2:23 pm

MoDu wrote:
Fri Apr 05, 2019 1:47 pm
... But my RF stack is implemented on Arduino (works on AVR and Roger's), hence my interest in the Energia thingy, I don't need to spend much time on it, just enough to port my stack and make a I2C/SPI slave out of it. I do have to consider how my stack will work on a RTOS, because with the scheduler I know everything works sequentially, might have to add a few checks.
I would stay away from Energia, I used to contribute to it ; ) Seriously though, even though it is an "opensource" project the only people now working on it are TI employees. You will often find that when they release new code, it fixes some board and breaks another. It is a constant source of frustration. The cores use binary blobs of TI proprietary code and executable that you don't get the source to so you can't rebuild it from scratch. When Energia started, it was using all open source tools and had more contributors with that desire. Now, it seems at every turn they replace opensource with libraries and executables that are TI proprietary and lacking source code.

If you do want to use this chip, I would concentrate on using CCS to build it. You can use the no rtos stuff and have a fairly clean custom RF processor.

Are the Ebyte modules the cheap cc1310 ebay boards you use? Those seem quite reasonably priced ~$6.
-rick

User avatar
MoDu
Posts: 65
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia?

Post by MoDu » Fri Apr 05, 2019 3:10 pm

Rick Kimball wrote:
Fri Apr 05, 2019 2:23 pm
I would stay away from Energia, I used to contribute to it ; )
Not surprised :)
Rick Kimball wrote:
Fri Apr 05, 2019 2:23 pm
You can use the no rtos stuff and have a fairly clean custom RF processor.
That's perfect!
Rick Kimball wrote:
Fri Apr 05, 2019 2:23 pm
Are the Ebyte modules the cheap cc1310 ebay boards you use? Those seem quite reasonably priced ~$6.
Yup.
Rick Kimball wrote:
Fri Apr 05, 2019 2:23 pm
So you got me re-interested in the CC1310.
:mrgreen:

To be frank, I'm researching this for the next step of my RF stack, because right now I'm spending like 40% of my transmission time just spitting stuff to SPI! (on a Si4463). Since my goal is low latency, taking out 500 micros would definitely make very happy.

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia?

Post by Rick Kimball » Fri Apr 05, 2019 4:27 pm

FWIW: I did a $ rm -rf ~/ti and then installed the latest CCS 9.0 ( .. i hate things that are something.0) and this seemed to have fixed all the issues I previously encounted with the embedded web documentation browser and the examples. I'm able to use this as you would expect at least on ubuntu 18.04.
-rick

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by Rick Kimball » Fri Apr 05, 2019 9:58 pm

So tell me more about your RF stack. I've loaded all the goodies, CCS, CC13x0 sdk, even the windows based SmartRF Studio.

I like the idea of making TI a slave to me ;)
-rick

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by Rick Kimball » Sat Apr 06, 2019 8:18 pm

I noticed that TI now has a cc1312 chip, an upgraded CC1310. Like McDonald's, they supersized the RAM from 28KB to 88KB, the CPU from cortex-m3 to cortex-m4f, and they even threw in more peripherals.

With the new chip comes a new launchpad. The LAUNCHXL-CC1312R1 launchpad has added the realtime EnergyTrace feature you find on the newer msp430 launchpads. The on-board EnergyTrace circuit on the SimpleLink CC1312R LaunchPad kit allows real time monitoring of internal device states while user program code executes. EnergyTrace technology is available as part of TI's Code Composer Studio IDE. This means anything you power from the board is monitored and measured. So you could add an nrf24l01 powered from the launchpad and watch how your coding affects the power usage of everything including the nrf24l0. EnergyTrace helps to make sure your code is actually going into power save mode when you think it is.

With the new msp430frxxxx chips there is actually silicon support for EnergyTrace++. The plusplus being significant. It allows the tracking of which function is executing and all the different states of the chip. That data is used by the CCS software to tell you how much power is being used by a specific function in realtime, which is really cool and useful. Also the some of MSP430 have upwards of 5 levels of power saving, it is pretty easy to write code thinking you can switch to a lower level, but the fact that you are actively using a specific clock and peripheral that might prevent the lower level power. Scanning the docs for both the CC1310 and the CC1312, I don't see special silicon to support EnergyTrace, so you aren't going to get function level power usage but it is still useful. I'm pretty sure you could power the CC1310 from the CC1312 EnergyTrace from the debug unit as all the JTAG signals are jumpered. This lets you disconnect the programmer+energytrace from the target chip and use it with an offboard chip. Hmm, makes me wonder if I could use it with a bluebill ... I'll have to give that a try.

Meanwhile, I messed around with the tools, the windows based smartrf applications makes it really easy to twiddle the different features of the chip without writing any code. When you decide on a radio configuration, you save it off and just include it in your program as a c structure that the ROM based init code will call and initialize the radio. Pretty slick. I was to take the NORTOS sample code and load it on one CC1310 as a receiver and then use the smartrf application as a sender to test. That is really handy.

So I guess I'm back in the mode of being cautiously optimistic about that chip. One thing I really should do is create a virtual machine snap shot of all this stuff so I can go back to it some time in the future when the have obsoleted all the hardware and the toolchain software ;)
-rick

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by Rick Kimball » Sat Apr 06, 2019 9:03 pm

To answer my own question about the xds110 on the TI launchpad, yes you can power and debug an stm32f103c8t6 bluepill from it. I used the CC1310 launchpad to test this theory out.
$ openocd -f interface/xds110.cfg -f target/stm32f1x.cfg
Open On-Chip Debugger 0.10.0+dev-00510-g766d611 (2018-08-07-16:43)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
adapter speed: 500 kHz
adapter_nsrst_delay: 100
none separate
cortex_m reset_config sysresetreq
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : XDS110: connected
Info : XDS110: firmware version = 2.3.0.18
Info : XDS110: hardware version = 0x002b
Info : XDS110: connected to target via SWD
Info : XDS110: SWCLK set to 2500 kHz
Info : clock speed 500 kHz
Info : SWD DPIDR 0x1ba01477
Info : stm32f1x.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Listening on port 3333 for gdb connections
Then to connect to it:
$ arm-none-eabi-gdb -q -ex 'target remote :3333'
Remote debugging using :3333
warning: No executable has been specified and target does not support
determining executable automatically. Try using the "file" command.
0x0800004c in ?? ()
(gdb) x/4x 0x08000000
0x8000000: 0x20005000 0x080000a9 0x00000000 0x00000000
(gdb) x/16i 0x080000a9
0x80000a9: ldr r0, [pc, #64] ; (0x80000ec)
0x80000ab: mov sp, r0
0x80000ad: movs r2, #0
0x80000af: ldr r3, [pc, #40] ; (0x80000d8)
0x80000b1: ldr r1, [pc, #40] ; (0x80000dc)
0x80000b3: cmp r3, r1
0x80000b5: bcc.n 0x80000ca
0x80000b7: ldr r2, [pc, #40] ; (0x80000e0)
0x80000b9: ldr r3, [pc, #40] ; (0x80000e4)
0x80000bb: ldr r0, [pc, #44] ; (0x80000e8)
0x80000bd: cmp r3, r0
0x80000bf: bcs.n 0x80000d0
0x80000c1: ldr.w r1, [r2, #4]!
0x80000c5: str.w r1, [r3], #4
0x80000c9: b.n 0x80000bc
0x80000cb: str.w r2, [r3], #4
(gdb)
So that tells me, that if you get the EnergyTrace CC1312 Launchpad you can probably use it with CCS to measure the power usage on an stm32f103 hmm .. lots of possibilities there. I might have to snag one of those. It also means to use it with CCS, you'd have to conform to the way CCStudio would use it. That would mean running their gdb_agent gdb server and creating .gel script files for CCS instead of using openocd. Hmm .. that would require some time spent figuring out the configuration. I check into it. More to come later.

But to be honest, if the goal is to get energy trace with an stm32 chip, I should probably get an msp432 launchpad, as those have and xds110 with the energy trace circuitry at a much lower cost.
-rick

Post Reply