Date   

Re: Persistent memory issue (NVS and FCB) - Zephyr V1.X versus V2 #ble #nrf52

frv
 

Hi Carles,

Thanks for the tip. I would be really surprised that I already have a stack issue, as the application is still very simple... Nevertheless it can't harm to have this option enabled.

Br,
Frank


Re: Persistent memory issue (NVS and FCB) - Zephyr V1.X versus V2 #ble #nrf52

Carles Cufi
 

Hi there,

 

One of the likely culprits is stack sizing.

Please enable CONFIG_HW_STACK_PROTECTION and verify that one of your stacks is not overflowing.

 

Regards,

 

Carles

 

From: devel@... <devel@...> On Behalf Of frv via Lists.Zephyrproject.Org
Sent: 06 December 2019 13:38
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] Persistent memory issue (NVS and FCB) - Zephyr V1.X versus V2 #ble #nrf52

 

Hi all,

I have the following setup:
- nrf52 demo kit running a simple BLE peripheral application
- Raspberry Pi running a BLE central application

A secured connection is made (authentication based on fixed passkey) and paired information is made persistent (bonded).

I set in the peripheral's prj.conf file the following options:

CONFIG_BT_SETTINGS=y

CONFIG_FLASH=y

CONFIG_FLASH_PAGE_LAYOUT=y

CONFIG_FLASH_MAP=y

CONFIG_FCB=y

CONFIG_SETTINGS=y

CONFIG_SETTINGS_FCB=y

In V1.X this sometimes resulted in system crash when restarting the peripheral or when the connection was broken en reconnected for paired devices


When I built my project in V2.X with these options, I get ALWAYS a OS usage FAULT, Illegal load of EXC_RETURN into PC and results further in a FATAL ERROR and halts the system.

However when I use these options in V2.X:

CONFIG_BT_KEYS_OVERWRITE_OLDEST=y

CONFIG_BT_SETTINGS=y

CONFIG_FLASH=y

CONFIG_FLASH_PAGE_LAYOUT=y

CONFIG_FLASH_MAP=y

CONFIG_NVS=y

CONFIG_SETTINGS=y


no more system crash. 

I'm wondering if the issue is related to Flash Circular Buffer support (https://docs.zephyrproject.org/1.13.0/reference/kconfig/CONFIG_FCB.html)

CONFIG_FCB=y

CONFIG_SETTINGS_FCB=y

In the peripheral sample applic distributed with V2.X CONFIG_SETTINGS_FCB is replaced by CONFIG_NVS

Best regards,
Frank


Persistent memory issue (NVS and FCB) - Zephyr V1.X versus V2 #ble #nrf52

frv
 

Hi all,

I have the following setup:
- nrf52 demo kit running a simple BLE peripheral application
- Raspberry Pi running a BLE central application

A secured connection is made (authentication based on fixed passkey) and paired information is made persistent (bonded).

I set in the peripheral's prj.conf file the following options:
CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_FCB=y
CONFIG_SETTINGS=y
CONFIG_SETTINGS_FCB=y

In V1.X this sometimes resulted in system crash when restarting the peripheral or when the connection was broken en reconnected for paired devices

When I built my project in V2.X with these options, I get ALWAYS a OS usage FAULT, Illegal load of EXC_RETURN into PC and results further in a FATAL ERROR and halts the system.

However when I use these options in V2.X:

CONFIG_BT_KEYS_OVERWRITE_OLDEST=y
CONFIG_BT_SETTINGS=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_FLASH_MAP=y
CONFIG_NVS=y
CONFIG_SETTINGS=y

no more system crash. 

I'm wondering if the issue is related to Flash Circular Buffer support (https://docs.zephyrproject.org/1.13.0/reference/kconfig/CONFIG_FCB.html)
CONFIG_FCB=y
CONFIG_SETTINGS_FCB=y

In the peripheral sample applic distributed with V2.X CONFIG_SETTINGS_FCB is replaced by CONFIG_NVS

Best regards,
Frank


Re: bt_gatt_notify multiple characteristics - always notification for the first characteristic #ble

frv
 
Edited

Hi all,

Solved...
It looks like when BT_GATT_CCC is set in the service MACRO define, it  takes not 1 but 2 indices to advance as also there is automatically a descriptor char added if you need to access the second attribute. 

Best regards,
Frank


Cancelled Event: Zephyr Project: APIs - Tuesday, 31 December 2019 #cal-cancelled

devel@lists.zephyrproject.org Calendar <devel@...>
 

