Date   

Re: usb device network on nrf52840 platform

cpmcparland@...
 

Jukka,

Thanks...learn something new everyday!  This is also a reason for NOT renaming the .conf file for
your project to something unique....which, of course, I did on my first project!

Cheers,
Chuck McP


NRF52832 - setting up NFFS for the external flash W25QXXDV

faisal.saleem@...
 

Hi

At the moment I am struggling to mount W25QXXDV external flash as NFFS. We have a custom board with nrf52832 connected to the external spi flash W25QXXDV. So Zephyr provides the driver for W25qxxdv, but without page layout implementation. I modified the driver by adding page layout support, simply copied from the nrf flash layout implementation.. given the size is 2MB, page size kept to 4096.. makes 512 pages... please correct me if I shouldn't be doing it... If I don't do it then I get kernel panic because there is no implementation. I know that PAGE_LAYOUT should be disabled to avoid it but one of the settings is overriding PAGE_LAYOUT to be activated even if I disable it.. 

#if defined(CONFIG_FLASH_PAGE_LAYOUT)
static struct flash_pages_layout dev_layout;
 
static void flash_W25QXXDV_pages_layout(struct device *dev,
     const struct flash_pages_layout **layout,
     size_t *layout_size)
{
dev_layout.pages_count = 512;
dev_layout.pages_size = 4096;
*layout = &dev_layout;
*layout_size = 1;
}
#endif /* CONFIG_FLASH_PAGE_LAYOUT */
 
static const struct flash_driver_api spi_flash_api = {
.read = spi_flash_wb_read,
.write = spi_flash_wb_write,
.erase = spi_flash_wb_erase,
.write_protection = spi_flash_wb_write_protection_set,
#if defined(CONFIG_FLASH_PAGE_LAYOUT)
#if 0
.page_layout = (flash_api_pages_layout)
       flash_page_layout_not_implemented,
#else
.page_layout = flash_W25QXXDV_pages_layout,
#endif
#endif
.write_block_size = 1};

I could also see that the nffs_mount function inside nffs_fs.c has hardcoded the flash id to 0.. does it indicate that NFFS is to be implemented only the internal flash... I have disabled that bit here and I am setting  "flash_desc" before entering the function and passing it through the input argument "mountp"... Please correct if my understanding is wrong.. e.g., 
                flash_desc.id = 1;
flash_desc.sector_count = flash_get_page_count(flash_dev);
flash_desc.area_offset = 0; //1044480;
flash_desc.area_size = 1048576;   //even though it is 2MB, I am only using 1MB for now...

static int nffs_mount(struct fs_mount_t *mountp)
{
struct nffs_flash_desc *flash_desc =
(struct nffs_flash_desc *)mountp->fs_data;
int cnt;
int rc;
 
/* Set flash device */
flash_dev = (struct device *)mountp->storage_dev;
 
/* Set flash descriptor fields */
#if 0
flash_desc->id = 0;
flash_desc->sector_count = flash_get_page_count(flash_dev);
flash_desc->area_offset = FLASH_AREA_STORAGE_OFFSET;
flash_desc->area_size = FLASH_AREA_STORAGE_SIZE;
#endif
rc = nffs_misc_reset();
if (rc) {
return -EIO;
}
 
cnt = CONFIG_NFFS_FILESYSTEM_MAX_AREAS;
rc = nffs_misc_desc_from_flash_area(flash_desc, &cnt, descs);
if (rc) {
return -EIO;
}
 
rc = nffs_restore_full(descs);
switch (rc) {
case 0:
break;
case FS_ECORRUPT:
rc = nffs_format_full(descs);
if (rc) {
return -EIO;
}
break;
default:
return -EIO;
}
 
return 0;}
So I could see that there is no "Lost+Found" directory inside the external flash, and when it tries to create it, it fails while writing.. thus I am getting -5 (EIO) message when I am trying to mount it...
Inside "nffs_restore_full" function, it does nffs_restore_area_contents(..) ... I could see activity on the pins when I probe it.. then it ensures that the file system contains a valid scratch area... then it ensures that the file system contains a valid root directory.. finally when it is trying to confirm, if there is a lost+found directory,.. which is not there, so it tries to create it and in turn writes to it, which fails... and it fails to mount...


my prj.conf looks like


