This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

THINGY:52 custom firmware

Hi, everyone!

We try to use THINGY:52 board for debug our MEMS lib from external sensor. But before use external sensor (i2c bus) i can't burn standard firmware that compiled by me. Thats what i do:

- use this for get all requrements

- get project from github

- compiled it with this instruction -> 0 Error(s), 0 Warning(s).

Compilation log:

Rebuild started: Project: ble_app_thingy_s132_pca20020
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Rebuild target 'debug_v1_0_0'
compiling m_motion_flash.c...
compiling m_environment_flash.c...
compiling m_ble_flash.c...
compiling m_motion.c...
compiling m_environment.c...
compiling main.c...
compiling m_ble.c...
compiling m_ui_flash.c...
compiling twi_manager.c...
compiling advertiser_beacon_timeslot.c...
compiling m_sound.c...
compiling m_ui.c...
compiling support_func.c...
compiling drv_ext_light.c...
compiling m_batt_meas.c...
compiling drv_ccs811.c...
compiling drv_bh1745.c...
compiling drv_color.c...
compiling drv_gas_sensor.c...
compiling drv_mpu9250.c...
compiling drv_pressure.c...
compiling drv_speaker.c...
compiling drv_motion.c...
compiling drv_acc_lis3dh.c...
compiling drv_lps22hb.c...
compiling drv_hts221.c...
compiling sx150x_led_drv_calc.c...
compiling drv_sx1509.c...
compiling drv_humidity.c...
compiling data_builder.c...
compiling hal_outputs.c...
compiling message_layer.c...
compiling mlmath.c...
compiling ml_math_func.c...
compiling mpl.c...
compiling drv_ext_gpio.c...
compiling drv_mic.c...
compiling drv_nfc.c...
compiling results_holder.c...
compiling start_manager.c...
compiling storage_manager.c...
compiling eMPL_outputs.c...
compiling inv_mpu.c...
compiling inv_mpu_dmp_motion_driver.c...
compiling log_nrf52.c...
compiling ble_conn_state.c...
compiling ble_conn_params.c...
compiling ble_advdata.c...
compiling ble_srv_common.c...
compiling ble_advertising.c...
compiling ble_tes.c...
compiling nrf_drv_common.c...
compiling ble_bas.c...
compiling ble_uis.c...
compiling ble_tcs.c...
compiling ble_tms.c...
compiling nrf_drv_gpiote.c...
compiling ble_tss.c...
compiling nrf_saadc.c...
compiling nrf_drv_pdm.c...
compiling nrf_drv_saadc.c...
compiling nrf_drv_pwm.c...
compiling nrf_drv_rng.c...
compiling nrf_drv_clock.c...
compiling nrf_drv_twi.c...
compiling nrf_queue.c...
compiling nrf_assert.c...
compiling retarget.c...
compiling app_scheduler.c...
compiling app_error.c...
compiling app_button.c...
compiling app_timer.c...
compiling led_softblink.c...
compiling sdk_mapped_flags.c...
compiling app_util_platform.c...
compiling crc32.c...
compiling fstorage.c...
compiling low_power_pwm.c...
compiling fds.c...
compiling ble_dfu.c...
compiling nrf_strerror.c...
compiling RTT_Syscalls_KEIL.c...
compiling softdevice_handler_appsh.c...
compiling nrf_log_backend_serial.c...
compiling nrf_log_frontend.c...
compiling allpole.c...
compiling allzero.c...
compiling autocor.c...
compiling softdevice_handler.c...
compiling cmtables.c...
compiling bitpack.c...
compiling bvplc.c...
compiling decoder.c...
compiling excdec.c...
compiling coarptch.c...
compiling encoder.c...
compiling fineptch.c...
compiling excquan.c...
compiling gaindec.c...
compiling gainquan.c...
compiling levdur.c...
compiling levelest.c...
compiling lsp2a.c...
compiling lspdec.c...
compiling SEGGER_RTT_printf.c...
compiling a2lsp.c...
compiling ptdec.c...
compiling stblchck.c...
compiling SEGGER_RTT.c...
compiling ptquan.c...
compiling stblzlsp.c...
compiling tables.c...
compiling utility.c...
compiling dvi_adpcm.c...
compiling nfc_text_rec.c...
compiling lspquan.c...
compiling hal_nfc_t2t.c...
compiling drv_audio_pdm.c...
compiling drv_audio_coder_adpcm.c...
compiling drv_audio_coder_bv32fp.c...
compiling drv_audio_dsp.c...
compiling nfc_ndef_msg.c...
compiling nfc_ndef_record.c...
assembling arm_startup_nrf52.s...
compiling nfc_uri_msg.c...
compiling nfc_uri_rec.c...
compiling nfc_launchapp_msg.c...
compiling nfc_launchapp_rec.c...
compiling system_nrf52.c...
linking...
Program Size: Code=176220 RO-data=39428 RW-data=968 ZI-data=37264  
FromELF: creating hex file...
".\_debug_v1_0_0\app_thingy_s132.axf" - 0 Error(s), 0 Warning(s).
Build Time Elapsed:  00:00:28

