Other Parts Discussed in Thread: CC2651P3, SYSBIOS, , CC2651R3
Hi, I have been battling this issue for a few weeks. I have a working app. that is NOT using the BLE lib's so far.
Now has come the time to merge my app. source code into "simple_peripheral" for the CC26xx processor.
I have been using the CC2652R1 so far. However we bought 50 pieces of the XCC2651RF1 part a year ago
and now find we have to use them as NONE of the production parts are available until 2023.
The problem I have is TI seems to not have a correct SDK for these proto. X parts. I have gotten my application
to run on the part, as well as the simple_peripheral BLE and both work well. (The BLE example only uses the
BTN1/2, LED RED/GREEN pins).
My app. will run on either part, doesn't care, I don't use the missing UART channel. However I do need the other
pins to be working, and even though the production part (and SDK) have them locked out in syscfg editor the
way I got them to work shows me these XCC parts have the pins where I need them (board layout locks me in).
So, what I'm trying to do is find a configuration that works to build this so it runs and does lock up in a spin loop
at start up due to the "wrong library" issue. I don't care about that for these 50 parts and our proto. run.
Either I take a CC2652R1 sample and make it not lock up by patching out the checks for CPU TYPE and VER
and anything else that would lock it up. Or I take a CC2651P3 SDK example code and make it allow me to use
the pins I have to have due to board layout. (Pins are: DIO0,DIO1,DIO4) (Note: DIO2&3 are UART, N/A).
I CAN NOT FIND an SDK that allows the XCC2651RF1 part selection as most likely as it's a factory proto. part
and no longer available either, fine. I think for a short time TI may have had an SDK that would work with the
XCC2651RF1 part, but it is long forgotten now. My company wants to use the 50 parts we have so I need to find a
way to build for them.
I have been through the wringer on sifting through TI's source code. There are two places it seems to check
for the correct CPU in the library: 1) in the ROM, 2) in the driverlib in my app. I commented out the driverlib
that is in 'chipinfo.c' but the code hangs before than in the ROM version of this check, there are two? I have
not found a way to patch out the ROM version or even rebuild the ROM code.
I think I found it's source code that is zipped up but not sure how or when this gets built, maybe it comes prebuilt
in the SDK install? Not sure, need help on that. I'm not even really sure how a "ROM" us used being this is an all
FLASH device, so I think ROM is an old adage being used still and mimiced in TI's SDK's, perhaps some CPUs do
have a separate ROM but these are all FLASH parts so the ROM image is there and must contain the TI RTOS
and boot code. How do I modify and rebuild this?
It appears this folder in the simple_peripheral demo project makes the ROM library, but it is not clear to me
that a "clean" at the top level cleans the sysbios stuff so a "full rebuild" remakes all of the FLASH image.
# ======== convenient build goals ========
.PHONY: sysbios
sysbios: $(GEN_SRC_DIR)/sysbios/rom_sysbios.aem4f
# CDT managed make executables depend on $(OBJS)
OBJS += $(sysbios_LIB)
#
# ======== rules ========
#
$(sysbios_LIB): .force
@echo making $@ ...
@$(MAKE) -C $(sysbios_SRC)
.sysbios_clean:
@echo cleaning $(sysbios_SRC) ...
-@$(MAKE) --no-print-directory -C $(sysbios_SRC) clean
#============================
Maybe TI expects a CCS user to drop to command line and get in that folder and run 'make' the usual
old fashioned way outside of the IDE? (i.e. make clean, make all).
So, if that rebuilds the ROM lib, great. I still CAN NOT find the "NOROM_ThisLibraryIsFor-----" routine
source code to patch it out for the ROM lib. I can only find the one stated above in 'chipinfo.c'.
Please find a way to simplify this for me so I can do what I need to to build BLE into or along with my
application code and get to the next level and make the team leader happy.
Thanks, Marc Y.
CCS Linux version 11
SDKs: /ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40 (I've tried the newer ones, same issues or worse).
MCU: CC25x2R1 (Launchpad), and XCC2651RF1 (on my custom board)
Dev. OS: Linux Mint 20