CONFIG_FLASH_HAS_DRIVER_ENABLED=y
CONFIG_FLASH_HAS_PAGE_LAYOUT=y
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_SOC_FLASH_NRF=y
CONFIG_SOC_FLASH_NRF_RADIO_SYNC=y
CONFIG_SPI_FLASH_W25QXXDV=y
CONFIG_SPI_FLASH_W25QXXDV_SPI_NAME="SPI_1"
CONFIG_SPI_FLASH_W25QXXDV_DRV_NAME="W25QXXDV"
CONFIG_SPI_FLASH_W25QXXDV_INIT_PRIORITY=80
CONFIG_SPI_FLASH_W25QXXDV_SPI_FREQ_0=1000000
CONFIG_SPI_FLASH_W25QXXDV_SPI_SLAVE=1
CONFIG_SPI_FLASH_W25QXXDV_GPIO_SPI_CS=y
CONFIG_SPI_FLASH_W25QXXDV_GPIO_SPI_CS_DRV_NAME="GPIO_0"
CONFIG_SPI_FLASH_W25QXXDV_GPIO_SPI_CS_PIN=29
CONFIG_SPI_FLASH_W25QXXDV_GPIO_CS_WAIT_DELAY=50
CONFIG_SPI_FLASH_W25QXXDV_FLASH_SIZE=2097152
CONFIG_SPI_FLASH_W25QXXDV_DEVICE_ID=0x00ef4015
CONFIG_FS_FLASH_STORAGE_PARTITION=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y
CONFIG_FS_NFFS_FLASH_DEV_NAME="W25QXXDV"
CONFIG_FILE_SYSTEM=y
CONFIG_FS_NFFS_NUM_BLOCKS=1024
CONFIG_FS_NFFS_NUM_INODES=1024
CONFIG_FS_NFFS_NUM_CACHE_BLOCKS=1
CONFIG_FS_NFFS_NUM_CACHE_INODES=1
CONFIG_FS_NFFS_NUM_DIRS=4
CONFIG_FS_NFFS_NUM_FILES=4
CONFIG_FS_NFFS_NUM_INODES=64
CONFIG_NFFS_FILESYSTEM_MAX_AREAS=64
CONFIG_NFFS_FILESYSTEM_MAX_BLOCK_SIZE=128

If there is an example where we are utilizing both internal and external flash as NFFS, that would be useful... 

Below is my dts file... I have modified it and I can easily make the internal flash work correctly as NFFS.. I can easily upload and download a file into the internal flash via mynewt from our mac computer, size around 23k. I had to reduce the maximum data chunk size for file upload and download from 512 to 256 or else it would give me errors and would never finish the transfer... Now I want to store images into the external flash which is why i need to setup NFFS on it..  


/dts-v1/;
#include <nordic/nrf52832.dtsi>
 
/ {
model = "Nordic PCA10040 Dev Kit";
compatible = "nordic,pca10040-dk", "nordic,nrf52832-qfaa",
     "nordic,nrf52832";
 
chosen {
zephyr,console = &uart0;
#ifdef CONFIG_MCUMGR_SMP_UART
zephyr,uart-mcumgr = &uart0;
#endif
zephyr,sram = &sram0;
zephyr,flash = &flash0;
};
};
 
&adc {
status ="ok";
};
 
&gpiote {
status ="ok";
};
 
&gpio0 {
status ="ok";
};
 
&uart0 {
status = "ok";
compatible = "nordic,nrf-uart";
current-speed = <115200>;
};
 
&i2c0 {
status = "ok";
sda-pin = <26>;
scl-pin = <27>;
};
 
&i2c1 {
status = "ok";
sda-pin = <30>;
scl-pin = <31>;
};
 
&flash0 {
/*
* For more information, see:
* http://docs.zephyrproject.org/devices/dts/flash_partitions.html
*/
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
 
boot_partition: partition@0 {
label = "mcuboot";
reg = <0x00000000 0xc000>;
};
slot0_partition: partition@c000 {
label = "image-0";
reg = <0x0000C000 0x32000>;
};
slot1_partition: partition@3e000 {
label = "image-1";
reg = <0x0003E000 0x32000>;
};
scratch_partition: partition@70000 {
label = "image-scratch";
reg = <0x00070000 0xa000>;
};
 
#if defined(CONFIG_FS_FLASH_STORAGE_PARTITION)
storage_partition: partition@7a000 {
label = "storage";
reg = <0x0007a000 0x00006000>;
};
#endif
};
};


Any help is appreciated, Thanks

Faisal


【HCI_UART】hci_uart sample cannot advertise controlled by HCI commands #nrf52832 #uart #hci

icephyr
 

Hi guys, I met a problem with official hci_uart sample. Hope anybody can give me any advice,thanks.

I use NRF52832's official develop board running hci_uart sample as a controller, I send hci commands to it to make it advertise outside, also I open btmon to observe the process. It seems worked and output like this below. But I did not find the packet when I use my cell phone to scan the advertise packet. So my question is, Does hci_uart sample support the advertise function ? Any methods can help to resolve this problem ? Thanks


How to use Nordic ppi on zephyr. #nrf52 #ppi

Felipe Gabardo Gonçalves <felipe@...>
 

Hey guys,

I'm tryinig to create an external counter on nrf52 for 10MHz using PPI, GPIOTE and time counter but I don't know where I'm doing it wrong. Follow my code so far. The commented part is just a test I did with interruption to test the hardware, obviosly it won't reach the required 10MHz.


If anyone has any inputs would be very helpfull.

Regards,


Re: #nrf52840 #ble unstable connection #nrf52840 #ble

Randy Chou <rchou3@...>
 

Hi Vinayak,
I did some test today by using the latest master, there is no connection parameter update that means the CI keeps in 7.5ms, the connection keeps alive.
I try to update the CI to 30ms manually the connection can keep around 6.5 mins.
attachment is my .config file.

Thanks,
Randy


Re: usb device network on nrf52840 platform

