I have tried to use I2C but it does't work out. nRF9160 doesn't start booting after executing "build and run" and pushing the reset button.
I open secure_boot project first and build and run. Then I open this project.
build and run is successful.
Any help?
OS: macOS Mojave
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
<prf.conf>
CONFIG_TRUSTED_EXECUTION_NONSECURE=y
CONFIG_SERIAL=y
CONFIG_UART_INTERRUPT_DRIVEN=y
CONFIG_UART_1_NRF_UARTE=y
CONFIG_I2C=y
CONFIG_I2C_NRFX=y
CONFIG_I2C_0=y
CONFIG_I2C_0_NRF_TWI=y
CONFIG_I2C_INIT_PRIORITY=60
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<nrf9160_pca10090.dts>
...
chosen {
zephyr,console = &uart0;
zephyr,debug = &uart1;
zephyr,i2c-accel = &i2c0;
zephyr,sram = &sram0;
zephyr,flash = &flash0;
};
...
&i2c0 {
status = "ok";
sda-pin = <10>;
scl-pin = <11>;
clock-frequency = <100000>;
};
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<main.c>
#include <nrf9160.h>
#include <zephyr.h>
#include <misc/printk.h>
#include <i2c.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#define I2C_ACCEL_WRITE_ADDR 0x32
#define I2C_ACCEL_READ_ADDR 0x33
struct device * i2c_accel;
uint8_t WhoAmI = 0u;
uint8_t init_accelerometer(){
i2c_accel = device_get_binding("I2C_0");
if (!i2c_accel) {
printk("error\r\n");
return -1;
} else {
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<when pushing the reset button SW2>
...
Secure Boot: SPU: set SRAM region 12 as Non-Secure
Secure Boot: SPU: set SRAM region 13 as Non-Secure
Secure Boot: SPU: set SRAM region 14 as Non-Secure
Secure Boot: SPU: set SRAM region 15 as Non-Secure
Secure Boot: SPU: set SRAM region 16 as Non-Secure
Secure Boot: SPU: set SRAM region 17 as Non-Secure
Secure Boot: SPU: set SRAM region 18 as Non-Secure
Secure Boot: SPU: set SRAM region 19 as Non-Secure
Secure Boot: SPU: set SRAM region 20 as Non-Secure
Secure Boot: SPU: set SRAM region 21 as Non-Secure
Secure Boot: SPU: set SRAM region 22 as Non-Secure
Secure Boot: SPU: set SRAM region 23 as Non-Secure
Secure Boot: SPU: set SRAM region 24 as Non-Secure
Secure Boot: SPU: set SRAM region 25 as Non-Secure
Secure Boot: SPU: set SRAM region 26 as Non-Secure
Secure Boot: SPU: set SRAM region 27 as Non-Secure
Secure Boot: SPU: set SRAM region 28 as Non-Secure
Secure Boot: SPU: set SRAM region 29 as Non-Secure
Secure Boot: SPU: set SRAM region 30 as Non-Secure