Date   

Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-750] Arduino should support one configuration using original bootloader
https://jira.zephyrproject.org/browse/ZEP-750


UPDATED JIRA items within last 24 hours: 2
[ZEP-517] build on windows failed "zephyr/Makefile:869: *** multiple target patterns"
https://jira.zephyrproject.org/browse/ZEP-517

[ZEP-711] I2c: fails to write with mode fast plus
https://jira.zephyrproject.org/browse/ZEP-711


CLOSED JIRA items within last 24 hours: 1
[ZEP-655] (Fixed) QMSI shim driver: PWM: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-655


RESOLVED JIRA items within last 24 hours: 3
[ZEP-347] (Fixed) Driver for LSM6DS0 accelerometer and gyroscope
https://jira.zephyrproject.org/browse/ZEP-347

[ZEP-349] (Fixed) Driver for LPS25HB pressure sensor
https://jira.zephyrproject.org/browse/ZEP-349

[ZEP-528] (Fixed) ARC has 2 almost identical copies of the linker script
https://jira.zephyrproject.org/browse/ZEP-528


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/4419 : quark_se_devboard: enable UART0 on the sensor subsystem
- https://gerrit.zephyrproject.org/r/4422 : boards: rename Quark SE Devboard to Quark SE C1000
- https://gerrit.zephyrproject.org/r/4416 : arduino_101_sss: disable IPM
- https://gerrit.zephyrproject.org/r/4417 : boards: arduino_101: disable IPM
- https://gerrit.zephyrproject.org/r/4404 : Bluetooth: Add LE read supported states
- https://gerrit.zephyrproject.org/r/4424 : sensors: configure IPM in
- https://gerrit.zephyrproject.org/r/4420 : boards: rename Quark SE Devboard to Quark SE C1000 (Sensor Subsystem)
- https://gerrit.zephyrproject.org/r/4423 : MAINTAINERS: add maintainer for some of the boards
- https://gerrit.zephyrproject.org/r/4418 : quark_se_devboard: Do not enable IPM by default
- https://gerrit.zephyrproject.org/r/4414 : Bluetooth: Add sample implementing HoG
- https://gerrit.zephyrproject.org/r/4415 : Bluetooth: HoG: Require authentication for connections
- https://gerrit.zephyrproject.org/r/4413 : Bluetooth: Add service sample for HoG
- https://gerrit.zephyrproject.org/r/4402 : drivers: i2c_shim: fix i2c fast plus mode failure
- https://gerrit.zephyrproject.org/r/4399 : printk: warn on incorrect format code usage
- https://gerrit.zephyrproject.org/r/4400 : doxygen: ignore function attributes
- https://gerrit.zephyrproject.org/r/4406 : misc/byteorder.h: Add sys_get_le64 interface
- https://gerrit.zephyrproject.org/r/4410 : readme: Instructions for the new IP stack
- https://gerrit.zephyrproject.org/r/4409 : readme: Clarified the instructions in readme file
- https://gerrit.zephyrproject.org/r/4408 : radvd: Fix the comment in radvd.conf file
- https://gerrit.zephyrproject.org/r/4407 : scripts: Add license header to loop scripts
- https://gerrit.zephyrproject.org/r/4403 : build: default ARCH to be initialized by the board support code
- https://gerrit.zephyrproject.org/r/4397 : Generate nav.yaml for CMS site ingestion

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4376 : Bluetooth: GAP: Support multiple peripheral role connections
- https://gerrit.zephyrproject.org/r/4118 : tests: Add a generic testing framework
- https://gerrit.zephyrproject.org/r/4353 : ztest: Add native building support
- https://gerrit.zephyrproject.org/r/4356 : tests: convert tests/net/buf to the new framework
- https://gerrit.zephyrproject.org/r/4357 : tests: Add a sample for testing natively
- https://gerrit.zephyrproject.org/r/4354 : ztest: Add documentation
- https://gerrit.zephyrproject.org/r/4355 : ztest: Add simple integration and unit tests
- https://gerrit.zephyrproject.org/r/4251 : net: yaip: ieee802154: Normalize Kconfig
- https://gerrit.zephyrproject.org/r/4165 : net: drivers: Add a fake ieee802154 radio driver for qemu
- https://gerrit.zephyrproject.org/r/4167 : samples: net: Qemu make utilities update
- https://gerrit.zephyrproject.org/r/4197 : Bluetooth: AVDTP: Module intialization
- https://gerrit.zephyrproject.org/r/4253 : net: yaip: ieee802154: Add CSMA-CA non slotted radio protocol support
- https://gerrit.zephyrproject.org/r/4252 : net: yaip: Centralize generic IEEE 802.15.4 radio utility functions
- https://gerrit.zephyrproject.org/r/4304 : net: Legacy IP stack Kconfig has nothing to do with new stack
- https://gerrit.zephyrproject.org/r/4168 : net: samples: Add a simple Qemu sample for testing off-line 802.15.4
- https://gerrit.zephyrproject.org/r/4166 : samples: net: Moving the current ieee802154 sample
- https://gerrit.zephyrproject.org/r/4293 : net: drivers: cc2520 ieee802154 drivers select relevant options
- https://gerrit.zephyrproject.org/r/4294 : net: drivers: Normalize ieee802154 Kconfig
- https://gerrit.zephyrproject.org/r/4164 : net: ieee802154: Add basic support for IEEE 802.15.4e on FCF
- https://gerrit.zephyrproject.org/r/4292 : net: Split debug Kconfig options from legacy to new stack
- https://gerrit.zephyrproject.org/r/4291 : net: yaip: Normalize Kconfig and fix it
- https://gerrit.zephyrproject.org/r/4290 : net: yaip: Move IPv4 related Kconfig options to its own file
- https://gerrit.zephyrproject.org/r/4289 : net: yaip: Move IPv6 related Kconfig options to its own file
- https://gerrit.zephyrproject.org/r/4341 : Bluetooth: HFP HF: Initialize Handsfree profile
- https://gerrit.zephyrproject.org/r/4218 : Bluetooth: A2DP: Basic Implementation of A2DP Sink.
- https://gerrit.zephyrproject.org/r/3924 : ext/lib: HTTP test-case
- https://gerrit.zephyrproject.org/r/4327 : fix: "uninitialized" variables break DEBUG sanity
- https://gerrit.zephyrproject.org/r/4226 : net: Do not fill in TCP option bytes for all packets
- https://gerrit.zephyrproject.org/r/4371 : win-build: fixes to build with alternative make implementations
- https://gerrit.zephyrproject.org/r/3923 : ext/lib: Fix size_t dependency by adding stddef.h header
- https://gerrit.zephyrproject.org/r/3947 : sanitycheck: support for multiple toolchain
- https://gerrit.zephyrproject.org/r/4321 : Bluetooth: BR/EDR: Disconnect legacy device on auth failed
- https://gerrit.zephyrproject.org/r/3848 : lib: Introduce the CoAP implementation for Zephyr
- https://gerrit.zephyrproject.org/r/4055 : Bluetooth: SDP: Server implementation
- https://gerrit.zephyrproject.org/r/3922 : ext/lib: Add HTTP support in Zephyr
- https://gerrit.zephyrproject.org/r/4193 : nxp_kinetis: Refactor K64F init to use ksdk clock driver
- https://gerrit.zephyrproject.org/r/4192 : ksdk: Compile the ksdk clock driver
- https://gerrit.zephyrproject.org/r/4191 : nxp_kinetis: Add Kconfig options to configure clocks

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4412 : Bluetooth: UUID: Add HID Service
- https://gerrit.zephyrproject.org/r/4411 : Merge remote-tracking branch 'origin/master' into net
- https://gerrit.zephyrproject.org/r/4401 : Bluetooth: Controller: Use offsetof() in memory sizing
- https://gerrit.zephyrproject.org/r/4398 : Merge master branch into bluetooth
- https://gerrit.zephyrproject.org/r/4326 : net: Tighten ETHERTYPE decode.
- https://gerrit.zephyrproject.org/r/4305 : net: drivers: ieee802154: sys_log is needed on legacy driver
- https://gerrit.zephyrproject.org/r/4303 : loop-slip4.sh: Wrapper script to run tunslip for IPv4 connection to QEMU
- https://gerrit.zephyrproject.org/r/4395 : doc: Add link to 1.5 tagged documentation on /doc homepage
- https://gerrit.zephyrproject.org/r/3946 : testcases: filter cpp tests cases when using ISSM toolchain
- https://gerrit.zephyrproject.org/r/3945 : sanitycheck: filter: add support to use env variables