Jukka Rissanen
 

On Tue, 2018-11-06 at 10:38 -0800, cpmcparland@rtisys.org wrote:
When the first line is uncommented, I get compile-time errors like
the following (simple variations not copied here-
but, I can send complete listing if needed).

$cmake -DCONF_FILE="prj.conf overlay-netusb.conf"
-DBOARD=nrf52840_pca10056 ../../
BTW, you can also say

$ cmake -DOVERLAY_CONFIG=overlay-netusb.conf -DBOARD=nrf52840_pca10056
../..

as prj.conf is automatically included anyway.
Using -DCONF_FILE="prj.conf overlay-netusb.conf" works too of course.


Cheers,
Jukka


Re: [Question] zephyr file transfer via BLE

우승우 <du5102@...>
 

Hi Carles

 

I have a question

 

NOW

 

Scenario

                               BLE file transfer                                    UART(file)

Android app (mcumgr) ----------------------à Nordic(nrf52810) ---------------à AP(zephyr OS)

 

refer to the following code you shared.

Check the smp server sample here: https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/subsys/mgmt/mcumgr/smp_svr

And the corresponding Android libraries here: https://github.com/runtimeco/mcumgr-android

 

I am aiming to send a file from mobile to BLE and ultimately to transfer the file to UART.

 

smp_svr Is this code the AP code or the hex code that I need to put in Nordic?

 

I do think, I need both Nordic code and AP code.?

 

Thanks you

 

From: Cufi, Carles [mailto:Carles.Cufi@...]
Sent: Thursday, October 18, 2018 5:15 PM
To:
우승우 <du5102@...>; devel@...
Subject: Re: [Zephyr-devel] [Question] zephyr file transfer via BLE

 

Hi there,

 

I believe mcumgr will allow you to do what you need.

Check the smp server sample here: https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/subsys/mgmt/mcumgr/smp_svr

And the corresponding Android libraries here: https://github.com/runtimeco/mcumgr-android

 

Carles

 

From: <devel@...> on behalf of 우승우 <du5102@...>
Date: Thursday, 18 October 2018 at 09:35
To: "devel@..." <devel@...>
Subject: [Zephyr-devel] [Question] zephyr file transfer via BLE

 

Hi, This is seungwoo

 

I have a question

 

If you look at the site below, I can transfer BLE file using Nordic chip.

https://devzone.nordicsemi.com/f/nordic-q-a/33093/transfer-big-file-over-ble

 

nrf52-ble-image-transfer-demo çè Android-Image-Transfer-Demo   // file transfer

 

I am trying to develop a device with BLE functionality using nrf52810 in zephyr OS.

 

Like nrf52-ble-image-transfer-demo, Can I use zephyr with an application that can transfer files with Android?

 

Or I would like to ask if there is a case in which Zephyr tried to implement file transmission via BLE.

 

Thanks you


Re: usb device network on nrf52840 platform

cpmcparland@...
 

Andrezej, thanks for looking at this.  To keep things simple, I went back to the sample project:

samples/net/echo_server

With the exception of adding the first line, I don't believe I have changed anything from the zephyr clone I
made a few weeks ago (1_13_99).  Here's the prj.conf.

************************************************
#CONFIG_NEWLIB_LIBC=y
# Generic networking options
CONFIG_NETWORKING=y
CONFIG_NET_UDP=y
CONFIG_NET_TCP=y
#CONFIG_NET_IPV6=y
CONFIG_NET_IPV4=y
#CONFIG_NET_DHCPV4=y

# Kernel options
#CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
#CONFIG_INIT_STACKS=y

# Logging
CONFIG_NET_LOG=y
CONFIG_LOG=y
CONFIG_NET_STATISTICS=y
CONFIG_PRINTK=y

# Network buffers
CONFIG_NET_PKT_RX_COUNT=14
CONFIG_NET_PKT_TX_COUNT=14
CONFIG_NET_BUF_RX_COUNT=36
CONFIG_NET_BUF_TX_COUNT=36
CONFIG_NET_CONTEXT_NET_PKT_POOL=y

# IP address options
CONFIG_NET_IF_UNICAST_IPV6_ADDR_COUNT=3
#CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT=4
CONFIG_NET_MAX_CONTEXTS=10

# Network shell
CONFIG_NET_SHELL=y

# Network application options and configuration
CONFIG_NET_APP_SERVER=y
CONFIG_NET_CONFIG_SETTINGS=y
#CONFIG_NET_CONFIG_NEED_IPV6=y
CONFIG_NET_CONFIG_NEED_IPV4=y
#CONFIG_NET_CONFIG_MY_IPV6_ADDR="2001:db8::1"
#CONFIG_NET_CONFIG_PEER_IPV6_ADDR="2001:db8::2"
CONFIG_NET_CONFIG_MY_IPV4_ADDR="192.0.2.1"
CONFIG_NET_CONFIG_PEER_IPV4_ADDR="192.0.2.2"

***************************************************
When the first line is uncommented, I get compile-time errors like the following (simple variations not copied here-
but, I can send complete listing if needed).

