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.

CCSTUDIO-THEIA: F28P650DK6PZP

Part Number: CCSTUDIO-THEIA
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

Dear, team

                  im working on the c2000 series controller part no F28P650DK6PZP mcu and the ccs version 20.5.0 here i created a new workspace and imported code form ccs empty driver lib and using sysonfig i configured a gpio and build i got some error from device.c and here i found  two device.c file in my project in that one is manual in project and another one is sysconfig generated and which is the one manual is giving the error when i execluded the device.c and tried im getting without error.

1) why this project having 2 device.c files
2) why this errors im getting.

image.png

  • Hey Nirdhesh,

    I am not sure I understand your statement:

    "i found  two device.c file in my project in that one is manual in project and another one is sysconfig generated and which is the one manual is giving the error when i execluded the device.c and tried im getting without error."

    Which is working and which is not?

    Can you share both here for reference?

    Best Regards,

    Zackary Fleenor

  • Hay Zackary Fleenor,
                                        thanks for your response and below i added the facing issue as a reference u can use this for better understanding please have a look at it.

    **** Clean-only build of configuration 'CPU1_RAM' for project 'empty_driverlib_project' ****

    "C:\\ti\\ccs2050\\ccs\\utils\\bin\\gmake" -k -j 8 clean -r -O

    DEL /F "syscfg\board.h" "syscfg\board.cmd.genlibs" "syscfg\board.json" "syscfg\pinmux.csv" "syscfg\device.h" "syscfg\device_cmd.h" "syscfg\device_cmd.cmd.genlibs" "syscfg\c2000ware_libraries.cmd.genlibs" "syscfg\c2000ware_libraries.h" "syscfg\clocktree.h" "syscfg\board.c" "syscfg\board.opt" "syscfg\device.c" "syscfg\device_cmd.cmd" "syscfg\device_cmd.c" "syscfg\device_cmd.opt" "syscfg\c2000ware_libraries.opt" "syscfg\c2000ware_libraries.c" "empty_driverlib_project.out"
    DEL /F "syscfg\board.obj" "syscfg\device.obj" "syscfg\device_cmd.obj" "syscfg\c2000ware_libraries.obj" "f28p65x_codestartbranch.obj" "empty_driverlib_main.obj"
    DEL /F "syscfg\board.d" "syscfg\device.d" "syscfg\device_cmd.d" "syscfg\c2000ware_libraries.d" "empty_driverlib_main.d"
    DEL /F "f28p65x_codestartbranch.d"
    RMDIR /S/Q "syscfg"

    **** Build finished ****


    **** Build of configuration 'CPU1_RAM' for project 'empty_driverlib_project' ****

    "C:\\ti\\ccs2050\\ccs\\utils\\bin\\gmake" -k -j 8 all -r -O

    SysConfig - building file: "../c2000.syscfg"
    "C:/ti/ccs2050/ccs/utils/sysconfig_1.27.0/sysconfig_cli.bat" -s "C:/ti/C2000Ware_26_00_00_00/.metadata/sdk.json" -d "F28P65x" -p "100PZP" -r "F28P65x_100PZP" --script "C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/c2000.syscfg" --context "CPU1" -o "syscfg" --compiler ccs
    Running script...
    Validating...
    [0]info: CPUSELx(/driverlib/clocktree/mux.js) cpu_sel_mux: For enabling peripherals, use the /driverlib/sysctl.js enable_SYSCTL_PERIPH_CLK_TIMER0
    [1]info: PERx_CPU1_SYSCLK_GATE(/driverlib/clocktree/unknown.js) cpu1_sysclk_gate: For enabling peripherals, use the /driverlib/sysctl.js enable_SYSCTL_PERIPH_CLK_TIMER0
    [2]info: PERx_CPU2_SYSCLK_GATE(/driverlib/clocktree/unknown.js) cpu2_sysclk_gate: For enabling peripherals, use the /driverlib/sysctl.js enable_SYSCTL_PERIPH_CLK_TIMER0
    Generating Code (c2000.syscfg)...
    should not be In here
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\board.c...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\board.h...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\board.cmd.genlibs...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\board.opt...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\board.json...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\pinmux.csv...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device.c...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device.h...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device_cmd.cmd...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device_cmd.c...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device_cmd.h...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device_cmd.opt...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\device_cmd.cmd.genlibs...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\c2000ware_libraries.cmd.genlibs...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\c2000ware_libraries.opt...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\c2000ware_libraries.c...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\c2000ware_libraries.h...
    Writing C:\Users\AATPL0057\workspace_ccstheia\empty_driverlib_pro\CPU1_RAM\syscfg\clocktree.h...
    Finished building: "../c2000.syscfg"

    C2000 Compiler - building file: "C:/ti/C2000Ware_26_00_00_00/device_support/f28p65x/common/source/f28p65x_codestartbranch.asm"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="f28p65x_codestartbranch.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "C:/ti/C2000Ware_26_00_00_00/device_support/f28p65x/common/source/f28p65x_codestartbranch.asm"
    Finished building: "C:/ti/C2000Ware_26_00_00_00/device_support/f28p65x/common/source/f28p65x_codestartbranch.asm"

    C2000 Compiler - building file: "../device/f28p65x_codestartbranch.asm"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/f28p65x_codestartbranch.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --obj_directory="device" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "../device/f28p65x_codestartbranch.asm"
    Finished building: "../device/f28p65x_codestartbranch.asm"

    C2000 Compiler - building file: "syscfg/c2000ware_libraries.c"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/c2000ware_libraries.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/c2000ware_libraries.c"
    Finished building: "syscfg/c2000ware_libraries.c"

    C2000 Compiler - building file: "syscfg/device_cmd.c"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/device_cmd.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/device_cmd.c"
    Finished building: "syscfg/device_cmd.c"

    C2000 Compiler - building file: "../empty_driverlib_main.c"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="empty_driverlib_main.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "../empty_driverlib_main.c"
    Finished building: "../empty_driverlib_main.c"

    C2000 Compiler - building file: "../device/device.c"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="device/device.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --obj_directory="device" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "../device/device.c"
    Finished building: "../device/device.c"

    C2000 Compiler - building file: "syscfg/device.c"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/device.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/device.c"
    [3]"syscfg/device.c", line 123: warning #190-D: enumerated type mixed with another type
    Finished building: "syscfg/device.c"

    C2000 Compiler - building file: "syscfg/board.c"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro" --include_path="C:/ti/C2000Ware_26_00_00_00" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/device" --include_path="C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/" --include_path="C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="syscfg/board.d_raw" --include_path="C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/board.opt" --cmd_file="syscfg/device_cmd.opt" --cmd_file="syscfg/c2000ware_libraries.opt" "syscfg/board.c"
    Finished building: "syscfg/board.c"

    C2000 Linker - building target: "empty_driverlib_project.out"
    "C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu64 --tmu_support=tmu1 --vcu_support=vcrc -Ooff --define=RAM --define=DEBUG --define=CPU1 --diag_suppress=10063 --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"empty_driverlib_project.map" --heap_size=0x200 --stack_size=0x3F8 --warn_sections -i"C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/lib" -i"C:/ti/C2000Ware_26_00_00_00" -i"C:/Users/AATPL0057/workspace_ccstheia/empty_driverlib_pro/CPU1_RAM/syscfg" -i"C:/ti/ccs2050/ccs/tools/compiler/ti-cgt-c2000_25.11.0.LTS/include" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="empty_driverlib_project_linkInfo.xml" --entry_point=code_start --rom_model -o "empty_driverlib_project.out" "./syscfg/board.obj" "./syscfg/device.obj" "./syscfg/device_cmd.obj" "./syscfg/c2000ware_libraries.obj" "./f28p65x_codestartbranch.obj" "./empty_driverlib_main.obj" "./device/device.obj" "./device/f28p65x_codestartbranch.obj" "../28p65x_generic_ram_lnk_cpu1.cmd" "C:/ti/C2000Ware_26_00_00_00/driverlib/f28p65x/driverlib/ccs/Debug/driverlib.lib" -l"syscfg/device_cmd.cmd" -lc2000ware_libraries.cmd.genlibs -llibc.a
    <Linking>
    [4]error #10056: symbol "Device_enableAllPeripherals" redefined: first defined in "./syscfg/device.obj"; redefined in "./device/device.obj"
    [5]error #10056: symbol "Device_verifyXTAL" redefined: first defined in "./syscfg/device.obj"; redefined in "./device/device.obj"
    [6]error #10056: symbol "Device_initGPIO" redefined: first defined in "./syscfg/device.obj"; redefined in "./device/device.obj"
    [7]error #10056: symbol "Device_bootCPU2" redefined: first defined in "./syscfg/device.obj"; redefined in "./device/device.obj"
    [8]error #10056: symbol "Device_init" redefined: first defined in "./syscfg/device.obj"; redefined in "./device/device.obj"
    [9]error #10056: symbol "__error__" redefined: first defined in "./syscfg/device.obj"; redefined in "./device/device.obj"
    [10]error #10056: symbol "code_start" redefined: first defined in "./f28p65x_codestartbranch.obj"; redefined in "./device/f28p65x_codestartbranch.obj"
    [11]"../28p65x_generic_ram_lnk_cpu1.cmd", line 61: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section, or the section contains padded functions. placement with alignment/blocking fails for section "codestart" size 0x4 page 0. Available memory ranges:
    BEGIN size: 0x2 unused: 0x2 max hole: 0x2
    [12]error #10010: errors encountered during linking; "empty_driverlib_project.out" not built

    **** Build finished ****

    Best Regards,

    NIRDHESH KRISHNA

  • Hi Nirdhesh,

    Your build log makes the problem very clear. Let me answer both of your questions directly.


    1. Why does the project have two device.c files?

    When you imported the empty driverlib project from C2000Ware, it came with a manual device.c file in the device/ folder — this is the standard device initialization file included with the project template [1]. Then, when you added SysConfig (.syscfg) and configured your GPIO, SysConfig auto-generated its own device.c in the syscfg/ folder [2]. Both files define the same functions (Device_init, Device_initGPIO, Device_enableAllPeripherals, etc.), so you end up with two competing copies.

    The same duplication is happening with f28p65x_codestartbranch.asm — your build log shows it being compiled from both ../device/ and from the C2000Ware device_support path, causing the code_start symbol redefinition.


    2. Why are you getting these errors?

    Every linker error you're seeing is error #10056: symbol redefined — the linker finds the same function defined in both ./syscfg/device.obj and ./device/device.obj and cannot resolve which one to use [3]. The codestart section placement error (#10099) is a downstream consequence of having two code_start entry points.


    The Fix

    Exclude the manual files from the build. Specifically, right-click and exclude from build:

    File to Exclude
    Location
    device.c
    device/device.c (the manual copy)
    f28p65x_codestartbranch.asm
    device/f28p65x_codestartbranch.asm (the manual copy)

    Keep the SysConfig-generated versions in the syscfg/ folder — these are designed to work with your .syscfg configuration and will stay in sync as you modify peripherals in SysConfig [2].

    You already confirmed this approach works ("when I excluded the device.c and tried I'm getting without error"), so you're on the right track. Just make sure you also exclude the duplicate f28p65x_codestartbranch.asm from the device/ folder to eliminate the code_start redefinition as well.

    The remaining warning (#190-D: enumerated type mixed with another type on syscfg/device.c line 123) is non-critical and won't prevent a successful build.


    A Note on the Thread Title

    The thread title mentions "program not retained after power cycle." Your current build configuration is CPU1_RAM, which loads code into volatile RAM — it will not survive a power cycle by design. If you need the program to persist, you'll need to switch to a flash-based build configuration (CPU1_FLASH) and ensure boot mode pins are configured for flash boot [3].


    To help refine this further, it would be useful to know:

    • Whether you have any custom modifications in the manual device/device.c that need to be preserved or migrated into your SysConfig configuration
    • Whether you imported this project from the C2000Ware empty project template directly, or followed a specific tutorial that may have included both files intentionally
    • Whether you intend to run from flash (for power-cycle retention) or RAM (debug only)

    1. C2000 Getting Started - Importing Empty Driverlib Projects
    2. C2000 Getting Started with SysConfig
    3. C2000 Debug Tips - Standalone Flash Operation

    Best Regards,

    Zackary Fleenor

  • Hi Nirdhesh,

    I wanted to follow up on our previous discussion about the duplicate device.c files and linker errors you were encountering with your F28P650DK6PZP project in CCS 20.5.0.

    Quick Recap of the Solution:

    • Exclude the manual device/device.c from build (keep SysConfig-generated syscfg/device.c)
    • Exclude the manual device/f28p65x_codestartbranch.asm from build
    • Keep the SysConfig-generated versions in the syscfg/ folder

    Were you able to resolve the build errors? You mentioned that excluding the manual device.c eliminated the errors, so I'm hoping this solution worked for you.

    Regarding the thread title ("Program not retained after power cycle"): I noticed your build configuration is set to CPU1_RAM, which means your program runs from volatile RAM and won't survive a power cycle. If your goal is to have the program persist after power cycling the board, you'll need to:

    1. Switch to a CPU1_FLASH build configuration
    2. Flash the program to non-volatile memory
    3. Configure boot mode pins for flash boot (not RAM boot)

    Could you clarify:

    • Did the duplicate file exclusion resolve your immediate build issues?
    • Is the "program not retained after power cycle" still a concern, or was that resolved once the build succeeded?
    • Do you need guidance on switching from RAM to Flash configuration?

    I'm here to help get your F28P65x project up and running reliably.

    Best Regards,
    Zackary Fleenor