Re: Atomicity in GPIO pin changes

Jon Medhurst (Tixy) <tixy@...>
 

On Fri, 2016-08-26 at 17:18 +0200, Maciek Borzecki wrote:
On Fri, Aug 26, 2016 at 4:57 PM, Jon Medhurst (Tixy) <tixy(a)linaro.org> wrote:
On Fri, 2016-08-26 at 10:32 -0400, Benjamin Walsh wrote:
Spinlocks don't give you anything more than interrupt or scheduler
locking in a uniprocessor system with a scheduler like Zephyr's, since
you need to lock interrupts and/or scheduling as well when you're holing
them or there is a good chance you'll deadlock. You probably want just
interrupt or scheduler locking instead. Scheduler locking is coming up
in the upcoming unified kernel, but is not available at the moment;
interrupt locking is of course available.
I figured that interrupt locking was the way to go, was just wary of it
since it would break with SMP. Guess when that arrives all interrupt
disabling will need to be audited and converted to spinlocks if
appropriate.

That still leaves the issue that current GPIO drivers look dodgy without
any locking.
Not entirely. A particular SoC may provide means of setting/resetting
GPIO in an atomic fashion. Driver implementation should use such
mechanism if present.

For instance, STM32 GPIO peripheral has 2 dedicated bit set/reset
registers (GPIOx_BSRR/BRR) that allow for switching individual line
states in an atomic fashion. In this case, the driver does not perform
an intermediate read, but rather writes a desired value to the
register.
Thanks. I can see stm32 is OK in this regard, none of the others appear
to be.

I'll use interrupt disabling for my code to make it safe until SMP
arrives.

--
Tixy


Re: Porting to Cortex-M0+

Euan Mutch <euan.mutch@...>
 

Hi Maureen/Iván,

I managed to get it working now and my led is flashing :)

Thanks!


Re: Porting to Cortex-M0+

Maureen Helm
 

Hi Euan,

-----Original Message-----
From: Euan Mutch [mailto:euan.mutch(a)gmail.com]
Sent: Monday, August 29, 2016 5:56 AM
To: devel(a)lists.zephyrproject.org
Subject: [devel] Re: Re: Re: Re: Re: Re: Porting to Cortex-M0+

So the best way forward is to add the device headers to /hal/asf and change
sam3 to the family/series hierarchy?
Yes. I checked with the LF, and they recommended that the Zephyr TSC asks the governing board to approve the ASF license.

