Menu

#20 Specifying AC instead of AA version of part?

1.0
closed
nobody
None
2015-10-15
2015-10-14
A Garland
No

First: THANKS for making this critical tool available!

I have tried several things, but can't see a way to specific the AC (larger RAM, FLASH) version of the part? I'm guessing that is why I'm seeing "Error: code" on the final programming step:

CWD: /var/folders/w7/3xbs40694mbgg7y657j4t28c0000gn/T/408B0AD8-0548-4B46-B6DB-DEE17A9AFD18
Command: /Applications/SEGGER/JLink/JLinkExe JLINK_GetEmuList.1 -if swd -device nrf51822

SEGGER J-Link Commander V5.02f ('?' for help)
Compiled Oct 2 2015 20:55:08

Script file read successfully.
Info: Device "NRF51822_XXAA" selected.
. . .

Sleep(100)

J-Link[0]: Connection: USB, Serial number: 609302209, ProductName: J-Link PLUS

Sleep(200)

Script processing completed.

Error: code

Is there a way to get it to use "NRF51822_XXAC"?

Discussion

  • Roland King

    Roland King - 2015-10-14

    No there's no difference as far as the segger is concerned between the different versions, it just specifies nrf51 (if you look at the command line) and it just happens the JLink finds the first one and prints it, but they all are actually the same. In this case it's only trying to get the list of emulators anyway and that doesn't care about the chip at all, so you have a problem and I don't know what it is, but it's not related to the AA/AC designation.

    If you installed the command line tools, try

    nrfjprog -v list

    that will do what that code is doing there, listing out emulators, it may be verbose enough to point out the issue.

     
  • A Garland

    A Garland - 2015-10-14

    Thanks for your rapid attention on my inquiry.

    Hmmm - it seems to be able to identify the emulator just fine (and a previous wipe command succeeds):

    nrfjprog -v list
    CWD: /var/folders/w7/3xbs40694mbgg7y657j4t28c0000gn/T/0AF2BC7D-240D-4088-9CAA-D137630F7F97
    Command: /usr/local/bin/JLinkExe JLINK_GetVersion.0 -if swd -device nrf51822

    SEGGER J-Link Commander V5.02f ('?' for help)
    Compiled Oct 2 2015 20:55:08

    Script file read successfully.
    Info: Device "NRF51822_XXAA" selected.
    DLL version V5.02f, compiled Oct 2 2015 20:55:03
    Firmware: J-Link V9 compiled Sep 18 2015 19:53:12
    Hardware: V9.30
    S/N: 609302209
    Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
    Emulator has Trace capability
    VTarget = 1.780V
    Info: Found SWD-DP with ID 0x0BB11477
    Info: Found Cortex-M0 r0p0, Little endian.
    Info: FPUnit: 4 code (BP) slots and 0 literal slots
    Info: CoreSight components:
    Info: ROMTbl 0 @ F0000000
    Info: ROMTbl 0 [0]: F00FF000, CID: B105100D, PID: 000BB471 ROM Table
    Info: ROMTbl 1 @ E00FF000
    Info: ROMTbl 1 [0]: FFF0F000, CID: B105E00D, PID: 000BB008 SCS
    Info: ROMTbl 1 [1]: FFF02000, CID: B105E00D, PID: 000BB00A DWT
    Info: ROMTbl 1 [2]: FFF03000, CID: B105E00D, PID: 000BB00B FPB
    Info: ROMTbl 0 [1]: 00002000, CID: B105900D, PID: 000BB9A3 ???
    Cortex-M0 identified.
    Target interface speed: 100 kHz
    Processing script file...

    Sleep(100)

    Script processing completed.

    CWD: /var/folders/w7/3xbs40694mbgg7y657j4t28c0000gn/T/0AF2BC7D-240D-4088-9CAA-D137630F7F97
    Command: /usr/local/bin/JLinkExe JLINK_GetEmuList.1 -if swd -device nrf51822

    SEGGER J-Link Commander V5.02f ('?' for help)
    Compiled Oct 2 2015 20:55:08

    Script file read successfully.
    Info: Device "NRF51822_XXAA" selected.
    DLL version V5.02f, compiled Oct 2 2015 20:55:03
    Firmware: J-Link V9 compiled Sep 18 2015 19:53:12
    Hardware: V9.30
    S/N: 609302209
    Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
    Emulator has Trace capability
    VTarget = 1.780V
    Info: Found SWD-DP with ID 0x0BB11477
    Info: Found Cortex-M0 r0p0, Little endian.
    Info: FPUnit: 4 code (BP) slots and 0 literal slots
    Info: CoreSight components:
    Info: ROMTbl 0 @ F0000000
    Info: ROMTbl 0 [0]: F00FF000, CID: B105100D, PID: 000BB471 ROM Table
    Info: ROMTbl 1 @ E00FF000
    Info: ROMTbl 1 [0]: FFF0F000, CID: B105E00D, PID: 000BB008 SCS
    Info: ROMTbl 1 [1]: FFF02000, CID: B105E00D, PID: 000BB00A DWT
    Info: ROMTbl 1 [2]: FFF03000, CID: B105E00D, PID: 000BB00B FPB
    Info: ROMTbl 0 [1]: 00002000, CID: B105900D, PID: 000BB9A3 ???
    Cortex-M0 identified.
    Target interface speed: 100 kHz
    Processing script file...

    Sleep(100)

    J-Link[0]: Connection: USB, Serial number: 609302209, ProductName: J-Link PLUS

    Sleep(200)

    Script processing completed.

    Serial Numbers: 609302209

    I'll see if I can identify a different issue of some sort.

     
  • A Garland

    A Garland - 2015-10-14

    Actually, here is the full trace from the nrfjprog --code command down (in case you see anything obvious):

    nrfjprog --verbose program --code _build_debug/indigo_nrf51822_sdk810_sd800-combined.hex
    CWD: /var/folders/w7/3xbs40694mbgg7y657j4t28c0000gn/T/E62F403A-32C9-455F-969B-27C2150CB050
    Command: /usr/local/bin/JLinkExe JLINK_GetVersion.0 -if swd -device nrf51822

    SEGGER J-Link Commander V5.02f ('?' for help)
    Compiled Oct 2 2015 20:55:08

    Script file read successfully.
    Info: Device "NRF51822_XXAA" selected.
    DLL version V5.02f, compiled Oct 2 2015 20:55:03
    Firmware: J-Link V9 compiled Sep 18 2015 19:53:12
    Hardware: V9.30
    S/N: 609302209
    Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
    Emulator has Trace capability
    VTarget = 1.782V
    Info: Found SWD-DP with ID 0x0BB11477
    Info: Found Cortex-M0 r0p0, Little endian.
    Info: FPUnit: 4 code (BP) slots and 0 literal slots
    Info: CoreSight components:
    Info: ROMTbl 0 @ F0000000
    Info: ROMTbl 0 [0]: F00FF000, CID: B105100D, PID: 000BB471 ROM Table
    Info: ROMTbl 1 @ E00FF000
    Info: ROMTbl 1 [0]: FFF0F000, CID: B105E00D, PID: 000BB008 SCS
    Info: ROMTbl 1 [1]: FFF02000, CID: B105E00D, PID: 000BB00A DWT
    Info: ROMTbl 1 [2]: FFF03000, CID: B105E00D, PID: 000BB00B FPB
    Info: ROMTbl 0 [1]: 00002000, CID: B105900D, PID: 000BB9A3 ???
    Cortex-M0 identified.
    Target interface speed: 100 kHz
    Processing script file...

    Sleep(100)

    Script processing completed.

    CWD: /var/folders/w7/3xbs40694mbgg7y657j4t28c0000gn/T/E62F403A-32C9-455F-969B-27C2150CB050
    Command: /usr/local/bin/JLinkExe JLINK_GetEmuList.1 -if swd -device nrf51822

    SEGGER J-Link Commander V5.02f ('?' for help)
    Compiled Oct 2 2015 20:55:08

    Script file read successfully.
    Info: Device "NRF51822_XXAA" selected.
    DLL version V5.02f, compiled Oct 2 2015 20:55:03
    Firmware: J-Link V9 compiled Sep 18 2015 19:53:12
    Hardware: V9.30
    S/N: 609302209
    Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
    Emulator has Trace capability
    VTarget = 1.783V
    Info: Found SWD-DP with ID 0x0BB11477
    Info: Found Cortex-M0 r0p0, Little endian.
    Info: FPUnit: 4 code (BP) slots and 0 literal slots
    Info: CoreSight components:
    Info: ROMTbl 0 @ F0000000
    Info: ROMTbl 0 [0]: F00FF000, CID: B105100D, PID: 000BB471 ROM Table
    Info: ROMTbl 1 @ E00FF000
    Info: ROMTbl 1 [0]: FFF0F000, CID: B105E00D, PID: 000BB008 SCS
    Info: ROMTbl 1 [1]: FFF02000, CID: B105E00D, PID: 000BB00A DWT
    Info: ROMTbl 1 [2]: FFF03000, CID: B105E00D, PID: 000BB00B FPB
    Info: ROMTbl 0 [1]: 00002000, CID: B105900D, PID: 000BB9A3 ???
    Cortex-M0 identified.
    Target interface speed: 100 kHz
    Processing script file...

    Sleep(100)

    J-Link[0]: Connection: USB, Serial number: 609302209, ProductName: J-Link PLUS

    Sleep(200)

    Script processing completed.

    Error: code

     
  • A Garland

    A Garland - 2015-10-14

    I should mention: I'm building a combined image (soft device, app, bootloader) which has worked great under Windows, but have just set up the project under OSX--it wasn't entirely clear to me whether nrfjprog supported programming a combined image (since it has --code, --softdevice, and --bootloader flags which seem to suggest mutual exclusivity)?

     
  • Roland King

    Roland King - 2015-10-14

    ok so I assumed you were using the gui version to start with, you should try that, it may tell you something more useful about why it doesn't like your code file. Then again it may not. Either it can't read it, or it fails some internal tests and refuses to program it because it thinks the code layout doesn't make any sense. Certainly haven't tried with a monster-merged file before.

     
  • A Garland

    A Garland - 2015-10-14

    OK - I wasn't even aware there was a GUI version (but see it now). It appears that it doesn't support a combined image. When I load my combined image under 'code', then it requires either a soft device or bootloader (first clue that it can't grok a combined image). So I add a soft device image (the same one that is part of the combined image--but stand-alone) and then it shows the following error in red:

    Error(s): Code must start at 0x00018000, not 0x00000000

    So, again, it doesn't seem to handle a combined image. I guess I'll have to try breaking it up into a piecemeal series of steps.

    Thanks for your help on this.

     
  • Roland King

    Roland King - 2015-10-14

    What's the actual error when you JUST specify the combined image and check the 'code' box and don't check either of the other boxes for softdevice or bootloader? It's quite possible to load on just code as long as the code starts at 0x00 (which yours does) and it can read it, which it appears it can. You should even be able to see the individual blocks in the hex file under the code.

    For instance it's quite possible to put a simple no-softdevice blinky on at 0x00 just by specifying the code and nothing else, so I'm not quite sure what it doesn't like here.

     
  • A Garland

    A Garland - 2015-10-14

    Yep - so simple! That's the ticket. I just need to treat it as arbitrary code (no soft device or bootloader since they are already in my combined image). Makes me wonder sometimes how I've managed to do software development for 30+ years and still find I'm totally clueless some days!!

    Thanks for your help - that worked just fine.

     
  • Roland King

    Roland King - 2015-10-15

    My favourite bug reports are those where I don't have to fire up Xcode to fix anything.

     
  • Roland King

    Roland King - 2015-10-15
    • status: open --> closed
     

Log in to post a comment.