Cancelled: Zephyr Project: APIs

This event has been cancelled.

When:
Tuesday, 31 December 2019
9:00am to 10:00am
(UTC-08:00) America/Los Angeles

Where:
https://zoom.us/j/177647878

Organizer: devel@...

Description:
Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/177647878

Or iPhone one-tap :
    US: +16465588656,,177647878# or +16699006833,,177647878# 
Or Telephone:
    Dial(for higher quality, dial a number based on your current location): 
        US: +1 646 558 8656 or +1 669 900 6833 or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)
    Meeting ID: 177 647 878
    International numbers available: https://zoom.us/zoomconference?m=ioAR9GK1OE5LkN1ojt-heTCl7yPcJrhY


 Live meeting minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit?usp=sharing


Cancelled Event: Zephyr Project: APIs - Tuesday, 24 December 2019 #cal-cancelled

devel@lists.zephyrproject.org Calendar <devel@...>
 

Cancelled: Zephyr Project: APIs

This event has been cancelled.

When:
Tuesday, 24 December 2019
9:00am to 10:00am
(UTC-08:00) America/Los Angeles

Where:
https://zoom.us/j/177647878

Organizer: devel@...

Description:
Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/177647878

Or iPhone one-tap :
    US: +16465588656,,177647878# or +16699006833,,177647878# 
Or Telephone:
    Dial(for higher quality, dial a number based on your current location): 
        US: +1 646 558 8656 or +1 669 900 6833 or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)
    Meeting ID: 177 647 878
    International numbers available: https://zoom.us/zoomconference?m=ioAR9GK1OE5LkN1ojt-heTCl7yPcJrhY


 Live meeting minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit?usp=sharing


bt_gatt_notify multiple characteristics - always notification for the first characteristic #ble

frv
 

Hi all,

I have a user defined BT GATT service with 2 user defined characteristics.
The code is as simple as this for defining the GATT service.

static struct bt_uuid_128 uuidButtonService = BT_UUID_INIT_128(
        0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80,
        0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00);
 
static struct bt_uuid_128 uuidButtonStateCallStart = BT_UUID_INIT_128(
        0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80,
        0x00, 0x02, 0x00, 0x01, 0x02, 0x00, 0x00, 0x00);
 
static struct bt_uuid_128 uuidButtonStateCallStop = BT_UUID_INIT_128(
        0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80,
        0x00, 0x02, 0x00, 0x01, 0x03, 0x00, 0x00, 0x00);
 
BT_GATT_SERVICE_DEFINE(button_svc,
        BT_GATT_PRIMARY_SERVICE(&uuidButtonService),
        BT_GATT_CHARACTERISTIC(&uuidButtonStateCallStart, BT_GATT_CHRC_NOTIFY,
                               BT_GATT_PERM_NONE, NULL, NULL, NULL),
        BT_GATT_CCC(buttonstate_ccc_cfg_changed, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE),
        BT_GATT_CHARACTERISTIC(&uuidButtonStateCallStop, BT_GATT_CHRC_NOTIFY,
                               BT_GATT_PERM_NONE, NULL, NULL, NULL),
        BT_GATT_CCC(buttonstate_ccc_cfg_changed, BT_GATT_PERM_READ | BT_GATT_PERM_WRITE)
);
 
void button_notify(bool value, uint8_t buttonNbr)
{
   printk("Button nbr %u - Notify value = %u\n", buttonNbr, value);
   onOffFlag = value;
 
   uint8_t index = 1;
   if (buttonNbr == 0)
   {
       index = 1;
   }
   else
   {
       index = 2;
   }
 
   printk("--->index is %u\n", index);
 
   bt_gatt_notify(NULL, &button_svc.attrs[index], &onOffFlag, sizeof(onOffFlag));
}

Nevertheless always the notification change of the first characteristic in the user defined service is trapped in the BT central application, despite the index value in button_svc.attrs changes between 1 and 2.

I see in my central output that the service and its characteristics are well discovered.
uuid service : 00000001-0100-0200-8000-00805f9b34fb
uuid char1 : 00000002-0100-0200-8000-00805f9b34fb
uuid char2 : 00000003-0100-0200-8000-00805f9b34fb

Any idea's what I'm doing wrong?
Thanks, 

Best regards,
Frank 
 


Cancelled Event: Zephyr Project: Dev Meeting - Thursday, 5 December 2019 #cal-cancelled

devel@lists.zephyrproject.org Calendar <devel@...>
 

