[quote user="Michael Shklyarman"]There are some code fragments where breakpoints created in C source do not work, i.e. the execution does not stop at the breakpoint, while the breakpoint created at exact same place in Disassembly does work.[/quote]Are you using a project-less debug session to debug the SPL code? If so, might be suffering bug CCSIDE-3359. As described in CCS/TDA2P-ACD: Debugging GCC output for Cortex M4 using Code Composer one work-around is to create a dummy CCS project that contains the source files.
↧
Forum Post: RE: CCS/AM5728: problem setting breakpoints in C source when debugging SPL
↧
Forum Post: RE: CCS/66AK2H12: Undefined library references: __locale_ctype_ptr and __sync_synchronize
Thanks, Chester. Yes, I had tracked down the use (and lack of definitions) for __locale_ctype_ptr and also __sync_syncrhonize; I agree with your assessment. I can't load the older compiler (CCSv8 prevents me from doing that): the request is "ignored because a newer version is already installed". So it would seem that a solution is to go to an older compiler, but CCSv8 prohibits this. Do you know if I can un-install the newer compiler first? Alternately, I see that co-workers who can compile under CCSv7 gcc 6.3.1.2017-q1-update-b. I wonder if this solves the problem, and if I can find it and install it... Regards, Tim
↧
↧
Forum Post: RE: CCS/66AK2H12: Undefined library references: __locale_ctype_ptr and __sync_synchronize
[quote user="Tim Cooper1"]So it would seem that a solution is to go to an older compiler, but CCSv8 prohibits this. Do you know if I can un-install the newer compiler first? [/quote]Yes, you have to un-install the newer compiler from Eclipse before you can install an older compiler - see Installing Older Versions
↧
Forum Post: RE: CCS/TMS320C6678: resource explorer
Hi Ken, Other than some limited support for Sitara, the device families supported in Resource Explorer are MCUs. It is recommended to start with the Processor SDK when getting started with the C6678: software-dl.ti.com/.../ccs_getting-started.html Thanks ki
↧
Forum Post: RE: CCS/TMS320C6678: target configuration file
Hi Ken, CCS, by default, does not install XDS560v2 support. If you have a Blackhawk or Spectrum Digital XDS560v2 debug probe, you have the option to install those drivers when installing CCS. If you did not chose those option during CCS installation, you can re-run the installer over the existing installation and the installer will detect an existing install and allow you to add components that were not initially chosen. If you are using an XDS560v2 from another vendor, then please contact that vendor for the CCS drivers needed. If you cannot find C6678 support, you may have not selected the option for keystone support. Make sure you install keystone support: [quote user="Ken Brown"]Do I need the usb cable connected to the emulator usb port, or to the evm usb port, or both to interface code composer to run code composer projects on the target processor[/quote] There are different versions of the EVM. Are you using one with the Blackhawk XDS560v2 mezzanine card. If so, then you just need to plug a usb cable to the usb port on the mezzanine card and configure CCS to use a Blackhawk XDS560v2 mezzanine with a C6678. Please refer to your EVM documentation for more details. Thanks ki
↧
↧
Forum Post: RE: CCS/F28M35H52C: Using predefined preprocessor symbols in linker command file
Hello, I will move this thread to the compiler forum. The experts there can guide you best. Thanks ki
↧
Forum Post: RE: CCS/TMS320C6416: ROV error
Hello, I will bring this thread to the attention of the TI-RTOS experts. In the meantime, please provide more details such as your exact CCS and SYS/BIOS version being used, what instructions you were following and what the exact error message received was. Thanks ki
↧
Forum Post: RE: CCS/TMS320C6424: Code Composer V8 update installer on Windows 7 slow and not working.
[quote user="Flux"]But, the more serious case is that the installer hangs for 15 minutes or so until it suddenly pops up and starts with the installation process.[/quote]I haven 't seen that symptom, but on a Windows 10 PC with Window Defender when a CCS 8 update is installed: a. The CCS installer starts without delay. b. After the CCS installer reports it is verifying the installation, the verification takes approx 10 minutes during which time the Windows task manager shows the Antimalware Service Executable is running. While I haven't investigated think that the CCS installer does something which triggers the Antimalware Service Executable to scan files which slows down the CCS installer. What does the Windows task manager show as consuming CPU and/or performing disk access when the installer hangs?
↧
Forum Post: RE: CCS/66AK2H12: Undefined library references: __locale_ctype_ptr and __sync_synchronize
I rebuilt with an older compiler, including rebuilding pdk. This took care of __sync_synchronize. The __locale_ctype_ptr is still a problem. This is coming from a source file in NDK. It looks like TI messed this up: CCSv8 (k2h) installed NDK 2_26_00_08. This appears to have pre-compiled objects, including one (ossys.c) that has its own version of "stricmp". Rather than use some standard libs (or make some string lib functions available under the DSP side of things), the developers buried a local copy of stricmp in a network support function. However, in NDK_2_25_01_11, this same source file has the stricmp function surrounded by " #if defined (__TI_COMPILER_VERSION__), so that it is only generated when build for the DSP. In the later version, the #if def is gone, and NDK builds for the ARM now include a ctype and a local stricmp that is incompatible with the ARM tools/libraries, rather than using the ARM libraries.
↧
↧
Forum Post: RE: CCS/66AK2H12: Undefined library references: __locale_ctype_ptr and __sync_synchronize
[quote user="Tim Cooper1"]The __locale_ctype_ptr is still a problem. This is coming from a source file in NDK.[/quote]The stricmp() function in the NDK ossys.c makes use of tolower() from ctype.h Comparing the ctype.h include file in the compiler installations shows that when compiled for C tolower is implemented as a macro, and the macros in the compiler installations are different: a) gcc-arm-none-eabi-4_9-2015q3 references __ctype_ptr__ b) gcc-arm-none-eabi-6-2017-q1-update references __locale_ctype_ptr If the ossys.c in the NDK was compiled using gcc-arm-none-eabi-6-2017-q1-update, but was attempted to be linked with the older gcc-arm-none-eabi-4_9-2015q3 then I would expect that the symbol __locale_ctype_ptr would be reported as undefined. However, I don't understand why you got the undefined symbol when originally trying to use the gcc-arm-none-eabi-6-2017-q1-update compiler. [quote user="Tim Cooper1"]I rebuilt with an older compiler, including rebuilding pdk. This took care of __sync_synchronize.[/quote]As explained above, think some of the libstdc++ librararies in the gcc-arm-none-eabi-6-2017-q1-update and gcc-arm-none-eabi-7-2017-q4-major installations are broken because they try and call a function named __sync_synchronize(), instead of have being compiled using the built-it of that name. One work-around to prevent the undefined symbol with the later compilers is to create a C source file in your project with the following contents: void __sync_synchronize (void) { __sync_synchronize (); } I know that this looks like an infinite recursion, but looking at the generated assembler shows that the compiler did generate a function named __sync_synchronize which contains the memory barrier instruction: .align 2 .global __sync_synchronize .syntax unified .arm .fpu vfp .type __sync_synchronize, %function __sync_synchronize: .LFB0: .file 1 "../sync_wrapper.c" .loc 1 9 0 .cfi_startproc @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 @ link register save eliminated. .loc 1 10 0 dmb ish .loc 1 11 0 bx lr .cfi_endproc
↧
Forum Post: RE: CCS/TDA2PXEVM: Binary loading fails frequently
Hi Richard, Can you provide more details? Which exact cores are you loading binaries to? Are the cores in a sync group? When it freezes, does the IDE ever return? If it is an error, what is the exact error message? Any more details you can provide would be helpful. Thanks
↧
Forum Post: RE: CCS: Unable to debug when UART is in use
Hello, I am going to move this thread to the Wi-Fi forum. The experts there will be most familiar with the LP and the example you are using. They can guide you best. Thanks ki
↧
Forum Post: RE: CCS/MSP432P401R: Resource Explorer does not start
Hi Jim, Did you indeed try checking your proxy settings and deleting the tirex local server folder? If so, and the issue persists, please provide the log found in: c:\Users\ \ti\tirex-localserver-3.6.5\.logs. Thanks ki
↧
↧
Forum Post: CCS/CC2640R2F: Reoccurrence of missing file ble_r2.symbols with CCS V8.1
Part Number: CC2640R2F Tool/software: Code Composer Studio Hi, I had this problem with CCS V7.4 and by reading various threads, I was able to solve it (no spaces in file names, changes to build steps for python) Now I have the same problem with CCS V8.1 and the prior threads no longer apply (i.e. there is no pre-build step to modify any more). Importing an building a project from either the base SDK (e.g. simple peripheral) or the academy (e.g. project zero) fail with the error messages: error #10008-D: cannot find file "/Users/username/ti/workspace/simple_peripheral_cc2640r2lp_stack_library/FlashROM_Library/ble_r2.symbols" error #10008-D: cannot find file "/Users/username/ti/workspace/simple_peripheral_cc2640r2lp_stack_library/FlashROM_Library/lib_linker.cmd For both simple peripheral and project zero, I built the stack library first... Any suggestions? My set up is: - new MacOS machine running High Sierra 10.13 - SimpleLink SDK 1.50.00.58 (copied over from another machine since can no longer download this version) - SimpleLink Academy 1.14.02 (downloaded from Resource Explorer) Directories: /Users/username/ti/ /Users/username/ti/ /Users/username/ti/workspace
↧
Forum Post: CCS/TMS320F28069: Using PC-Lint with CCSv8x
Part Number: TMS320F28069 Tool/software: Code Composer Studio Hello All, I wanted to share this since I've seen quite a few threads all claiming there isn't a way to do this - but I have PC-Lint from Gimpel Software working with CCSv8.x. Even though this isn't an optimal set-up, it works and I found it useful and I will share the procedure here. Gimpel has a similar procedure posted on this page: but there are some subtle issues with that since CCS is slightly different in this setup. This explanation will help you get PC-Lint running under CCS. This explanation will not go into the cornucopia of options that are available with PC-Lint. I do have a standard TI lint file for PC-Lint - I will attach a template for that in a follow up message. Everyone has a different application and different needs and requirements, so it's not within the scope of this explanation to select every option. Maybe TI will be able to add to the ti_std.lnt or maybe make that available for some of the more popular processors with options that take into account the compiler macros, switches, etc. First, make sure the External Tools is enabled by checking the following - as shown in the pic: This is under Windows->Preferences. Next - right click on the project and bring up Project Properties and bring up the Builders Menu selection: Note, I've already added PC-Lint but that's what the window looks like - select New, Add PC-Lint, and then go to the edit screen: The set up as shown in the above pic is fairly self-explanatory - I recommend putting the path to PC-Lint in your system path - here, I have PC-Lint installed on the "E:" drive and under location have: E:\lint\lint-nt.exe The Working Directory is set to the workspace of the file (or maybe files or project) where I want PC-Lint to do static analysis. Arguments: The first is the ti_std.lnt file, then the file (or maybe files to examine), and then output options - this is the part I'm still working on. The first time I ran this, I had almost 6MB of output, and it overwhelms the console output window, so finding a way to send all of the output to a file is the right idea, then that can be browsed using the editor window. There are a lot of config options here, the above is just an example to get you going in the right direction and serves as a good starting point. Some caveats: 1) - The only way to currently add an external tool to CCS (that I've found), is to add to the builder options - so this means PC-Lint will be run every time a build is run, but that's a good thing I would think. Under the build options you can change this to only run PC-Lint after a clean, or auto-build, there are some choices. 2) - I need to look at the choices for output - the console window only holds so much text, I'm not sure if that can be increased, but the best idea is to pipe out all of the output to a file - I've tried to show that, but it isn't working that well just yet, maybe that's an exercise for the user to figure out; but I'll probably post a better way for output soon. Well, hope this helps some of you that want to include PC-Lint with CCS. Regards, John W.
↧
Forum Post: RE: CCS/TMS320F28069: Using PC-Lint with CCSv8x
Hello All, I've attached an example lint file for PC-Lint as discussed in the OP. (Please visit the site to view this file) Regards, John W.
↧
Forum Post: CCS: DSP648 disable auto-negotiation and force speed/duplex.
Tool/software: Code Composer Studio Dear Sir I’m working with the DM648 TI and I’m having some issues with the (NDK driver). I’m trying to disable auto-negotiation and force speed/duplex . It doesn’t seem to be working. I’ve also tried setting the CONTROL register and MR_ADV_ABILITY/ MR_LP_ADV_ABILITY to the desired settings Using TI documents SPRUF57B and SPRS372G Is there something I’m missing, do you have any ideas as to why this wouldn't be working? Offset Acronym Register Description Section 0 IDVER ID Version Register Section 7.1 4h SOFT_RESET Soft Reset Register Section 7.2 10h CONTROL Control Register Section 7.3 14h STATUS Status Register Section 7.4 18h MR_ADV_ABILITY Advertised Ability Register Section 7.5 1Ch MR_NP_TX Transmit Next Page Register Section 7.6 20h MR_LP_ADV_ABILITY Link Partner Advertised Ability Section 7.7 24h MR_NP_RX Link Partner Next Page Received Register Section 7.8 40h DIAG_CLEAR Diagnostics Clear Register Section 7.9 44h DIAG_CONTROL Diagnostics Control Register Section 7.10 48h DIAG_STATUS Diagnostics Status Section 7.11 Thanks Ahead David
↧
↧
Forum Post: RE: CCS: Slow compile CCS6
Hi Ki , I changed the indexer option to be disabled but I don't see any changes in compilation time , BR, Arik.
↧
Forum Post: WEBENCH® Tools/LM5017: I used LM5017 to design t"VIN=27V and Vout =27V/ 200ma" . But when I simulated it and I found output is 24V shown in WeBench.
Part Number: LM5017 Tool/software: WEBENCH® Design Tools Hi Team, I used LM5017 to design t"VIN=27V and Vout =27V/ 200ma" . But when I simulated it and I found output is 24V. You can open below link. I didn't know why. Do you have any suggestions?
↧
Forum Post: RE: CCS/66AK2H12: Undefined library references: __locale_ctype_ptr and __sync_synchronize
[quote user="Tim Cooper1"]Why is the build unable to find __locale_ctype_ptr and also __synch_synchronize?[/quote]I built the PROCESSOR-SDK-RTOS-K2HK NIMU_emacExample_ EVMK2H _armBiosExample example, with the addition of some C++ code which used iosteam, using the following tool versions which match those in your build output: Compiler : gcc-arm-none-eabi-6-2017-q1-update SYS/BIOS : 6_50_01_12 NDK : 2_26_00_08 PDK : k2hk_4_0_9 XDCTOOLS : 3_50_03_33_core With the above tool versions then got the same undefined symbols __locale_ctype_ptr and __sync_synchronize as your program: Invoking: GNU Linker "/home/mr_halfword/ti/ccs810/ccsv8/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update/bin/arm-none-eabi-gcc" -mtune=cortex-a15 -marm -DSOC_K2H -DDEVICE_K2H -D_LITTLE_ENDIAN=1 -g -gdwarf-3 -gstrict-dwarf -Wall -mfloat-abi=hard -Wl,-Map,"NIMU_emacExample_EVMK2H_armBiosExample.map" -nostartfiles -static -Wl,--gc-sections -L"/home/mr_halfword/ti/ti-processor-sdk-rtos-k2hk-evm-04.03.00.05/ndk_2_26_00_08/packages/ti/ndk/os/lib" -L"/home/mr_halfword/ti/bios_6_50_01_12/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu" -o"NIMU_emacExample_EVMK2H_armBiosExample.out" "./csl_cpsgmii.o" "./csl_cpsw_5gf.o" "./csl_wiz8_sb_refclk125MHz_10bit_5Gbps.o" "./csl_wiz8_sb_refclk125MHz_20bit_6p25Gbps.o" "./csl_wiz8_sb_refclk156p25MHz_10bit_5Gbps.o" "./csl_wiz8_sb_refclk156p25MHz_20bit_6p25Gbps.o" "./global-resource-list.o" "./helloWorld.o" "./nimu_cppi_qmss_iface.o" "./nimu_osal.o" "./nimu_pa_iface.o" "./policy_dsp-only.o" "./policy_dsp_arm.o" "./setuprm.o" "./test.o" "./udpHello.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -l:os.aa15fg -lgcc -lm -lrdimon -lc -lstdc++ -Wl,--end-group makefile:160: recipe for target 'NIMU_emacExample_EVMK2H_armBiosExample.out' failed /home/mr_halfword/ti/ti-processor-sdk-rtos-k2hk-evm-04.03.00.05/ndk_2_26_00_08/packages/ti/ndk/os/lib/os.aa15fg(ossys.oa15fg): In function `stricmp': /db/vtree/library/trees/ndk/ndk-l06/src/ti/ndk/os/ossys.c:122: undefined reference to `__locale_ctype_ptr' /db/vtree/library/trees/ndk/ndk-l06/src/ti/ndk/os/ossys.c:122: undefined reference to `__locale_ctype_ptr' /home/mr_halfword/ti/ti-processor-sdk-rtos-k2hk-evm-04.03.00.05/pdk_k2hk_4_0_9/packages/ti/drv/rm/lib/armv7/ti.drv.rm.aa15fg(rm_policy.oa15fg): In function `policyParseSubPermission': /oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/k2hk_evm-linux-gnueabi/rm-lld-rtos/02.02.00.02-r1.1.tisdk-int2/build/ti/drv/rm/src/rm_policy.c:137: undefined reference to `__locale_ctype_ptr' /oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/k2hk_evm-linux-gnueabi/rm-lld-rtos/02.02.00.02-r1.1.tisdk-int2/build/ti/drv/rm/src/rm_policy.c:202: undefined reference to `__locale_ctype_ptr' /oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/k2hk_evm-linux-gnueabi/rm-lld-rtos/02.02.00.02-r1.1.tisdk-int2/build/ti/drv/rm/src/rm_policy.c:274: undefined reference to `__locale_ctype_ptr' /home/mr_halfword/ti/ti-processor-sdk-rtos-k2hk-evm-04.03.00.05/pdk_k2hk_4_0_9/packages/ti/drv/rm/lib/armv7/ti.drv.rm.aa15fg(rm_policy.oa15fg):/oe/bld/build-CORTEX_1/arago-tmp-external-linaro-toolchain/work/k2hk_evm-linux-gnueabi/rm-lld-rtos/02.02.00.02-r1.1.tisdk-int2/build/ti/drv/rm/src/rm_policy.c:291: more undefined references to `__locale_ctype_ptr' follow /home/mr_halfword/ti/ccs810/ccsv8/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/hard/libstdc++.a(locale.o): In function `std::locale::_Impl::_M_install_cache(std::locale::facet const*, unsigned int)': locale.cc:(.text._ZNSt6locale5_Impl16_M_install_cacheEPKNS_5facetEj+0x18): undefined reference to `__sync_synchronize' /home/mr_halfword/ti/ccs810/ccsv8/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/lib/hard/libstdc++.a(locale_init.o): In function `(anonymous namespace)::get_locale_mutex()': locale_init.cc:(.text._ZN12_GLOBAL__N_116get_locale_mutexEv+0xc): undefined reference to `__sync_synchronize' collect2: error: ld returned 1 exit status gmake[1]: *** [NIMU_emacExample_EVMK2H_armBiosExample.out] Error 1 gmake: *** [all] Error 2 makefile:156: recipe for target 'all' failed The issue is that the SYS/BIOS for Cortex-A GNU targets includes re-compiled run time libraries to support re-entrancy - see What do I need to do to make the C runtime library re-entrant when building SYS/BIOS applications for Cortex-A GNU targets ? The combination of using SYS/BIOS 6_50_01_12 and the compiler gcc-arm-none-eabi-6-2017-q1-update is not valid, since it appears the run time library in SYS/BIOS 6_50_01_12 was built from for the sources for the previous gcc-arm-none-eabi-4_9-2015q3 compiler. Which version of PROCESSOR-SDK-RTOS-K2HK is your program targeting? 1. Using the following version of tools as per the Processor SDK RTOS 03.03.00 Release Notes then the example compiles and links successfully: Compiler : gcc-arm-none-eabi-4_9-2015q3 SYS/BIOS : 6_46_04_53 NDK : 2_25_01_11 PDK : k2hk_4_0_5 XDCTOOLS : 3_32_01_22_core 2. Using the following versions of tools as per the Processor SDK RTOS 04.03.00.05 Release Notes then the example also compiled and links successfully: Compiler : gcc-arm-none-eabi-6-2017-q1-update SYS/BIOS : 6_52_00_12 NDK : 2_26_00_08 PDK : k2hk_4_0_9 XDCTOOLS : 3_50_03_33_core The ti-processor-sdk-rtos-k2hk-evm-04.03.00.05/bios_6_52_00_12/packages/gnu/targets/arm/rtsv7A/startup.c source file contains the __sync_synchronize function which resolves the symbol from the libstdc++: /* * ======== __sync_synchronize ======== */ void __sync_synchronize() { __asm__ __volatile__ ( "dmb ish" ); } The conclusion is that since the SYS/BIOS contains a re-compiled GNU run time library, you need to ensure the GNU compiler version matches that listed in the release notes for the Processor SDK RTOS.
↧