$cmake -DCONF_FILE="prj.conf overlay-netusb.conf" -DBOARD=nrf52840_pca10056 ../../
.... cmake completes successfully ...
$make
Scanning dependencies of target kobj_types_h_target
[  0%] Generating include/generated/kobj-types-enum.h, include/generated/otype-to-str.h
[  0%] Built target kobj_types_h_target
Scanning dependencies of target syscall_list_h_target
[  1%] Generating misc/generated/syscalls.json
[  1%] Generating include/generated/syscall_dispatch.c, include/generated/syscall_list.h
[  2%] Built target syscall_list_h_target
Scanning dependencies of target syscall_macros_h_target
[  2%] Generating include/generated/syscall_macros.h
[  2%] Built target syscall_macros_h_target
Scanning dependencies of target driver_validation_h_target
[  2%] Generating include/generated/driver-validation.h
[  2%] Built target driver_validation_h_target
Scanning dependencies of target offsets
[  2%] Building C object zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj
[  3%] Linking C static library liboffsets.a
[  3%] Built target offsets
Scanning dependencies of target offsets_h
[  3%] Generating include/generated/offsets.h
[  3%] Built target offsets_h
Scanning dependencies of target app
[  3%] Building C object CMakeFiles/app.dir/src/echo-server.c.obj
[  4%] Building C object CMakeFiles/app.dir/src/udp.c.obj
[  4%] Building C object CMakeFiles/app.dir/src/tcp.c.obj
[  5%] Linking C static library libapp.a
[  5%] Built target app
Scanning dependencies of target zephyr
[  6%] Building C object zephyr/CMakeFiles/zephyr.dir/arch/common/isr_tables.c.obj
[  7%] Building C object zephyr/CMakeFiles/zephyr.dir/lib/thread_entry.c.obj
[  7%] Building C object zephyr/CMakeFiles/zephyr.dir/lib/crc/crc32_sw.c.obj
[  8%] Building C object zephyr/CMakeFiles/zephyr.dir/lib/crc/crc16_sw.c.obj
[  8%] Building C object zephyr/CMakeFiles/zephyr.dir/lib/crc/crc8_sw.c.obj
[  9%] Building C object zephyr/CMakeFiles/zephyr.dir/lib/mempool/mempool.c.obj
[  9%] Building C object zephyr/CMakeFiles/zephyr.dir/lib/rbtree/rb.c.obj
[ 10%] Building C object zephyr/CMakeFiles/zephyr.dir/misc/printk.c.obj
[ 11%] Building C object zephyr/CMakeFiles/zephyr.dir/misc/generated/configs.c.obj
[ 11%] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/nrf52/power.c.obj
[ 12%] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/nrf52/soc.c.obj
[ 12%] Building C object zephyr/CMakeFiles/zephyr.dir/soc/arm/nordic_nrf/nrf52/mpu_regions.c.obj
[ 13%] Building C object zephyr/CMakeFiles/zephyr.dir/ext/hal/nordic/nrfx/mdk/system_nrf52840.c.obj
[ 13%] Building C object zephyr/CMakeFiles/zephyr.dir/ext/hal/nordic/nrfx_glue.c.obj
[ 14%] Building C object zephyr/CMakeFiles/zephyr.dir/ext/hal/nordic/nrfx/drivers/src/nrfx_systick.c.obj
[ 15%] Building C object zephyr/CMakeFiles/zephyr.dir/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c.obj