Cancelled: Zephyr Project: Dev Meeting

This event has been cancelled.

When:
Thursday, 5 December 2019
8:00am to 9:00am
(UTC-08:00) America/Los Angeles

Where:
https://zoom.us/j/993312203

Organizer: devel@...

Description:
Join Zoom Meeting
https://zoom.us/j/993312203

One tap mobile
+16699006833,,993312203# US (San Jose)
+16465588656,,993312203# US (New York)

Dial by your location
        +1 669 900 6833 US (San Jose)
        +1 646 558 8656 US (New York)
        +1 877 369 0926 US Toll-free
        +1 855 880 1246 US Toll-free
Meeting ID: 993 312 203
Find your local number: https://zoom.us/u/ankEMRagf


Re: Linkage Zephyr V1.13 versus V2.X

frv
 
Edited

Hi Lawrence,

As far as I know this one 
CONFIG_BT_GATT_DYNAMIC_DB=y
did the trick as specified in your prj.conf as well.

Br,
Frank
 


Re: Linkage Zephyr V1.13 versus V2.X

Lawrence King
 

This is what I have my prj.conf, yours might be different, an I’m not sure what I have is 100% correct:

 

# BT settings

CONFIG_BT=y

CONFIG_BT_SMP=y

CONFIG_BT_SIGNING=y

CONFIG_BT_BONDABLE=y

CONFIG_BT_PERIPHERAL=y

CONFIG_BT_GATT_DYNAMIC_DB=y

CONFIG_BT_GATT_READ_MULTIPLE=y

CONFIG_BT_GATT_DIS=y

CONFIG_BT_ATT_PREPARE_COUNT=2

CONFIG_BT_PRIVACY=y

CONFIG_BT_DEVICE_NAME="My Device"

CONFIG_BT_DEVICE_APPEARANCE=833

CONFIG_BT_SETTINGS=n

 

Lawrence King

Principal Developer

+1(416)627-7302

 

From: devel@... <devel@...> On Behalf Of frv
Sent: Wednesday, December 4, 2019 11:23 AM
To: devel@...
Subject: Re: [Zephyr-devel] Linkage Zephyr V1.13 versus V2.X

 

Hi Lawrence,

Correct, but this one was quite easy to find as the compiler raised the issue. 

Having to specify the option in the prj.conf to support dynamic service creation was quite harder :).

Thanks for the response,
Frank


Re: Linkage Zephyr V1.13 versus V2.X

frv
 

Hi all,

Sorry replied the solution to myself and not to the group, but solution is to set the option "CONFIG_BT_GATT_DYNAMIC_DB=y"
in the application prj.conf file, otherwise it is no longer possible to call the function bt_gatt_service_register when creating a GATT service (dynamically...).

Best regards,

Frank


Re: Linkage Zephyr V1.13 versus V2.X

frv
 
Edited

Hi Lawrence,

Correct, but this one was quite easy to find as the compiler raised the issue as the function parameters no longer matched. 

Having to specify the option in the prj.conf to support dynamic BT GATT service creation was quite harder :). I had no glue the bt_gatt_service_register code was no longer linked in when the option "CONFIG_BT_GATT_DYNAMIC_DB=y"
was not set in the prj.conf file. 

Thanks for the response,
Frank


Re: Linkage Zephyr V1.13 versus V2.X

Lawrence King
 

I had the same issue when moving forward kernel versions. The API for

 

At the top level get rid of the bt_gatt_ccc_cfg variables (my code has two characteristics) :

 

#ifndef NEW_BT_STACK

static struct bt_gatt_ccc_cfg iks_atom_ccc_cfg[BT_GATT_CCC_MAX];

static struct bt_gatt_ccc_cfg iks_mtoa_ccc_cfg[BT_GATT_CCC_MAX];

#endif

 

And inside the bt_gatt_attr change the parameters to the BT_GATT_CCC macro, delete the first parameter it is no longer needed, and add a new 3rd parameter (same thing in two places for me):

 

#ifdef  NEW_BT_STACK

        BT_GATT_CCC(iks_atom_ccc_cfg_changed,BT_GATT_PERM_WRITE_ENCRYPT),

        // BT_GATT_CCC(iks_atom_ccc_cfg_changed,BT_GATT_PERM_READ | BT_GATT_PERM_WRITE),

        // BT_GATT_CCC(iks_atom_ccc_cfg_changed,BT_GATT_PERM_READ | BT_GATT_PERM_WRITE_ENCRYPT),

