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.

CCS generated hex files

Other Parts Discussed in Thread: CC2640, CC2650

I have hex files generated for both SimpleBLEPerpheral and SPBStack using CCS6.1.2.

The target is a XDS200 emulator and custom 4x4 CC2640 board.

If I flash program both the hex files (SPB and SPB stack) using the Smart RF flash programmer,

the custom board is advertising.

I flash erased the CC2640 before I went back to CCS.

 

In CCS, I enabled the ARM hex utility. Until I did this, the custom board was unable to advertise through

CCS download. Is this the correct setting? From CCS, I first build and debug SPB, then I build and debug

SPBStack and then I go back and run SPB. Is this the best way to download two hex files from CCS?

After I enabled the ARM hex utility, I got many warnings when I build SPB and SPB stack, I just ignored

them. With this ARM hex utility disabled, I did not get any warnings after building SPB and SPBStack.

Thanks,

Priya

 

  • Priya,

    I'm a little confused here, you mentioned that you have hex files generated from CCS, then you enabled the ARM hex utility. How did you generate the hex files when it was working ("I have hex files generated for both SimpleBLEPerpheral and SPBStack using CCS6.1.2.")?

    In your App & Stack projects, do you have a Post-build step:
    "${CG_TOOL_HEX}" -order MS --memwidth=8 --romwidth=8 --intel -o "${ProjName}.hex" "${ProjName}.out"

    This will generate the hex files at the end of the build so there's no need to enable the ARM hex utility.

    CCS uses the .out file by default for flash programming when you use the Debug GUI.

    Best wishes
  • JXS-- thank you for your reply.

    I had the ARM hex utility disabled. I built both projects in CCS. I flash programmed the .hex files from

    this build and it works fine.

    Direct download from CCS did not seem to generate the needed output. I was not aware CCS does not

    use the .hex files. I enabled the ARM hex utility, re-complied and then I found direct download from CCS

    seems to work.

    Where in the project properties window will I need to add this post build step? Under the ARM linker basic options,

    there is an option to specify output file name (.out). Would this be the place? I have attached a screen shot

    below.

    Thanks,

    Priya

  • Priya,

    See Build -> Steps tab:

    How did you do a direct download from CCS? When I press the Debug icon, it flashes the board for me. Please post the output log if there is a failure. I'm assuming you are using an unmodified SBP project.

    Best wishes

  • Good morning JXS.

    1. The post build option you suggested is available as a default in CCS6.1.2.

    2. I flash erased the DK and 2 custom boards.

    3. I used the unmodified SPB project.

    4. In one workspace I built to a CC2640 4x4 package, XDS200 debugger. (This is

    a custom board). The BLE sniffer picks up its advertising fine.

    5. In another workspace, I built to the CC2650 4x4 package, XDS100v3 debugger.

    (This is the CC2650 DK board). Here again, the BLE sniffer picks up the advertising fine.

    6. The only files I see under the workspace/FlashROM directory are the .hex files.

    I don't see any .out files the debugger talks about loading. There are .map files.

    7. In a third workspace,  I used the modified SPB project with IOC function calls to

    enable the PA with a custom board file.

    CCS debug download no advertising.

    Flash program hex files, custom board advertises fine.

    Where might the problem be? The custom board has no LED, the debugger light flashes

    as it downloads to the board.

    Thanks,

    Priya

    .

  • I'm not sure where the problem could be. I took a clean copy of BLE 2.1.1, created a FlashROM_4x4 App workspace (copied from FlashROM), disabled SPI & LCD drivers and changed the board file to CC2650EM_4XS. After building the App project, the SimpleBLEPeriphereal.out file was generated as shown below. Can you try these steps?

    Best wishes

  • JXS--

    Thank you for your reply. I probably need to try re-doing my custom board edits to SPB starting from a clean copy.

    I do see SPB.out on my CCS window when I collapse the FlashROM directory. I never looked here before.

    When I create a new workspace, is there a reason to copy over the FlashROM directory to a workspace specific one?

    I have not done this before.

    The following files in SPB were edited (#define statements) to choose the custom board:

    main.c

    board.c wrapper file

    a new custom board directory was created with the board.c and .h files in this path:

    C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\boards\SRF06EB\CC2640_Custom

    bleUserConfig.c and bleUserConfig.h were updated to pick the custom board.

    I'm assuming the board file definition is not needed any where else in SPB? The CCS search

    button is not showing otherwise, let me know if there is a difference.

    Thanks,

    Priya

  • Priya,

    I would suspect the issue with the modification of the project, not the source files themselves. You should not need to create the FlashROM directory; this will get crated based on the build configuration at build time.

    Try doing your steps 1x1, then see where the problem happens.

    Best wishes
  • JXS-- I had the PAEN and EN pin number definitions switched. The board is advertising through CCS fine now. I hope no hidden issues re-surface. Thanks!
    Priya