In file included from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/nrfx.h:37:0,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:32:
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:161:5: error: expected declaration specifiers or ‘...’ before ‘(’ token
     ((NRF_USBD_EPIN_CHECK(ep) ? NRFX_USBD_EPIN_BITPOS_0 : NRFX_USBD_EPOUT_BITPOS_0) \
     ^
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/./nrfx_glue.h:65:23: note: in definition of macro ‘NRFX_STATIC_ASSERT’
         static_assert(expression, "assertion failed")
                       ^~~~~~~~~~
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:185:20: note: in expansion of macro ‘NRFX_USBD_EP_BITPOS’
 NRFX_STATIC_ASSERT(NRFX_USBD_EP_BITPOS(NRFX_USBD_EPIN1)  == USBD_EPDATASTATUS_EPIN1_Pos );
                    ^~~~~~~~~~~~~~~~~~~

... more similar errors...

In file included from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/nrfx.h:37:0,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:32:
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c: In function ‘usbd_dmareq_process’:
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:1397:50: warning: passing argument 1 of ‘atomic_and’ from incompatible pointer type [-Wincompatible-pointer-types]
                     (void)(NRFX_ATOMIC_FETCH_AND(&m_ep_dma_waiting, ~(1U << pos)));
                                                  ^
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/./nrfx_glue.h:186:58: note: in definition of macro ‘NRFX_ATOMIC_FETCH_AND’
 #define NRFX_ATOMIC_FETCH_AND(p_data, value)  atomic_and(p_data, value)
                                                          ^~~~~~
In file included from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/include/kernel_includes.h:21:0,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/include/kernel.h:17,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/./nrfx_glue.h:139,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/nrfx.h:37,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:32:
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/include/atomic.h:248:28: note: expected ‘atomic_t * {aka int *}’ but argument is of type ‘uint32_t * {aka long unsigned int *}’
 static inline atomic_val_t atomic_and(atomic_t *target, atomic_val_t value)
                            ^~~~~~~~~~
zephyr/CMakeFiles/zephyr.dir/build.make:257: recipe for target 'zephyr/CMakeFiles/zephyr.dir/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c.obj' failed

... more similar errors...

I know echo_server does not require newlib; but my app may.  This is the same behavior I see in my project.
Thought focusing on a sample project would help keep things a bit clearer.

Cheers,
Chuck McP


Re: usb device network on nrf52840 platform

Puzdrowski, Andrzej
 

Hi

 

I’m unable to reproduce this problem – I mean that I did not encounter problem compiling usbd along with newlibc.

Can you point prj.conf you used, or even the project?

 

From: devel@... [mailto:devel@...] On Behalf Of cpmcparland@...
Sent: Tuesday, November 06, 2018 12:41 AM
To: devel@...
Subject: Re: [Zephyr-devel] usb device network on nrf52840 platform

 

Well, as is usually the case, as soon as I'm convinced I'm stuck and send off a note, I try something else and make a bit
of progress......sigh.  The new project I was trying to integrate with an ecm usb network device interface had the following in prj.conf:

CONFIG_NEWLIB_LIBC=y

As soon as I removed that line, nrfx_usbd.c compiled - as did everything else.  The requirement for newlib may have been historical
and possibly irrelevant now.  I was doing some testing with a 3rd party source code package.  But, I don't know if this constitutes an
issue with the newlib code in the present distribution (1_13_99).  Can't say that my code is now functional, but the bizarre compiler behavior has disappeared. 
So, I think an interaction with the current newlib code is the cause of my initial problem.

Any comments on this are appreciated.  I may need newlib for compatibility reasons later on....would like to understand what's going on
here.

Regards,
Chuck McP


Re: usb device network on nrf52840 platform

cpmcparland@...
 

Well, as is usually the case, as soon as I'm convinced I'm stuck and send off a note, I try something else and make a bit
of progress......sigh.  The new project I was trying to integrate with an ecm usb network device interface had the following in prj.conf:

CONFIG_NEWLIB_LIBC=y

As soon as I removed that line, nrfx_usbd.c compiled - as did everything else.  The requirement for newlib may have been historical
and possibly irrelevant now.  I was doing some testing with a 3rd party source code package.  But, I don't know if this constitutes an
issue with the newlib code in the present distribution (1_13_99).  Can't say that my code is now functional, but the bizarre compiler behavior has disappeared. 
So, I think an interaction with the current newlib code is the cause of my initial problem.

Any comments on this are appreciated.  I may need newlib for compatibility reasons later on....would like to understand what's going on
here.

Regards,
Chuck McP


usb device network on nrf52840 platform

cpmcparland@...
 

Has anyone had any luck adding usb device networking to a project outside of samples/net/echo_server ?
I have built the above project with -DCONF_FILE="prj.conf overlay-netusb.conf" and it appears to work correctly.
But, when I add the overlay-netusb.conf file to another project - in particular, samples/net/sntp_client, the file nrfx_usbd.c
fails to compile.

The compile problem shows up when compiling nrfx_usbd.c (which compiles fine in the echo_server project).  There are
a number of complaints; but I suspect they have the same root cause - undiscovered as yet!

In file included from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/nrfx.h:37:0,
                 from /home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:32:
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:161:5: error: expected declaration specifiers or ‘...’ before ‘(’ token
     ((NRF_USBD_EPIN_CHECK(ep) ? NRFX_USBD_EPIN_BITPOS_0 : NRFX_USBD_EPOUT_BITPOS_0) \
     ^
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/./nrfx_glue.h:65:23: note: in definition of macro ‘NRFX_STATIC_ASSERT’
         static_assert(expression, "assertion failed")
                       ^~~~~~~~~~
/home/mcp/ZephyrProjects/zephyr-1_13_99/zephyr/ext/hal/nordic/nrfx/drivers/src/nrfx_usbd.c:185:20: note: in expansion of macro ‘NRFX_USBD_EP_BITPOS’
 NRFX_STATIC_ASSERT(NRFX_USBD_EP_BITPOS(NRFX_USBD_EPIN1)  == USBD_EPDATASTATUS_EPIN1_Pos );
                    ^~~~~~~~~~~~~~~~~~~

From what I can see, macro processor can't find a symbol it needs for evaluation.  I think most of the include files are actually static and not created by cmake.
So, I don't expect any problems there. The .config files generated for both projects are the same viz. networking and the generated dts .h files for both projects are identical.

Has anyone integrated USB device networking into a non sample project.

Thanks,
Chuck McP


Re: Zephyr SDK 0.9.5 Release

Marti Bolivar <marti@...>
 

Thanks!

On Mon, Nov 5, 2018 at 1:07 PM Kumar Gala <kumar.gala@linaro.org> wrote:

We don’t need DTC greater than 1.4.6, so Mac & Windows should still be ok. Mostly updated the SDK version to get additional warning checks.

- k

On Nov 5, 2018, at 11:59 AM, Nashif, Anas <anas.nashif@intel.com> wrote:

Re DTC, I will Kumar and Carles answer.
Re OpenOCD: The Zephyr SDK was always Linux only. For Mac/Windows we currently have no solution beside the documentation.

Anas

-----Original Message-----
From: Marti Bolivar [mailto:marti@foundries.io]
Sent: Monday, November 5, 2018 12:32 PM
To: Nashif, Anas <anas.nashif@intel.com>
Cc: devel@lists.zephyrproject.org; announce@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] Zephyr SDK 0.9.5 Release

Hi Anas,

On Mon, Nov 5, 2018 at 8:21 AM Nashif, Anas <anas.nashif@intel.com> wrote:

Hi,

As announced a few weeks ago, we have been working on a new version of the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with 0.9.3:



· New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)

· Qemu installation now has all needed ROMs and BIOS files to support connecting Ethernet drivers such as the Intel e1000.

· New OpenOCD based master with Zephyr related changes (commit: 05e0d633)

· New DTC version 1.4.7+git (commit 2e930b7f8f6421638869a04b00297034c42e1a82)

· Upgrade arc binutils to 2018.03-rc2



The above changes and especially the Qemu related items require that you move to the new SDK ASAP, earlier version will not work with the master tree.

How are Windows and Mac users supposed to update DTC?

- macOS via HomeBrew seems to be on 1.4.7 exactly, and you mention commit 2e930b7, which is ahead of that tag in git://git.kernel.org/pub/scm/utils/dtc/dtc.git
- Windows via chocolatey looks like it's on some v1.4.7 commit that's not in the upstream tree (dtc --version shows "1.4.7-g79c2a3d9-dirty"
on my Windows machine)

Similar questions for openocd; do macOS and Windows users need to build their own? I looked at the openocd commit history around that time and there seem to be some generic RTOS support patches as well as nRF related patches, so I'm curious what windows/mac users are missing out on.

Thanks,
Marti



Re: Zephyr SDK 0.9.5 Release

Kumar Gala
 

We don’t need DTC greater than 1.4.6, so Mac & Windows should still be ok. Mostly updated the SDK version to get additional warning checks.

- k

On Nov 5, 2018, at 11:59 AM, Nashif, Anas <anas.nashif@intel.com> wrote:

Re DTC, I will Kumar and Carles answer.
Re OpenOCD: The Zephyr SDK was always Linux only. For Mac/Windows we currently have no solution beside the documentation.

Anas

-----Original Message-----
From: Marti Bolivar [mailto:marti@foundries.io]
Sent: Monday, November 5, 2018 12:32 PM
To: Nashif, Anas <anas.nashif@intel.com>
Cc: devel@lists.zephyrproject.org; announce@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] Zephyr SDK 0.9.5 Release

Hi Anas,

On Mon, Nov 5, 2018 at 8:21 AM Nashif, Anas <anas.nashif@intel.com> wrote:

Hi,

As announced a few weeks ago, we have been working on a new version of the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with 0.9.3:



· New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)