next step i tried to burn it to the device using Keil:

Load "C:\\Users\..\Nordic-Thingy52-FW\\project\\pca20020_s132\\arm5_no_packs\\_debug_v1_0_0\\app_thingy_s132.axf" 
Set JLink Project File to "C:\Users\..\Nordic-Thingy52-FW\project\pca20020_s132\arm5_no_packs\JLinkSettings.ini"
* JLink Info: Device "NRF52832_XXAA" selected.
 
JLink info:
------------
DLL: V6.56a, compiled Nov 25 2019 17:05:33
Firmware: J-Link Lite-Cortex-M V9 compiled May 17 2019 09:50:01
Hardware: V9.00
S/N : 519001781 
Feature(s) : GDB 
 
* JLink Info: InitTarget() start
* JLink Info: InitTarget() end
* JLink Info: Found SW-DP with ID 0x2BA01477
* JLink Info: Scanning AP map to find all available APs
* JLink Info: AP[2]: Stopped AP scan as end of AP map has been reached
* JLink Info: AP[0]: AHB-AP (IDR: 0x24770011)
* JLink Info: AP[1]: JTAG-AP (IDR: 0x02880000)
* JLink Info: Iterating through AP map to find AHB-AP to use
* JLink Info: AP[0]: Core found
* JLink Info: AP[0]: AHB-AP ROM base: 0xE00FF000
* JLink Info: CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
* JLink Info: Found Cortex-M4 r0p1, Little endian.
* JLink Info: FPUnit: 6 code (BP) slots and 2 literal slots
* JLink Info: CoreSight components:
* JLink Info: ROMTbl[0] @ E00FF000
* JLink Info: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
* JLink Info: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
* JLink Info: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
* JLink Info: ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
* JLink Info: ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
* JLink Info: ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
ROMTableAddr = 0xE00FF000
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
 
Target info:
------------
Device: nRF52832_xxAA
VTarget = 3.317V
State of Pins: 
TCK: 0, TDI: 1, TDO: 1, TMS: 1, TRES: 1, TRST: 255
Hardware-Breakpoints: 6
Software-Breakpoints: 8192
Watchpoints:          4
JTAG speed: 4000 kHz
 
Erase Done.
Programming Done.
Verify OK.
* JLink Info: Reset: Halt core after reset via DEMCR.VC_CORERESET.
* JLink Info: Reset: Reset device via AIRCR.SYSRESETREQ.
Application running ...
Flash Load finished at 09:28:29

After update firmware device not working. Green LED is always blinking (with high freq ~2 per second) and mobile app don't "see" device

PS: i also tried to burn firmware with nRFgo Studio, but result is same:

Please help me to find a mistake. I spent few days for this simple things.. Thingy:52 looks very perspective for fast prototyping, but starting is complicated

Parents
  • Hi. 

    Your approach seems to be correct, and it should work. 
    I tried the exact same approach as you, and it works just fine for me.

    You remembered to flash the correct version of the softdevice as well as the application? And you made no modifications to the code?

    I would also like to note that nRFgo Studio is deprecated and no longer maintained. I suggest using nRF Connect - Programmer instead. 

    Best regards, 
    Joakim

Reply
  • Hi. 

    Your approach seems to be correct, and it should work. 
    I tried the exact same approach as you, and it works just fine for me.

    You remembered to flash the correct version of the softdevice as well as the application? And you made no modifications to the code?

    I would also like to note that nRFgo Studio is deprecated and no longer maintained. I suggest using nRF Connect - Programmer instead. 

    Best regards, 
    Joakim

Children
Related