Code Monkey home page Code Monkey logo

Comments (11)

derGraph avatar derGraph commented on August 11, 2024 1

I was able to open and compile the project! I wrote some instructions in my commit!
Did you use the VS-Code Cortex-Debug Extension? What version of GCC did you use? Can you share your openocd commands/files?
How did you compile the bootloader and application in one file or did you upload them seperate?`
Can you share your flashing procedure?

thanks,
Paul

from chameleonultra.

GameTec-live avatar GameTec-live commented on August 11, 2024

maybe that will help?
(altough unsure if they even use segger studio?)
https://www.segger.com/downloads/embedded-studio/EmbeddedStudio_Manual

from chameleonultra.

xianglin1998 avatar xianglin1998 commented on August 11, 2024

I'm use vscode + armgcc + openocd to develop.

from chameleonultra.

xianglin1998 avatar xianglin1998 commented on August 11, 2024

image

from chameleonultra.

xianglin1998 avatar xianglin1998 commented on August 11, 2024

I will find time later to write the deployment tutorial for the development environment into the markdown, and I have been busy dealing with the production of the chameleon Ultra recently.

from chameleonultra.

xianglin1998 avatar xianglin1998 commented on August 11, 2024

Good~~!!!

A、Yes, i'm using cortex-debug extension on vs, and jlink gdb tools(not openocd)

this is content for my launch.json file

{
    "configurations": [
        {
            "cwd": "${workspaceFolder}",
            "executable": "${workspaceRoot}/firmware/objects/bootloader.out",
            "name": "Debug with JLink",
            "request": "launch",
            "type": "cortex-debug",
            "runToEntryPoint": "main",
            "showDevDebugOutput": "none",
            "servertype": "jlink",
            "device": "nrf52",
            "interface": "swd",
            "svdFile": "${workspaceRoot}/firmware/nrf52_sdk/modules/nrfx/mdk/nrf52.svd"
        },
    ]
}

Edit your cortex-debug settings in vs settings.json, to define

    "cortex-debug.armToolchainPath": "Your arm gcc toolchain path",       // such as C:\\UserProgram\\arm_gcc\\none\\bin
    "cortex-debug.JLinkGDBServerPath": "Your jlink gdb executable path",  // such as C:\\Program Files (x86)\\SEGGER\\JLink\\JLinkGDBServerCL.exe

Note: you can replace bootloader.out to application.out to debug app.

B、I'm use armgcc-none to compile firmware for chameleonUltra, download from Official website

Download from Official Website For ARM
and it's version:
image

C、Use "nrfutil" merge boot and app firmware hex to one file(To install tool from NRF website)

// generate settings page, get a 'settings.hex'
nrfutil settings generate --family NRF52840 --application application.hex --application-version 1 --bootloader-version 1 --bl-settings-version 2 settings.hex
// merge boot and settings page to one file, get a 'bootloader_settings.hex'
mergehex --merge bootloader.hex settings.hex --output bootloader_settings.hex
// merge boot settings and app to one file, get a 'project.hex'
mergehex --merge bootloader_settings.hex application.hex softdevice.hex --output project.hex

Note: You can flash only application firmware to debug, or else the bootlaoder has crc check, your new app from jlink flash will error start and goto bootloader.

D、Flash firmware and Enjoy your dev.

0、Open terminal in projectRoot/firmware/[application ] or [bootloader]
1、Execute cmd make -j4 to compile [application ] or [bootloader]
2、Execute cmd make flash to flash firmware(only one, if your device is new chip, you must to flash soft device!!!)
3、Execute cmd make flash_softdevice to flash softdevice(Optional~~~)
Note: the make flash cmd will auto execute nrfjprog xxx xxxx, If you are interested, you can read the official NRF documentation.
image

from chameleonultra.

xianglin1998 avatar xianglin1998 commented on August 11, 2024

@derGraph

from chameleonultra.

derGraph avatar derGraph commented on August 11, 2024

Thanks, I will close this issue when I can get it to run + written instructions!

from chameleonultra.

derGraph avatar derGraph commented on August 11, 2024

Where did you get the softdevice.hex file?

from chameleonultra.

xianglin1998 avatar xianglin1998 commented on August 11, 2024

Where did you get the softdevice.hex file?

See: {projectRoot}/nrf52_sdk/components/softdevice/s140/hex/s140_nrf52_7.2.0_softdevice.hex

from chameleonultra.

derGraph avatar derGraph commented on August 11, 2024

Everything clear and working, if possible please check my instructions for JLink (I have only STLINK)
Instructions in new Pull request #14 !

from chameleonultra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.