· Qemu installation now has all needed ROMs and BIOS files to support connecting Ethernet drivers such as the Intel e1000.

· New OpenOCD based master with Zephyr related changes (commit: 05e0d633)

· New DTC version 1.4.7+git (commit 2e930b7f8f6421638869a04b00297034c42e1a82)

· Upgrade arc binutils to 2018.03-rc2



The above changes and especially the Qemu related items require that you move to the new SDK ASAP, earlier version will not work with the master tree.

How are Windows and Mac users supposed to update DTC?

- macOS via HomeBrew seems to be on 1.4.7 exactly, and you mention commit 2e930b7, which is ahead of that tag in git://git.kernel.org/pub/scm/utils/dtc/dtc.git
- Windows via chocolatey looks like it's on some v1.4.7 commit that's not in the upstream tree (dtc --version shows "1.4.7-g79c2a3d9-dirty"
on my Windows machine)

Similar questions for openocd; do macOS and Windows users need to build their own? I looked at the openocd commit history around that time and there seem to be some generic RTOS support patches as well as nRF related patches, so I'm curious what windows/mac users are missing out on.

Thanks,
Marti



Re: Zephyr SDK 0.9.5 Release

Nashif, Anas
 

Re DTC, I will Kumar and Carles answer.
Re OpenOCD: The Zephyr SDK was always Linux only. For Mac/Windows we currently have no solution beside the documentation.

Anas

-----Original Message-----
From: Marti Bolivar [mailto:marti@foundries.io]
Sent: Monday, November 5, 2018 12:32 PM
To: Nashif, Anas <anas.nashif@intel.com>
Cc: devel@lists.zephyrproject.org; announce@lists.zephyrproject.org
Subject: Re: [Zephyr-devel] Zephyr SDK 0.9.5 Release

Hi Anas,

On Mon, Nov 5, 2018 at 8:21 AM Nashif, Anas <anas.nashif@intel.com> wrote:

Hi,

As announced a few weeks ago, we have been working on a new version of the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with 0.9.3:



· New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)