There are some really weird things going on with the Atmel drivers, especially
some of the really horrible macros they use. Took me a full day just to decipher
the clock init code.

Quick (newbie) question:
I have currently added just the M0+ specific bits of asf, but I can't get it to link
properly and so get "undefined reference to 'system_init'" when I try to use it.
It is really hard to figure out how to do certain things in zephyr such as adding
external stuff... Although that could just be because I have never worked on
something like this before.
I don't understand how the other HALs work since they also have drivers in
them, I have exactly the same setup as those. Which seems to just be including
the files and never building anything?
Don't forget to look at the Kbuild files, such as ext/hal/qmsi/Kbuild. I've also go this patch in the works for Kinetis SDK:
https://gerrit.zephyrproject.org/r/#/c/4192/3


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-749] TinyCrypt uses an old, unoptimized version of micro-ecc
https://jira.zephyrproject.org/browse/ZEP-749


UPDATED JIRA items within last 24 hours: 0

CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/4395 : doc: Add link to 1.5 tagged documentation on /doc homepage
- https://gerrit.zephyrproject.org/r/4393 : Merge remote-tracking branch 'origin/master' into net
- https://gerrit.zephyrproject.org/r/4392 : net: yaip: Add network address length to user API

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4193 : nxp_kinetis: Refactor K64F init to use ksdk clock driver
- https://gerrit.zephyrproject.org/r/3924 : ext/lib: HTTP test-case
- https://gerrit.zephyrproject.org/r/3923 : ext/lib: Fix size_t dependency by adding stddef.h header
- https://gerrit.zephyrproject.org/r/3922 : ext/lib: Add HTTP support in Zephyr
- https://gerrit.zephyrproject.org/r/4192 : ksdk: Compile the ksdk clock driver
- https://gerrit.zephyrproject.org/r/3947 : sanitycheck: support for multiple toolchain
- https://gerrit.zephyrproject.org/r/3946 : testcases: filter cpp tests cases when using ISSM toolchain
- https://gerrit.zephyrproject.org/r/3945 : sanitycheck: filter: add support to use env variables
- https://gerrit.zephyrproject.org/r/4191 : nxp_kinetis: Add Kconfig options to configure clocks
- https://gerrit.zephyrproject.org/r/4360 : ksdk: Add KSDK RNGA driver.
- https://gerrit.zephyrproject.org/r/4197 : Bluetooth: AVDTP: Module intialization
- https://gerrit.zephyrproject.org/r/4353 : ztest: Add native building support
- https://gerrit.zephyrproject.org/r/4354 : ztest: Add documentation
- https://gerrit.zephyrproject.org/r/4356 : tests: convert tests/net/buf to the new framework
- https://gerrit.zephyrproject.org/r/4357 : tests: Add a sample for testing natively
- https://gerrit.zephyrproject.org/r/4355 : ztest: Add simple integration and unit tests
- https://gerrit.zephyrproject.org/r/4118 : tests: Add a generic testing framework
- https://gerrit.zephyrproject.org/r/4218 : Bluetooth: A2DP: Basic Implementation of A2DP Sink.
- https://gerrit.zephyrproject.org/r/4341 : Bluetooth: HFP HF: Initialize Handsfree profile
- https://gerrit.zephyrproject.org/r/3311 : include/crypto: Crypto abstraction header
- https://gerrit.zephyrproject.org/r/3312 : drivers/crypto: Tinycrypt shim driver
- https://gerrit.zephyrproject.org/r/3313 : samples/drivers/crypto: crypto sample app
- https://gerrit.zephyrproject.org/r/4376 : Bluetooth: GAP: Support multiple peripheral role connections

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4394 : checkpatch: fix ERROR:POINTER_LOCATION
- https://gerrit.zephyrproject.org/r/4387 : MAINTAINERS: Fix path for BLUETOOTH CONTROLLER
- https://gerrit.zephyrproject.org/r/4388 : Bluetooth: RFCOMM: Fix BT_RFCOMM_BUF_SIZE to include FCS and len
- https://gerrit.zephyrproject.org/r/4391 : Bluetooth: RFCOMM: Introduce Kconfig for max L2CAP MTU
- https://gerrit.zephyrproject.org/r/4396 : Bluetooth: Move reading extended features to BR/EDR section of init
- https://gerrit.zephyrproject.org/r/4390 : Revert "printk: warn on incorrect printf-style usage"
- https://gerrit.zephyrproject.org/r/4389 : Bluetooth: Kconfig: Add default for L2CAP_IN_MTU if BREDR is enabled
- https://gerrit.zephyrproject.org/r/4386 : Bluetooth: ATT: Fix usage of unsupported %zu format specifier
- https://gerrit.zephyrproject.org/r/4384 : Bluetooth: Controller: Fix deadlock in recv fiber
- https://gerrit.zephyrproject.org/r/4383 : Bluetooth: Controller: Fix memory required calculation macro
- https://gerrit.zephyrproject.org/r/4339 : drivers/nble: Rename nrf51 power management functions
- https://gerrit.zephyrproject.org/r/4344 : Bluetooth: RFCOMM: Remove BT_RFCOMM_SEND_RESERVE
- https://gerrit.zephyrproject.org/r/4343 : Bluetooth: shell: Use bt_rfcomm_create_pdu() in RFCOMM send
- https://gerrit.zephyrproject.org/r/4336 : Bluetooth: RFCOMM: Introduce helper to create rfcomm pdu
- https://gerrit.zephyrproject.org/r/4377 : Bluetooth: GATT: Fix notifications to non-bonded peers
- https://gerrit.zephyrproject.org/r/4342 : Bluetooth: Kconfig: Be consistent with the use of tabs vs spaces
- https://gerrit.zephyrproject.org/r/4378 : Bluetooth: Cleanup and extend HCI header
- https://gerrit.zephyrproject.org/r/4382 : Bluetooth: Clean up feature test macros


