im using Feather EVM. im using the app_ble_uart . after i added SPI to the project i dont get any errors but the code does not run (goes to main) and when i press run it goes into hard fault.
the SPI is enabled.
im using Feather EVM. im using the app_ble_uart . after i added SPI to the project i dont get any errors but the code does not run (goes to main) and when i press run it goes into hard fault.
the SPI is enabled.
Feather EVM
You mean this: https://www.adafruit.com/product/3406
Have you tried using the SPI on its own - without BLE ?
Have you used the debugger to see what's causing the Hard Fault?
Have you enabled the debug logs for information on what's causing the crash?
Feather EVM
You mean this: https://www.adafruit.com/product/3406
Have you tried using the SPI on its own - without BLE ?
Have you used the debugger to see what's causing the Hard Fault?
Have you enabled the debug logs for information on what's causing the crash?
You mean this: https://www.adafruit.com/product/3406 - yes
Have you tried using the SPI on its own - without BLE ? - yes
Have you used the debugger to see what's causing the Hard Fault? - im using IAR debugger
Have you enabled the debug logs for information on what's causing the crash? - how do i do that ?
im using IAR debugger
So what have you discovered by using it?
Have you enabled the debug logs
When you build the 'Debug' configuration, it should enable the logs.
They may come out on the UART, or RTT
update : after testing the new SDK example of the app_ble_uart with the SPI i got it running (since nothing is connected to the Feather). after that i connected it to my board that has connection on all io's . after running the code it gets halt fault . i think it has something to do with the uart that needs IO's. i tried to disable it or change the uart tx/rx IO's to sothing else, but still no good.
this is the log :
Thu Jun 27, 2019 08:55:22: Loaded macro file: C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.2\arm\config\debugger\NordicSemi\nRF52.dmac
Thu Jun 27, 2019 08:55:23: JLINK command: ProjectFile = D:\Documents\Projects\work facilitation\Miter sow\C ble_app org + spi\examples\ble_peripheral\ble_app_uart\pca10040\s132\iar\settings\ble_app_uart_pca10040_s132_nrf52832_xxaa.jlink, return = 0
Thu Jun 27, 2019 08:55:23: Device "NRF52832_XXAA" selected.
Thu Jun 27, 2019 08:55:23: DLL version: V6.44e, compiled Apr 5 2019 16:15:03
Thu Jun 27, 2019 08:55:23: Firmware: J-Link V10 compiled Mar 21 2019 15:43:57
Thu Jun 27, 2019 08:55:23: Selecting SWD as current target interface.
Thu Jun 27, 2019 08:55:23: JTAG speed is initially set to: 1000 kHz
Thu Jun 27, 2019 08:55:23: Found SW-DP with ID 0x2BA01477
Thu Jun 27, 2019 08:55:23: Found SW-DP with ID 0x2BA01477
Thu Jun 27, 2019 08:55:23: Scanning AP map to find all available APs
Thu Jun 27, 2019 08:55:23: AP[2]: Stopped AP scan as end of AP map has been reached
Thu Jun 27, 2019 08:55:23: AP[0]: AHB-AP (IDR: 0x24770011)
Thu Jun 27, 2019 08:55:23: AP[1]: JTAG-AP (IDR: 0x02880000)
Thu Jun 27, 2019 08:55:23: Iterating through AP map to find AHB-AP to use
Thu Jun 27, 2019 08:55:23: AP[0]: Core found
Thu Jun 27, 2019 08:55:23: AP[0]: AHB-AP ROM base: 0xE00FF000
Thu Jun 27, 2019 08:55:23: CPUID register: 0x410FC241. Implementer code: 0x41 (ARM)
Thu Jun 27, 2019 08:55:23: Found Cortex-M4 r0p1, Little endian.
Thu Jun 27, 2019 08:55:23: FPUnit: 6 code (BP) slots and 2 literal slots
Thu Jun 27, 2019 08:55:23: CoreSight components:
Thu Jun 27, 2019 08:55:23: ROMTbl[0] @ E00FF000
Thu Jun 27, 2019 08:55:23: ROMTbl[0][0]: E000E000, CID: B105E00D, PID: 000BB00C SCS-M7
Thu Jun 27, 2019 08:55:23: ROMTbl[0][1]: E0001000, CID: B105E00D, PID: 003BB002 DWT
Thu Jun 27, 2019 08:55:23: ROMTbl[0][2]: E0002000, CID: B105E00D, PID: 002BB003 FPB
Thu Jun 27, 2019 08:55:23: ROMTbl[0][3]: E0000000, CID: B105E00D, PID: 003BB001 ITM
Thu Jun 27, 2019 08:55:23: ROMTbl[0][4]: E0040000, CID: B105900D, PID: 000BB9A1 TPIU
Thu Jun 27, 2019 08:55:23: ROMTbl[0][5]: E0041000, CID: B105900D, PID: 000BB925 ETM
Thu Jun 27, 2019 08:55:23: Reset: Halt core after reset via DEMCR.VC_CORERESET.
Thu Jun 27, 2019 08:55:23: Reset: Reset device via AIRCR.SYSRESETREQ.
Thu Jun 27, 2019 08:55:23: Hardware reset with strategy 0 was performed
Thu Jun 27, 2019 08:55:23: Initial reset was performed
Thu Jun 27, 2019 08:55:27: J-Link: Flash download: Bank 0 @ 0x00000000: 1 range affected (4096 bytes)
Thu Jun 27, 2019 08:55:27: J-Link: Flash download: Total time needed: 0.151s (Prepare: 0.034s, Compare: 0.030s, Erase: 0.003s, Program: 0.078s, Verify: 0.000s, Restore: 0.004s)
Thu Jun 27, 2019 08:55:27: 34024 bytes downloaded (8.57 Kbytes/sec)
Thu Jun 27, 2019 08:55:27: Loaded debugee: D:\Documents\Projects\work facilitation\Miter sow\C ble_app org + spi\examples\ble_peripheral\ble_app_uart\pca10040\s132\iar\_build\ble_app_uart_pca10040_s132.out
Thu Jun 27, 2019 08:55:27: Reset: Halt core after reset via DEMCR.VC_CORERESET.
Thu Jun 27, 2019 08:55:27: Reset: Reset device via AIRCR.SYSRESETREQ.
Thu Jun 27, 2019 08:55:27: Hardware reset with strategy 0 was performed
Thu Jun 27, 2019 08:55:27: Target reset
Did you check the call-stack when debugging, to see what is running before the hardfault occurs? Do you have anything connected to the UART pins? If they are left floating, errors will be detected on the RX-line, which will result in an error code and leave the application in the error handler.
i have no need for physical uart pins, i only use it for the ble communication. i am trying to disable it with no success.call-stack is:
app_error_fault_handler()
app_error_handler_bare(uint32_t error_code = ?)
uart_event_handle(app_uart_evt_t * p_event = ?)
uart_event_handler(struct <Unnamed 41> * p_event = ?, void * p_context = ?)
uart_evt_handler(nrfx_uart_event_t const * p_event = ?, void * p_context = ?)
uarte_irq_handler(NRF_UARTE_Type * p_uarte = 0x40002000, uarte_control_block_t * p_cb = m_cb (0x20003DE0))
<Exception frame>
[nrfx_coredep_delay_us::delay_machine_code + 0]