#else   //NEW_BT_STACK

        BT_GATT_CCC(iks_atom_ccc_cfg, iks_atom_ccc_cfg_changed),

#endif  //NEW_BT_STACK

 

Lawrence King

Principal Developer

+1(416)627-7302

 

From: devel@... <devel@...> On Behalf Of frv
Sent: Wednesday, December 4, 2019 2:19 AM
To: devel@...
Subject: [Zephyr-devel] Linkage Zephyr V1.13 versus V2.X

 

[Edited Message Follows]

Hi all,

 

Recently I have moved from Zephyr 1.13 to V2.

 

I ported my simple BLE peripheral application based on the sample code peripheral_hr from  V1.13 to V2.

 

However I can't seem to get it build anymore due to a linkage issue.

As far as I can see the sources are well compiled but for some reason the linker reports an undefined reference.

 

"/home/frv/develop/zephyrproject/zephyr/samples/bluetooth/peripheral_hrORIGI/src/button.c:78: undefined reference to `bt_gatt_service_register'"

 

In my setup the GATT services are still defined in separate files. 

So next to my main.c that calls the init function (button_init()) I have the sources button.c and button.h file where I define my own GATT service (cfr. hrs.c, hrs.h as done in V1.13) to follow up a button press.

 

src/main.c

    /button.c

 

The CMakeLists.txt has as content (which is pretty simple): 

 

# SPDX-License-Identifier: Apache-2.0

 

cmake_minimum_required(VERSION 3.13.1)

 

include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)

project(peripheral_hr)

 