Re: having trouble getting the echo client to work using TCP/uIP on K64F

Paul Sokolovsky
 

Hello Rohit,

On Fri, 26 Aug 2016 11:06:33 +0000
Rohit Grover <Rohit.Grover(a)arm.com> wrote:

Paul,

It is useful to work our way through the core BSD socket API in the
context of Z-uIP.
I'm glad to know you care about this usecase too, and thanks for
sharing this on list, I hope this will be useful feedback for Z's
network stack designers. I also dumped some additional thoughts
on this matter at https://jira.zephyrproject.org/browse/ZEP-741 .


Let's take connect(). Assuming that a net_context has been setup,
connect() can be implemented using the snippet:

net_context_tcp_init(net_context, NULL /* bp */, NET_TCP_TYPE_CLIENT);
while ((status = net_context_get_connection_status(unicast)) != 0) {
fiber_sleep(SOME_SMALL_DURATION);
}

We're passing `bp' as NULL, but it seems un-necessary for
net_context_init() to require a bp. This leads us to commit 61edc68c,
by Jukka, where many of the APIs suddenly acquired an additional 'bp'
parameter. In some cases, this led to code which I'm having trouble
understanding.
Right, I also had a look at that commit. Well, it says it's related to
IPv6 support, and I'm not much familiar with its support in uIP to
assess those changes, but it indeed looks like TCP/IPv4 support might
have regressed as a result. Going to keep looking into that...

, I've attached the diff, but I'll highlight a
snippet. Take the case of tcpip_poll_tcp(), which is responsible for
sending out the initial SYN packet.

@@ -837,12 +837,18 @@ tcpip_poll_udp(struct uip_udp_conn *conn)
/*---------------------------------------------------------------------------*/
#if UIP_TCP
void
-tcpip_poll_tcp(struct uip_conn *conn)
+tcpip_poll_tcp(struct uip_conn *conn, struct net_buf *data_buf)
{
/* We are sending here the initial SYN */
struct net_buf *buf = ip_buf_get_tx(conn->appstate.state);
- uip_set_conn(buf) = conn;
- conn->buf = ip_buf_ref(buf);
+ uip_set_conn(data_buf) = conn;
+
+ /* The conn->buf will be freed after we have established the
connection,
+ * sent the message and received an ack to it. This will happen in
+ * net_core.c:net_send().
+ */
+ conn->buf = ip_buf_ref(data_buf);
+
process_post_synch(&tcpip_process, TCP_POLL, conn, buf);
}

Here we see that we acquire a buf to send out a 'SYN' (refer to
ip_buf_get_tx(...) above), but whereas previously we would associate
it with the new connection and have its ref-count bumped, we now do
those things for the 'data_buf' instead. This is a bit confusing. I
don't see why the handling of the SYN buf needed to be changed.

Rohit.
[]

--
Best Regards,
Paul

Linaro.org | Open source software for ARM SoCs
Follow Linaro: http://www.facebook.com/pages/Linaro
http://twitter.com/#!/linaroorg - http://www.linaro.org/linaro-blog


Re: Porting to Cortex-M0+

Iván Briano <ivan.briano at intel.com...>
 

On Mon, 29 Aug 2016 10:56:06 +0000, Euan Mutch wrote:
So the best way forward is to add the device headers to /hal/asf and change sam3 to the family/series hierarchy?

There are some really weird things going on with the Atmel drivers, especially some of the really horrible macros they use. Took me a full day just to decipher the clock init code.

Quick (newbie) question:
I have currently added just the M0+ specific bits of asf, but I can't get it to link properly and so get "undefined reference to 'system_init'" when I try to use it. It is really hard to figure out how to do certain things in zephyr such as adding external stuff... Although that could just be because I have never worked on something like this before.
I don't understand how the other HALs work since they also have drivers in them, I have exactly the same setup as those. Which seems to just be including the files and never building anything?
If the HAL is only a bunch of headers, then you don't need to build
anything. But if you look at the QMSI one, you'll see it's building a
lot of stuff, so it may serve as an example.


Zephyr 1.5.0 tagged

Nashif, Anas
 

Hi,
Zephyr 1.5.0 was tagged and the merge window for 1.6.0 is now open.

1.6.0 will be released end of November which means the merge window will be open until early November.

Release notes for 1.5.0 will follow and will be posted here and on the website.


Regards,
Anas


Re: Porting to Cortex-M0+

Euan Mutch <euan.mutch@...>
 

So the best way forward is to add the device headers to /hal/asf and change sam3 to the family/series hierarchy?

There are some really weird things going on with the Atmel drivers, especially some of the really horrible macros they use. Took me a full day just to decipher the clock init code.

Quick (newbie) question:
I have currently added just the M0+ specific bits of asf, but I can't get it to link properly and so get "undefined reference to 'system_init'" when I try to use it. It is really hard to figure out how to do certain things in zephyr such as adding external stuff... Although that could just be because I have never worked on something like this before.
I don't understand how the other HALs work since they also have drivers in them, I have exactly the same setup as those. Which seems to just be including the files and never building anything?


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 0

