This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC3300: SDK 1.0.0.3 - issues with cc33xxconf

Part Number: CC3300
Other Parts Discussed in Thread: CC3301,

Tool/software:

Hi Experts,

When troubleshooting some issues with the new SDK kernel module and cc33xx-conf.bin, I ran into some trouble with the cc33xxconf tool.

I'm building everything with Yocto from the newest AM62 PSDK release (09.02.01.10). I had to write my own recipe to build it and based that recipe off the recipe that builds wlconf from the 18xx-ti-utils git repository. I can share the recipe, if necessary, but I want to make sure I'm using the tool properly first.

Based on the distributed HTML help files and the README file, I did some testing (on our AM62-based custom board). Two test cases are described below

NOTE: I'm working from a writable directory in the examples

1. HTML source file made it seem like I could just edit the distributed INI file and generate a new cc33xx-conf.bin. README had more info and helped me get a little further but I still ran into some issues:

root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -I /usr/sbin/cc33conf/cc33xx-conf.ini 
Couldn't open file 'struct.bin' for reading

#so I make struct.bin in CWD

root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -S ./conf.h -G struct.bin
symbol CC33XX_CONF_MAGIC found 0x10e100ca (10e100ca)
symbol CC33XX_CONF_VERSION found 0x01070070 (01070070)

#try again

root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -I /usr/sbin/cc33conf/cc33xx-conf.ini 
Couldn't get file size 'cc33xx-conf-default.bin'

# make cc33xx-conf-default.bin in CWD
## use a copy of default.conf in my test directory
root@hjost:/data/cc33xx-test# ls -l default.conf                                                  
-rwxr-x---    1 root     root         23278 Apr 28  2022 default.conf
root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -D                                    
root@aos:/data/cc33xx-test# ls -l cc33xx-conf-default.bin                                                                                                                                                                       
-rw-r-----    1 root     root          1353 Apr 28 17:51 cc33xx-conf-default.bin
## Try again with ini or conf file
root@host:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -I /usr/sbin/cc33conf/cc33xx-conf.ini 
corrupted binary file
expected checksum 0xe7025026 got 0x90529f10
root@host:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -C /usr/sbin/cc33conf/cc33xx-conf.conf                                                                                                                                
corrupted binary file
expected checksum 0xe7025026 got 0x90529f10

# query config items in the default file
root@host:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf-default.bin -g          
corrupted binary file
expected checksum 0xe7025026 got 0x90529f10


Example above shows attempts to generate a cc33xx-conf.bin from the ini and conf files distributed with the SDK in the cc33conf_src directory

2. I can however edit the existing cc33xx-conf.bin file that was distributed with the SDK.

# showing the writable test directory
root@host:/data/cc33xx-test# ls
cc33xx-conf.conf  cc33xx-conf.ini   conf.h            default.conf
root@host:/data/cc33xx-test# cp /lib/firmware/ti-connectivity/cc33xx-conf.bin .

# trying to grab config items from the .bin file
root@host:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf.bin -g |head
Couldn't open file 'struct.bin' for reading
## generate struct in CWD
root@host:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -S ./conf.h -G struct.bin                                                                                                                                             
symbol CC33XX_CONF_MAGIC found 0x10e100ca (10e100ca)
symbol CC33XX_CONF_VERSION found 0x01070070 (01070070)
root@host:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf.bin -g |head
header.magic = 0x10e100ca
header.version = 0x01070070
header.checksum = 0x00000000
phy.insertion_loss_2_4GHz = 0x00, 0x00
phy.insertion_loss_5GHz = 0x00, 0x00
phy.reserved_0 = 0x00, 0x00
phy.ant_gain_2_4GHz = 0x00, 0x00
# ... snip ...

# test items to change
root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf.bin -g | grep -e core.enable_ble -e core.enable_5ghz
core.enable_5ghz = 0x01
core.enable_ble = 0x01
## change them
root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf.bin -s core.enable_ble=0x00  
root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf.bin -s core.enable_5ghz=0x00
## verify changes
root@aos:/data/cc33xx-test# /usr/sbin/cc33conf/cc33xxconf -i cc33xx-conf.bin -g | grep -e core.enable_ble -e core.enable_5ghz
core.enable_5ghz = 0x00
core.enable_ble = 0x00


Questions:
1. Am I using this tool correctly when trying to generate a .bin file from .conf or .ini?

2. It seems, that it's the default.bin file that's corrupt. Did I generate that correctly?

3. Can you point me to a detailed explanation for the config items? I understand that they're in flux

4. Some of the config items are for CC3301, what are the implications of leaving those turned on for CC3300 (like core.enable_ble)?