FILE(GLOB app_sources src/*.c)

target_sources(app PRIVATE

  ${app_sources}

  )

 

zephyr_library_include_directories($ENV{ZEPHYR_BASE}/samples/bluetooth)

//has the button.h file

zephyr_library_include_directories($ENV{ZEPHYR_BASE}/samples/bluetooth/gatt)

 

In the button.c  code snippet:

...

static struct bt_gatt_service button_svc = BT_GATT_SERVICE(attrs);

 

void button_init(void)

{

   int result = bt_gatt_service_register(&button_svc);

}

...

 

I have spend some time on looking at the boilerplate concepts but so far without any luck to prevent the linker error.
I also had a look at this : https://github.com/zephyrproject-rtos/zephyr/issues/8851

 

Any idea's what the issue could be and how to solve this properly. Linkage order?

 

BTW when I do the call, bt_gatt_service_register,  in the main.c this is not seen as an undefined reference.

 

Thanks,

Best regards,

Frank


Linkage Zephyr V1.13 versus V2.X

frv
 
Edited

Hi all,
 
Recently I have moved from Zephyr 1.13 to V2.
 
I ported my simple BLE peripheral application based on the sample code peripheral_hr from  V1.13 to V2.
 
However I can't seem to get it build anymore due to a linkage issue.
As far as I can see the sources are well compiled but for some reason the linker reports an undefined reference.
 
"/home/frv/develop/zephyrproject/zephyr/samples/bluetooth/peripheral_hrORIGI/src/button.c:78: undefined reference to `bt_gatt_service_register'"
 
In my setup the GATT services are still defined in separate files. 
So next to my main.c that calls the init function (button_init()) I have the sources button.c and button.h file where I define my own GATT service (cfr. hrs.c, hrs.h as done in V1.13) to follow up a button press.
 
src/main.c
    /button.c
 
The CMakeLists.txt has as content (which is pretty simple): 
 
# SPDX-License-Identifier: Apache-2.0
 
cmake_minimum_required(VERSION 3.13.1)
 
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE)
project(peripheral_hr)
 
FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE
  ${app_sources}
  )
 
zephyr_library_include_directories($ENV{ZEPHYR_BASE}/samples/bluetooth)
//has the button.h file
zephyr_library_include_directories($ENV{ZEPHYR_BASE}/samples/bluetooth/gatt)
 
In the button.c  code snippet:
...
static struct bt_gatt_service button_svc = BT_GATT_SERVICE(attrs);
 
void button_init(void)
{
   int result = bt_gatt_service_register(&button_svc);
}
...
 
I have spend some time on looking at the boilerplate concepts but so far without any luck to prevent the linker error.
I also had a look at this : https://github.com/zephyrproject-rtos/zephyr/issues/8851
 
Any idea's what the issue could be and how to solve this properly. Linkage order?
 
BTW when I do the call, bt_gatt_service_register,  in the main.c this is not seen as an undefined reference.
 
Thanks,
Best regards,
Frank


Zephyr 2.1.0-rc3 tagged

David Leach
 

Hi Zephyr developers,

 

Zephyr 2.1.0-rc3 release candidate has been tagged.

 

Current issue status:

 

Priority

Count

Has PR

High

0

-

Medium

17

1

 

Testing Zephyr release candidate is requested; please, test the code base and file bug reports so they can be addressed before the release deadline.

 

The full release log can be found here:  https://github.com/zephyrproject-rtos/zephyr/releases/tag/v2.1.0-rc3

 

More details about Zephyr releases is found here: https://github.com/zephyrproject-rtos/zephyr/wiki/Program-Management

 

Thank you to everybody who contributed to this release!

 

David Leach

 

David Leach

 

NXP Semiconductors

phone: +1.210.241.6761

Email: david.leach@...

 

 


Re: DFU OTA by using mcuboot bootloader in serial recovery mode #ble #hci #nrf52480 #uart

Lawrence King
 

Hi Mayank:

 

I had a similar requirement, also without a button on the same Nordic chip. I simply copied this file into my project, and called smp_svr_init() from my main() after bluetooth was up and running

 

zephyrproject/zephyr/samples/boards/nrf52/mesh/onoff_level_lighting_vnd_app/src/smp_svr.c

 

This creates a  Bluetooth advertisement for OTA update, and I can push new images from mu Ubuntu system with:

 

Use mcumgr to upload the new version over Bluetooth

-----------------------------------------

sudo bash                                                    # must run as root to access the Bluetooth device

mcumgr conn add zephyr type=ble connstring=peer_name="My Device"     # make a symbolic name for the device

mcumgr -c zephyr image list                     # Query device for its current image list.

mcumgr -c zephyr image upload build/zephyr/zephyr.signed.bin               # Upload new image to device.

mcumgr -c zephyr image test <image-hash> # Tell the device to run the new image on its next boot ("test" the new image).

mcumgr -c zephyr reset                             # Reboot the device.

mcumgr -c zephyr image list                     # Query device for its current image list; ensure new image is running.

mcumgr -c zephyr image confirm                          # Make the image swap permanent.

 

 

You do need to get the right bits in your prj.conf file, I think these are all you need, but there may be more…

# mcuboot

CONFIG_IMG_MANAGER=y

CONFIG_MCUBOOT_IMG_MANAGER=y

CONFIG_MCUBOOT_TRAILER_SWAP_TYPE=y

CONFIG_IMG_BLOCK_BUF_SIZE=512

# Allow for large Bluetooth data packets.

CONFIG_BT_L2CAP_TX_MTU=260

CONFIG_BT_RX_BUF_LEN=260

# Enable the Bluetooth and shell mcumgr transports.

CONFIG_MCUMGR_SMP_BT=y

#CONFIG_MCUMGR_SMP_SHELL=y

#CONFIG_MCUMGR_SMP_UART=y

# Required by the `taskstat` command.

#CONFIG_THREAD_MONITOR=y

# Enable statistics and statistic names.

#CONFIG_STATS=y

#CONFIG_STATS_NAMES=y

# Enable all core commands.

#CONFIG_MCUMGR_CMD_FS_MGMT=y

CONFIG_MCUMGR_CMD_IMG_MGMT=y

CONFIG_MCUMGR_CMD_OS_MGMT=y

#CONFIG_MCUMGR_CMD_STAT_MGMT=y

 

Unfortunately you will need to reflash your units with JTAG/SWD to get the smp_svr in, but after that you can do OTA.

 

Lawrence King

Principal Developer

+1(416)627-7302

 

From: devel@... <devel@...> On Behalf Of Mayank
Sent: Tuesday, December 3, 2019 6:47 AM
To: devel@...
Subject: [Zephyr-devel] DFU OTA by using mcuboot bootloader in serial recovery mode #ble #hci #nrf52480 #uart

 

Hello All,

Right now I'm exploring the best way to do DFU OTA.
I would like to ask that how i can do the DFU by booting the mcuboot bootloader in serial recovery mode.

I have one nrf52840_pca10056 chip integrated on my custom board, which has mcuboot as a bootloader. I don't have any direct pin access to the nrf chip.
I'm doing an OTA for zephyr's hci_uart sample application.

My aim is:
- Flash mcuboot
- Flash hci_uart application one time using Jlink segger (For beacon scanning)
- After that i should be able to do DFU OTA on field, without having any Jlink kind of wired connection.

Thanks,
Mayank


Upcoming Event: Zephyr Project: APIs - Tue, 12/03/2019 9:00am-10:00am, Please RSVP #cal-reminder

devel@lists.zephyrproject.org Calendar <devel@...>
 

Reminder: Zephyr Project: APIs

When: Tuesday, 3 December 2019, 9:00am to 10:00am, (GMT-08:00) America/Los Angeles

Where:https://zoom.us/j/177647878

An RSVP is requested. Click here to RSVP

Organizer: devel@...

Description: Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/177647878

Or iPhone one-tap :
    US: +16465588656,,177647878# or +16699006833,,177647878# 
Or Telephone:
    Dial(for higher quality, dial a number based on your current location): 
        US: +1 646 558 8656 or +1 669 900 6833 or +1 855 880 1246 (Toll Free) or +1 877 369 0926 (Toll Free)
    Meeting ID: 177 647 878
    International numbers available: https://zoom.us/zoomconference?m=ioAR9GK1OE5LkN1ojt-heTCl7yPcJrhY


 Live meeting minutes: https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit?usp=sharing


API meeting: Agenda

Carles Cufi
 

Hi all,

This week we will focus on GPIO:

- GPIO: Update on progress
- Look at the PRs with driver conversion (https://github.com/zephyrproject-rtos/zephyr/issues/18530)
- Check users of GPIO APIs: https://github.com/zephyrproject-rtos/zephyr/issues/20017
- Tips for converting users can be found here: https://github.com/zephyrproject-rtos/zephyr/issues/20017#issuecomment-549315497 (thanks Peter!)
- Any additional outstanding PRs to topic-gpio

Additional items in the "Triage" column in the GitHub project may be discussed if time permits.
If you want an item included in the meeting, please add it to the GitHub project.

https://github.com/zephyrproject-rtos/zephyr/wiki/Zephyr-Committee-and-Working-Group-Meetings#zephyr-api-discussion
https://github.com/zephyrproject-rtos/zephyr/projects/18
https://docs.google.com/document/d/1lv-8B5QE2m4FjBcvfqAXFIgQfW5oz6306zJ7GIZIWCk/edit

Regards,

Carles


DFU OTA by using mcuboot bootloader in serial recovery mode #ble #hci #nrf52480 #uart

Mayank <mayank7117@...>
 

Hello All,

Right now I'm exploring the best way to do DFU OTA.
I would like to ask that how i can do the DFU by booting the mcuboot bootloader in serial recovery mode.

I have one nrf52840_pca10056 chip integrated on my custom board, which has mcuboot as a bootloader. I don't have any direct pin access to the nrf chip.
I'm doing an OTA for zephyr's hci_uart sample application.

My aim is:
- Flash mcuboot
- Flash hci_uart application one time using Jlink segger (For beacon scanning)
- After that i should be able to do DFU OTA on field, without having any Jlink kind of wired connection.

Thanks,
Mayank


Re: How to combine smp_svr and hci_uart app's of zephyr for DFU OTA #hci #nrf52480 #ble #uart #samples

Puzdrowski, Andrzej
 

Hi

Q1 – no, this mens that higher part of BLE stack runs on HCI client which has no access to nRF52840 flash at all.

Q2 – mcuboot serial recovery or your proprietary protocol which can share  common uart channel.

 

Andrzej

 

From: devel@... <devel@...> On Behalf Of Mayank via Lists.Zephyrproject.Org
Sent: 03 December 2019 10:02
To: devel@...
Cc: devel@...
Subject: [Zephyr-devel] How to combine smp_svr and hci_uart app's of zephyr for DFU OTA #ble #uart #samples #hci #nrf52480

 

Hi,

I want to do an DFU OTA in nRF52840 BLE chip.

I have flashed mcuboot bootloader and also flashed hci_uart (To scan BLE beacons) application. This will be one time flash using JTAG.

Now, I want to perform DFU OTA with the newly updated hci_uart application.

I found that we can do DFU using 'mcumgr' cli and to use 'mcumgr'  zephyr's smp_svr sample application is required on the chip.

But i can't do the firmware upgrade because i have only (mcuboot + hci_uart) app's on nRF52840 & not smp_svr. (Flashed one time using JTAG).

 

Q1 : Is it possible to combine smp_svr + hci_uart for one time flashing using JTAG. (So afterwards i can do OTA of hci_uart app directly using mcumgr tool)

Q2 : Is there any alternate way to perform DFU of hci_uart app with/without using smp_svr.

Thanks,
Mayank

1261 - 1280 of 7807