UPDATED JIRA items within last 24 hours: 2
[ZEP-635] Add FS API to grow a file
https://jira.zephyrproject.org/browse/ZEP-635

[ZEP-622] Add FS API to truncate/shrink a file
https://jira.zephyrproject.org/browse/ZEP-622


CLOSED JIRA items within last 24 hours: 0

RESOLVED JIRA items within last 24 hours: 1
[ZEP-528] (Fixed) ARC has 2 almost identical copies of the linker script
https://jira.zephyrproject.org/browse/ZEP-528


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/4382 : Bluetooth: Clean up feature test macros

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4378 : Bluetooth: Extend HCI to cover all BLE commands and events
- https://gerrit.zephyrproject.org/r/4377 : Bluetooth: GATT: Fix notifications to non-bonded peers
- https://gerrit.zephyrproject.org/r/4376 : Bluetooth: GAP: Support multiple peripheral role connections
- https://gerrit.zephyrproject.org/r/3895 : tests/kernel/test_multilib: Test for proper multilib selection.

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4381 : Bluetooth: Fix feature page count for single-mode configuration
- https://gerrit.zephyrproject.org/r/4380 : Bluetooth: Fix reading local features
- https://gerrit.zephyrproject.org/r/4379 : Bluetooth: Make lmp_ext_feat_capable() more generic
- https://gerrit.zephyrproject.org/r/4173 : tests: kernel: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4170 : printk: make _char_out globally accessible
- https://gerrit.zephyrproject.org/r/4366 : test_cbc: fix indentation
- https://gerrit.zephyrproject.org/r/4183 : samples: zperf: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4184 : drivers: console_handler_shell: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4188 : samples: i2c_fujitsu_fram: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4169 : printk: "support" some modifier codes
- https://gerrit.zephyrproject.org/r/4172 : tests: crypto: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4171 : tests: test_printk: crude printk test case
- https://gerrit.zephyrproject.org/r/4207 : printk: print leading '0x' for %p
- https://gerrit.zephyrproject.org/r/4363 : test_sha256: fix indentation
- https://gerrit.zephyrproject.org/r/4206 : libc: minimal: add reduced inttypes.h
- https://gerrit.zephyrproject.org/r/4190 : printk: warn on incorrect printf-style usage
- https://gerrit.zephyrproject.org/r/4176 : tests: benchmark: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4174 : tests: net: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4185 : drivers: ipm_console: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4181 : samples: fat_fs: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4179 : nios2: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4177 : net: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4186 : x86: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4182 : samples: ipm: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4180 : arc: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4178 : arm: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4175 : tests: bluetooth: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4187 : drivers: pci: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4365 : test_ctr: fix indentation
- https://gerrit.zephyrproject.org/r/4364 : test_hmac: fix indentation
- https://gerrit.zephyrproject.org/r/4257 : lib: Use offsetof() builtin with GCC


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 5
[ZEP-744] USB WebUSB
https://jira.zephyrproject.org/browse/ZEP-744

[ZEP-748] Enable mbedtls_sslclient sample to run on quark se board
https://jira.zephyrproject.org/browse/ZEP-748

[ZEP-745] Revisit design of PWM Driver API
https://jira.zephyrproject.org/browse/ZEP-745

[ZEP-746] API documentation doesn't link to conceptual documentation
https://jira.zephyrproject.org/browse/ZEP-746

[ZEP-747] Nano FIFO reserving first four bytes of user data isn't well-documented
https://jira.zephyrproject.org/browse/ZEP-747


UPDATED JIRA items within last 24 hours: 4
[ZEP-244] Multiple Published Versions Support
https://jira.zephyrproject.org/browse/ZEP-244

[ZEP-655] QMSI shim driver: PWM: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-655

[ZEP-517] build on windows failed "zephyr/Makefile:869: *** multiple target patterns"
https://jira.zephyrproject.org/browse/ZEP-517

[ZEP-539] Jenkins marks patches -1 verified for style issues
https://jira.zephyrproject.org/browse/ZEP-539


CLOSED JIRA items within last 24 hours: 6
[ZEP-658] (Fixed) QMSI shim driver: GPIO: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-658

[ZEP-650] (Fixed) Quark SE: Implement PM reference application
https://jira.zephyrproject.org/browse/ZEP-650

[ZEP-662] (Fixed) QMSI shim driver: Pinmux: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-662

[ZEP-659] (Fixed) QMSI shim driver: UART: Implement suspend and resume callbacks
https://jira.zephyrproject.org/browse/ZEP-659

[ZEP-739] (Fixed) warnings when building samples for quark_se devboard
https://jira.zephyrproject.org/browse/ZEP-739

[ZEP-642] (Fixed) Inconsistent interpretation of pwm_pin_set_values arguments among drivers
https://jira.zephyrproject.org/browse/ZEP-642


