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)?