· Qemu installation now has all needed ROMs and BIOS files to support connecting Ethernet drivers such as the Intel e1000.

· New OpenOCD based master with Zephyr related changes (commit: 05e0d633)

· New DTC version 1.4.7+git (commit 2e930b7f8f6421638869a04b00297034c42e1a82)

· Upgrade arc binutils to 2018.03-rc2



The above changes and especially the Qemu related items require that you move to the new SDK ASAP, earlier version will not work with the master tree.

How are Windows and Mac users supposed to update DTC?

- macOS via HomeBrew seems to be on 1.4.7 exactly, and you mention commit 2e930b7, which is ahead of that tag in git://git.kernel.org/pub/scm/utils/dtc/dtc.git
- Windows via chocolatey looks like it's on some v1.4.7 commit that's not in the upstream tree (dtc --version shows "1.4.7-g79c2a3d9-dirty"
on my Windows machine)

Similar questions for openocd; do macOS and Windows users need to build their own? I looked at the openocd commit history around that time and there seem to be some generic RTOS support patches as well as nRF related patches, so I'm curious what windows/mac users are missing out on.

Thanks,
Marti


Re: [Zephyr-announce] [Zephyr-devel] Zephyr SDK 0.9.5 Release

Marti Bolivar <marti@...>
 

Hi Carles,

On Mon, Nov 5, 2018 at 10:46 AM Cufi, Carles <Carles.Cufi@nordicsemi.no> wrote:

Hi Martí,

-----Original Message-----
From: announce@lists.zephyrproject.org
<announce@lists.zephyrproject.org> On Behalf Of Marti Bolivar
Sent: 05 November 2018 18:32
To: Nashif, Anas <anas.nashif@intel.com>
Cc: devel@lists.zephyrproject.org; announce@lists.zephyrproject.org
Subject: Re: [Zephyr-announce] [Zephyr-devel] Zephyr SDK 0.9.5 Release

Hi Anas,

On Mon, Nov 5, 2018 at 8:21 AM Nashif, Anas <anas.nashif@intel.com>
wrote:

Hi,

As announced a few weeks ago, we have been working on a new version of
the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with
0.9.3:



· New QEMU release (based on 3.0.0+git
19b599f7664b2ebfd0f405fb79c14dd241557452)

· Qemu installation now has all needed ROMs and BIOS files to
support connecting Ethernet drivers such as the Intel e1000.

· New OpenOCD based master with Zephyr related changes (commit:
05e0d633)

· New DTC version 1.4.7+git (commit
2e930b7f8f6421638869a04b00297034c42e1a82)

· Upgrade arc binutils to 2018.03-rc2



The above changes and especially the Qemu related items require that
you move to the new SDK ASAP, earlier version will not work with the
master tree.


How are Windows and Mac users supposed to update DTC?

- macOS via HomeBrew seems to be on 1.4.7 exactly, and you mention
commit 2e930b7, which is ahead of that tag in
git://git.kernel.org/pub/scm/utils/dtc/dtc.git
- Windows via chocolatey looks like it's on some v1.4.7 commit that's
not in the upstream tree (dtc --version shows "1.4.7-g79c2a3d9-dirty"
on my Windows machine)
Windows is on 1.4.7 exactly. I created and updated the package myself 2 weeks ago. The dirty is there because there's a patch to make it work on Windows.
OK, thanks. So the dtc question is the same on Windows as on macOS
(and remains open): what should users do to get this latest version?
Will vanilla 1.4.7 continue to work?

Thanks,
Marti


Carles


Re: [Zephyr-announce] [Zephyr-devel] Zephyr SDK 0.9.5 Release

Carles Cufi
 

Hi Martí,

-----Original Message-----
From: announce@lists.zephyrproject.org
<announce@lists.zephyrproject.org> On Behalf Of Marti Bolivar
Sent: 05 November 2018 18:32
To: Nashif, Anas <anas.nashif@intel.com>
Cc: devel@lists.zephyrproject.org; announce@lists.zephyrproject.org
Subject: Re: [Zephyr-announce] [Zephyr-devel] Zephyr SDK 0.9.5 Release

Hi Anas,

On Mon, Nov 5, 2018 at 8:21 AM Nashif, Anas <anas.nashif@intel.com>
wrote:

Hi,

As announced a few weeks ago, we have been working on a new version of
the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with
0.9.3:



· New QEMU release (based on 3.0.0+git
19b599f7664b2ebfd0f405fb79c14dd241557452)

· Qemu installation now has all needed ROMs and BIOS files to
support connecting Ethernet drivers such as the Intel e1000.

· New OpenOCD based master with Zephyr related changes (commit:
05e0d633)

· New DTC version 1.4.7+git (commit
2e930b7f8f6421638869a04b00297034c42e1a82)

· Upgrade arc binutils to 2018.03-rc2



The above changes and especially the Qemu related items require that
you move to the new SDK ASAP, earlier version will not work with the
master tree.


How are Windows and Mac users supposed to update DTC?