RESOLVED JIRA items within last 24 hours: 0


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/4378 : Bluetooth: Extend HCI to cover all BLE commands and events
- https://gerrit.zephyrproject.org/r/4365 : test_ctr: fix indentation
- https://gerrit.zephyrproject.org/r/4366 : test_cbc: fix indentation
- https://gerrit.zephyrproject.org/r/4364 : test_hmac: fix indentation
- https://gerrit.zephyrproject.org/r/4363 : test_sha256: fix indentation
- https://gerrit.zephyrproject.org/r/4377 : Bluetooth: GATT: Fix notifications to non-bonded peers
- https://gerrit.zephyrproject.org/r/4376 : Bluetooth: GAP: Support multiple peripheral role connections
- https://gerrit.zephyrproject.org/r/4375 : tests: fixed resulting binary name in README
- https://gerrit.zephyrproject.org/r/4372 : fs: Adds file system API to grow or shrink a file
- https://gerrit.zephyrproject.org/r/4371 : win-build: fixes to build with alternative make implementations

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4177 : net: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4183 : samples: zperf: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4181 : samples: fat_fs: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4178 : arm: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4175 : tests: bluetooth: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4184 : drivers: console_handler_shell: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4182 : samples: ipm: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4179 : nios2: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4176 : tests: benchmark: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4172 : tests: crypto: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4174 : tests: net: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4173 : tests: kernel: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4206 : libc: minimal: add reduced inttypes.h
- https://gerrit.zephyrproject.org/r/4357 : tests: Add a sample for testing natively
- https://gerrit.zephyrproject.org/r/3459 : soc: Add soc id and version interface
- https://gerrit.zephyrproject.org/r/4081 : power_mgmt: Updated Power Management device driver API
- https://gerrit.zephyrproject.org/r/3845 : x86: remove dynamic interrupts and exceptions
- https://gerrit.zephyrproject.org/r/3856 : x86: declare internal API for interrupt controllers
- https://gerrit.zephyrproject.org/r/3953 : sanitycheck: complain loudly about missing platforms
- https://gerrit.zephyrproject.org/r/3847 : arm: remove dynamic IRQs and exceptions
- https://gerrit.zephyrproject.org/r/3846 : arc: remove deprecated dynamic interrupt implementation
- https://gerrit.zephyrproject.org/r/4187 : drivers: pci: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4170 : printk: make _char_out globally accessible
- https://gerrit.zephyrproject.org/r/4169 : printk: "support" some modifier codes
- https://gerrit.zephyrproject.org/r/4171 : tests: test_printk: crude printk test case
- https://gerrit.zephyrproject.org/r/3957 : microkernel: remove deprecated task IRQs
- https://gerrit.zephyrproject.org/r/3844 : test_context: don't test dynamic exceptions
- https://gerrit.zephyrproject.org/r/3843 : zephyr: remove deprecated dynamic interrupt API
- https://gerrit.zephyrproject.org/r/4190 : printk: warn on incorrect printf-style usage
- https://gerrit.zephyrproject.org/r/4188 : samples: i2c_fujitsu_fram: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4186 : x86: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4185 : drivers: ipm_console: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4180 : arc: fix incorrect printk() usage
- https://gerrit.zephyrproject.org/r/4207 : printk: print leading '0x' for %p
- https://gerrit.zephyrproject.org/r/4359 : ksdk: Allow KSDK selection via Kconfig
- https://gerrit.zephyrproject.org/r/3895 : tests/kernel/test_multilib: Test for proper multilib selection.
- https://gerrit.zephyrproject.org/r/4341 : Bluetooth: HFP HF: Initialize Handsfree profile
- https://gerrit.zephyrproject.org/r/4354 : ztest: Add documentation
- https://gerrit.zephyrproject.org/r/4360 : ksdk: Add KSDK RNGA driver.
- https://gerrit.zephyrproject.org/r/4336 : Bluetooth: RFCOMM: Introduce helper to create rfcomm pdu

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4367 : latency test: remove references to unused legacy "KERNEL" preproc flag
- https://gerrit.zephyrproject.org/r/4368 : tests/crypto: rename MICROKERNEL entry from 'mainloop' to 'main'
- https://gerrit.zephyrproject.org/r/4361 : ext/hal: add maintainers for both cmsis and ksdk
- https://gerrit.zephyrproject.org/r/4374 : MAINTAINERS: fix email syntax
- https://gerrit.zephyrproject.org/r/4362 : device: small typo in comment
- https://gerrit.zephyrproject.org/r/4373 : Merge master branch into bluetooth
- https://gerrit.zephyrproject.org/r/4370 : Zephyr 1.5.0
- https://gerrit.zephyrproject.org/r/4369 : sanitychecks: update release data
- https://gerrit.zephyrproject.org/r/4310 : Make outdir board-specific to avoid build collisions
- https://gerrit.zephyrproject.org/r/3956 : arc: unify copied linker script
- https://gerrit.zephyrproject.org/r/4246 : nano_work: Make use of ATOMIC_DEFINE for the flags
- https://gerrit.zephyrproject.org/r/4330 : arc/soc: remove unused CONFIG_TIMER0_CLOCK_FREQ
- https://gerrit.zephyrproject.org/r/4300 : Bluetooth: Enable Secure Connections if supported
- https://gerrit.zephyrproject.org/r/4349 : Bluetooth: Read local extended features on init
- https://gerrit.zephyrproject.org/r/4299 : Bluetooth: Add support for P256 Link Keys
- https://gerrit.zephyrproject.org/r/4298 : Bluetooth: Refactor Link Key notification event handling


Daily JIRA Digest

donotreply@...
 

NEW JIRA items within last 24 hours: 1
[ZEP-741] Network TCP API is adhoc and makes arbitrary assumptions
https://jira.zephyrproject.org/browse/ZEP-741


UPDATED JIRA items within last 24 hours: 2
[ZEP-172] tests/kernel/test_task_priv/test FAILED in QEMU
https://jira.zephyrproject.org/browse/ZEP-172

[ZEP-735] Several Tests and Samples are broken for CONFIG_DEBUG
https://jira.zephyrproject.org/browse/ZEP-735


CLOSED JIRA items within last 24 hours: 3
[ZEP-616] (Fixed) OS X setup instructions not working on El Capitan
https://jira.zephyrproject.org/browse/ZEP-616

