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.

EK-TM4C123GXL: tm4c123gxl

Genius 10820 points
Part Number: EK-TM4C123GXL

:”test core close interrupt time”experiment can’t work

1.I am a new learner about ucos_ii,and I use tm4c123gxl launchpad to work this exam.

2.I have programed the exam program and include the file which the exam program needs.But it can’t run before conect with tm4c123gxl.

3.The error is

Description           Resource               Path       Location                Type

#35 #error directive: "CPU_CFG_NVIC_PRIO_BITS         not #define'd in 'app_cfg.h'    "   /* See Note # 3            */                .ccsproject            /core_interrupt_period3_2             line 110, external location: D:\ucos\github\uC-OS2-develop(1)\uC-OS2-develop\Ports\ARM-Cortex-M\ARMv7-M\CCS\os_cpu.h   C/C++ Problem

It just like I can’t define the CPU_CFG_NVIC_PRIO_BITS.And I don’t know how to deal.

The program and include file have pakaged in appendix.

If you can deal with the problem,I will appreaciate it. Thank you for your reading.

uC-CPU-develop.zip

  • Hi,

      If you look at the directives under cpu_cfg.h you will find some of the directives grayed out. For example, the directive CPU_CFG_NVIC_PRIO_BITS is grayed out (with lighter color). You will need to look at the source file to understand the reason. 

    Now if you open the cpu_cfg.h file you will see below. You have #if 0 directive. You must change it to #if 1 in order to have the CPU_CFG_NVIC_PRIO_BITS defined. This is more a C language usage question. Please refer to C language usage if you need further explanation.  

  • Thank you for your advice.

    I have corrected the #if 1.

    But now here comes a new problem.I think it may be a problem about os_cpu_a.asm.However,I don't know how to deal with it.

    The error is

    Description    Resource    Path    Location    Type
    #10010 errors encountered during linking; "core_interrupt_period3_2.out" not built    core_interrupt_period3_2             C/C++ Problem
    <a href="file:/C:/ti/ccs1031/ccs/tools/compiler/dmed/HTML/10234.html">#10234-D</a>  unresolved symbols remain    core_interrupt_period3_2             C/C++ Problem
    unresolved symbol OS_CPU_SR_Save, first referenced in ./main.obj    core_interrupt_period3_2             C/C++ Problem
    unresolved symbol OS_CPU_SR_Restore, first referenced in ./main.obj    core_interrupt_period3_2             C/C++ Problem
    I am sorry that now I can't send the error photo.But I hope it can be solved.Thank you for your reading.

  • Hi,

      - First of all, you are using some 3rd party code from www.silabs.com as I read the cpu_a.s file. You must be very careful with the license whether you can use their software on a TI MCU. Please understand I'm not familiar with these 3rd party source code coming from silabs or ucos. You should get support from wherever you get the source code from, not just silabs code but other 3rd party code as well. 

      - This is the first time I have come across someone using ucos on TM4C123. We only support TI-RTOS for Tiva MCU. We cannot support ucos as we have no knowledge about it at all. 

     - What is reason that you don't want to learn the Tiva MCU by using TivaWare? The TivaWare library provides all the drivers and examples that are easy to use. You can easily learn Tiva MCU by starting with the TivaWare examples. If you need to have RTOS for your application, you should use TI-RTOS. TI-RTOS supports Tiva MCU and there are many TI-RTOS examples as well. We can support TI-RTOS but not ucos. TivaWare examples can be found in C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl

      - I don't even find the main() in your zip file. Where is main() called? As much as I'd like to help, I just don't have the knowledge with the all the 3rd party code you send. As far as the error goes, it is saying that in the main() there is reference to the OS_CPU_SR_Save symbol but this simple is not defined. You need to compile the file where the OS_CPU_SR_Save and OS_CPU_SR_Restore are defined. If this is part of the library then you need to include the library in the linker search path. 

      Please understand there is only so much we can support on the 3rd party software. 

  • Hi Team

    I attached the files about main() by my customers.

    sn_customerservice_case_e32dcbe81b55b410602cf715464bcb5c_attachments.zip

  • Hi Jiahui,

      As I replied earlier, we have no knowledge about ucos and can't support it. I suppose the ucos is from Micrium which is later acquired by Silabs. Can you please seek support through their website shown below?  Please understand our limitation on supporting 3rd party software as we have no experience with them. I believe their experts can quickly resolve your issue. 

    https://www.silabs.com/support