- macOS via HomeBrew seems to be on 1.4.7 exactly, and you mention
commit 2e930b7, which is ahead of that tag in
git://git.kernel.org/pub/scm/utils/dtc/dtc.git
- Windows via chocolatey looks like it's on some v1.4.7 commit that's
not in the upstream tree (dtc --version shows "1.4.7-g79c2a3d9-dirty"
on my Windows machine)
Windows is on 1.4.7 exactly. I created and updated the package myself 2 weeks ago. The dirty is there because there's a patch to make it work on Windows.

Carles


Re: Zephyr SDK 0.9.5 Release

Marti Bolivar <marti@...>
 

Hi Anas,

On Mon, Nov 5, 2018 at 8:21 AM Nashif, Anas <anas.nashif@intel.com> wrote:

Hi,

As announced a few weeks ago, we have been working on a new version of the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with 0.9.3:



· New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)

· Qemu installation now has all needed ROMs and BIOS files to support connecting Ethernet drivers such as the Intel e1000.

· New OpenOCD based master with Zephyr related changes (commit: 05e0d633)

· New DTC version 1.4.7+git (commit 2e930b7f8f6421638869a04b00297034c42e1a82)

· Upgrade arc binutils to 2018.03-rc2



The above changes and especially the Qemu related items require that you move to the new SDK ASAP, earlier version will not work with the master tree.

How are Windows and Mac users supposed to update DTC?

- macOS via HomeBrew seems to be on 1.4.7 exactly, and you mention
commit 2e930b7, which is ahead of that tag in
git://git.kernel.org/pub/scm/utils/dtc/dtc.git
- Windows via chocolatey looks like it's on some v1.4.7 commit that's
not in the upstream tree (dtc --version shows "1.4.7-g79c2a3d9-dirty"
on my Windows machine)

Similar questions for openocd; do macOS and Windows users need to
build their own? I looked at the openocd commit history around that
time and there seem to be some generic RTOS support patches as well as
nRF related patches, so I'm curious what windows/mac users are missing
out on.

Thanks,
Marti


Zephyr SDK 0.9.5 Release

Nashif, Anas
 

Hi,

As announced a few weeks ago, we have been working on a new version of the SDK with updates mostly to the host tools.

This release of the SDK has the following changes as compared with 0.9.3:

 

·       New QEMU release (based on 3.0.0+git 19b599f7664b2ebfd0f405fb79c14dd241557452)

·       Qemu installation now has all needed ROMs and BIOS files to support connecting Ethernet drivers such as the Intel e1000.

·       New OpenOCD based master with Zephyr related changes (commit: 05e0d633)

·       New DTC version 1.4.7+git (commit 2e930b7f8f6421638869a04b00297034c42e1a82)

·       Upgrade arc binutils to 2018.03-rc2

 

The above changes and especially the Qemu related items require that you move to the new SDK ASAP, earlier version will not work with the master tree. In Zephyr, we have made the following changes based on the new SDK:

 

·       RISCV32 Qemu is now using a different machine type. Qemu-riscv32 is now an alias to the hifive1 board which can be run in Qemu as well.

·       NIOS2 Qemu is now using a different UART driver

·       ARM Qemu is now supported by two machine types:

o   mps2_an385: This one will be the default target for sanitycheck and will be used for testing kernel features. This machine type does have MPU support and will enable userspace testing on ARM

o   lm3s6965evb: This is the machine type we have now, we will keep it for compatibility and testing some networking and Bluetooth related features. It might be obsoleted in favor of the above in the future.

 

CI will be updated with the new SDK and sanitycheck will require the new SDK to pass, meaning that if you run sanitycheck locally you will need this SDK. We now made this version required for building Zephyr.

 

 

The SDK can be downloaded from here:

 

https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/tag/0.9.5

 

Previous release (0.9.4) has more change description:

https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/tag/0.9.4

 

 

Direct link to the SDK binary:

 

https://github.com/zephyrproject-rtos/meta-zephyr-sdk/releases/download/0.9.5/zephyr-sdk-0.9.5-setup.run

 

Note: All of the changes above are in https://github.com/zephyrproject-rtos/zephyr/pull/10136.

 

If you have any questions or have any issues with the new SDK, please lets us know or file a bug.

 

Regards,

Anas

 

 

 

 


Re: ARP request with 0.0.0.0 source ip

"K.I.R.A.
 

Add erhernet_init in init_func of your device. ARP table will be initialized.
Resolved.

---Original---
From: "魏学波"<38900484@...>
Date: Sat, Nov 3, 2018 11:09 AM
To: "devel"<devel@...>;
Subject: ARP request with 0.0.0.0 source ip

Hi Community guys,

I am using Ethernet device to do communication.
There's a confusion.
When sending a ARP request to find other device, Ethernet stack always fills source ip address with 0.0.0.0.
I'm not sure if it's a problem. As of now, after DHCP, communication is blocked.

Have you met this case?

Best Regards,
Bub Wei


Re: #nrf52840 #ble unstable connection #nrf52840 #ble

Randy Chou <rchou3@...>
 

Hi Vinayak,
I enable HCI_CORE_DEBUG to got some logs in the link
1. UART log. 
2. air log.

Thanks,
Randy

2581 - 2600 of 7936