[ZEP-423] (Fixed) Quark D2000 CRB documentation should include instructions to flash bootloader
https://jira.zephyrproject.org/browse/ZEP-423

[ZEP-68] (Fixed) Final image contains duplicates of some routines
https://jira.zephyrproject.org/browse/ZEP-68


RESOLVED JIRA items within last 24 hours: 0


Re: Porting to Cortex-M0+

Maureen Helm
 

-----Original Message-----
From: Piotr Mienkowski [mailto:Piotr.Mienkowski(a)schmid-telecom.ch]
Sent: Thursday, August 25, 2016 4:22 AM
To: devel(a)lists.zephyrproject.org
Subject: [devel] Re: Re: Re: Re: Porting to Cortex-M0+

Hi,

I have the same problem. I would like to add support for Atmel SAM E70 chip
(Cortex-M7) and was thinking that using the header files provided by Atmel as
part of their ASF would make the job much, much easier.

Euan, did you already add files to ext/hal/ folder? Have you talked to Maureen
Helm, the ARM architecture maintainer? Should we agree on folder structure
so support for future Atmel chips can be easily added?
I agree it would make sense to add the device header files from Atmel to ext/hal. We already have the CMSIS Core header files from ARM in ext/hal/cmsis, which are being used by the NXP ksdk and Nordic mdk. As far as folder structure goes, I think anything under ext/hal/asf (or whatever we end up calling it) has some freedom to do what makes sense. For ext/hal/cmsis and ext/hal/ksdk, I tried to preserve the structure from the original source as much as possible. The folder structure under arch/arm/soc is intended to be more standardized, though you may have noticed that some SoCs have a family/series hierarchy (nxp_kinetis) and some don't (atmel_sam3). To add SAM E70, we'll need to first convert the existing atmel_sam3 to the family/series hierarchy. Something like this:

arch/arm/soc/atmel_smart/sam3
arch/arm/soc/atmel_smart/same7x


My thoughts:
I think we should only add header files that define register access and do not
add any device drivers. While header files are valuable the Atmel
implementation of device drivers looks low quality, at least the SAM E70
package. The way API is written is not directly useful for any serious
development, neither it follows CMSIS standard. While some drivers look good,
some are incomplete and some are buggy. We would need to fix them and
cooperate with Atmel to push changes upstream. I reckon using third party
source code which is not maintained in open source model is not a viable long
term solution. Not mentioning the fact that device drivers will have to be tightly
integrated with Zephyr kernel. I believe it's easier to write our own drivers
from scratch. Anyway, that's only my opinion.
I can't comment on the state of the Atmel drivers, but at least for NXP we do a lot of testing on the ksdk drivers and they are actively maintained. Intel is doing a similar thing with their qmsi drivers.


The text of SAM Software Package License included in the source code (and
header files) looks actually very permissive but IANAL, also the ext/hal/ folder
has already a selection of proprietary code with similar licenses. In any case we
should probably get an official green light from someone.
IANAL either, but will check with someone at LF on this.


Cheers,
Piotr


Re: Atomicity in GPIO pin changes

Maciek Borzecki <maciek.borzecki@...>
 

On Fri, Aug 26, 2016 at 4:57 PM, Jon Medhurst (Tixy) <tixy(a)linaro.org> wrote:
On Fri, 2016-08-26 at 10:32 -0400, Benjamin Walsh wrote:
Spinlocks don't give you anything more than interrupt or scheduler
locking in a uniprocessor system with a scheduler like Zephyr's, since
you need to lock interrupts and/or scheduling as well when you're holing
them or there is a good chance you'll deadlock. You probably want just
interrupt or scheduler locking instead. Scheduler locking is coming up
in the upcoming unified kernel, but is not available at the moment;
interrupt locking is of course available.
I figured that interrupt locking was the way to go, was just wary of it
since it would break with SMP. Guess when that arrives all interrupt
disabling will need to be audited and converted to spinlocks if
appropriate.

That still leaves the issue that current GPIO drivers look dodgy without
any locking.
Not entirely. A particular SoC may provide means of setting/resetting
GPIO in an atomic fashion. Driver implementation should use such
mechanism if present.

For instance, STM32 GPIO peripheral has 2 dedicated bit set/reset
registers (GPIOx_BSRR/BRR) that allow for switching individual line
states in an atomic fashion. In this case, the driver does not perform
an intermediate read, but rather writes a desired value to the
register.

Cheers,
--
Maciek Borzecki


Daily Gerrit Digest

donotreply@...
 

NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/4341 : Bluetooth: HFP HF: Initialize Handsfree profile
- https://gerrit.zephyrproject.org/r/4359 : ksdk: Allow KSDK selection via Kconfig
- https://gerrit.zephyrproject.org/r/4353 : ztest: Add native building support
- https://gerrit.zephyrproject.org/r/4356 : tests: convert tests/net/buf to the new framework
- https://gerrit.zephyrproject.org/r/4357 : tests: Add a sample for testing natively
- https://gerrit.zephyrproject.org/r/4355 : ztest: Add simple integration and unit tests
- https://gerrit.zephyrproject.org/r/4358 : net: samples: Revamp QEMU-QEMU networking in echo_server & echo_client
- https://gerrit.zephyrproject.org/r/4349 : Bluetooth: Read local extended features on init
- https://gerrit.zephyrproject.org/r/4354 : ztest: Add documentation
- https://gerrit.zephyrproject.org/r/4360 : ksdk: Add KSDK RNGA driver.
- https://gerrit.zephyrproject.org/r/4345 : kernel: Rename CONFIG_CUSTOM_RANDOM_GENERATOR to CONFIG_RANDOM_GENERATOR
- https://gerrit.zephyrproject.org/r/4336 : Bluetooth: RFCOMM: Introduce helper to create rfcomm pdu
- https://gerrit.zephyrproject.org/r/4347 : net: yaip: User connectivity API documentation
- https://gerrit.zephyrproject.org/r/4346 : net: yaip: Initial architecture documentation
- https://gerrit.zephyrproject.org/r/4344 : Bluetooth: RFCOMM: Remove BT_RFCOMM_SEND_RESERVE
- https://gerrit.zephyrproject.org/r/4343 : Bluetooth: shell: Use bt_rfcomm_create_pdu() in rfcomm send
- https://gerrit.zephyrproject.org/r/4342 : Bluetooth: Kconfig: Be consistent with the use of tabs vs spaces
- https://gerrit.zephyrproject.org/r/4339 : drivers/nble: Rename nrf51 power management functions
- https://gerrit.zephyrproject.org/r/4330 : arc/soc: remove unused CONFIG_TIMER0_CLOCK_FREQ
- https://gerrit.zephyrproject.org/r/4326 : net: Tighten ETHERTYPE decode.
- https://gerrit.zephyrproject.org/r/4327 : fix: "uninitialized" variables break DEBUG sanity

UPDATED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4299 : Bluetooth: Add support for P256 Link Keys
- https://gerrit.zephyrproject.org/r/4321 : Bluetooth: BR/EDR: Disconnect legacy device on auth failed
- https://gerrit.zephyrproject.org/r/4118 : tests: Add a generic testing framework
- https://gerrit.zephyrproject.org/r/4300 : Bluetooth: Enable Secure Connections if supported
- https://gerrit.zephyrproject.org/r/4298 : Bluetooth: Refactor Link Key notification event handling
- https://gerrit.zephyrproject.org/r/4226 : net: Do not fill in TCP option bytes for all packets
- https://gerrit.zephyrproject.org/r/4197 : Bluetooth: AVDTP: Module intialization
- https://gerrit.zephyrproject.org/r/4303 : loop-slip4.sh: Wrapper script to run tunslip for IPv4 connection to QEMU
- https://gerrit.zephyrproject.org/r/3459 : soc: Add soc id and version interface
- https://gerrit.zephyrproject.org/r/4171 : tests: test_printk: crude printk test case
- https://gerrit.zephyrproject.org/r/4310 : Make outdir board-specific to avoid build collisions
- https://gerrit.zephyrproject.org/r/4323 : usb: Allow to register and handle vendor specific commands
- https://gerrit.zephyrproject.org/r/4231 : net/yaip: Use the dummy L2 frame format for Qemu

MERGED within last 24 hours:
- https://gerrit.zephyrproject.org/r/4348 : Bluetooth: Build RFCOMM documentation
- https://gerrit.zephyrproject.org/r/4338 : Bluetooth/samples: Fix missing argument in printf for btusb
- https://gerrit.zephyrproject.org/r/4337 : Bluetooth/drivers: Fix missing argument in printf for h5 driver
- https://gerrit.zephyrproject.org/r/4334 : Zephyr 1.5.0-rc4
- https://gerrit.zephyrproject.org/r/4332 : build: xtools: fix 'make qemu'
- https://gerrit.zephyrproject.org/r/4329 : Bluetooth: Controller: Fix assert on advertise start
- https://gerrit.zephyrproject.org/r/4328 : Bluetooth: Controller: Fix coding style, use of (void)
- https://gerrit.zephyrproject.org/r/4295 : Bluetooth: Enable and disable BLE chip sleep mode dynamically
- https://gerrit.zephyrproject.org/r/3997 : Bluetooth: L2CAP: Implement connect command on BR/EDR
- https://gerrit.zephyrproject.org/r/4311 : samples: pwm: adapt to new api argument definition
- https://gerrit.zephyrproject.org/r/4277 : drivers: pwm_shim: correct api argument inconsistency
- https://gerrit.zephyrproject.org/r/4230 : net: yaip: Fix listening on IPv6 ports
- https://gerrit.zephyrproject.org/r/4229 : drivers/slip: Fix warnings when TAP support is disabled
- https://gerrit.zephyrproject.org/r/4325 : net: buf: Fix minor typo in documentation
- https://gerrit.zephyrproject.org/r/4224 : Bluetooth: shell: Add support for RFCOMM send data
- https://gerrit.zephyrproject.org/r/4223 : Bluetooth: RFCOMM: Implement send data API


Re: Atomicity in GPIO pin changes

Jon Medhurst (Tixy) <tixy@...>
 

On Fri, 2016-08-26 at 10:32 -0400, Benjamin Walsh wrote:
Spinlocks don't give you anything more than interrupt or scheduler
locking in a uniprocessor system with a scheduler like Zephyr's, since
you need to lock interrupts and/or scheduling as well when you're holing
them or there is a good chance you'll deadlock. You probably want just
interrupt or scheduler locking instead. Scheduler locking is coming up
in the upcoming unified kernel, but is not available at the moment;
interrupt locking is of course available.
I figured that interrupt locking was the way to go, was just wary of it
since it would break with SMP. Guess when that arrives all interrupt
disabling will need to be audited and converted to spinlocks if
appropriate.

That still leaves the issue that current GPIO drivers look dodgy without
any locking.

--
Tixy

6261 - 6280 of 7584