zephyr/samples/bluetooth
Andrei Emeltchenko f8df842dd5 Bluetooth: Add compile test for nanokernel shell app
Bluetooth regression and system regression would run compile test
for shell app.

Change-Id: I029772483e7aa9ac0717db760d8de1f6be3371b5
Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
2016-02-05 20:13:57 -05:00
..
beacon Bluetooth: Add LE beacon sample app 2016-02-05 20:13:56 -05:00
init Bluetooth: Remove unnecessary PRJ_INCPATH 2016-02-05 20:13:56 -05:00
peripheral Bluetooth: Remove unnecessary PRJ_INCPATH 2016-02-05 20:13:56 -05:00
shell Bluetooth: Add nanokernel configuration for shell app 2016-02-05 20:13:57 -05:00
test_bluetooth Bluetooth: Add Bluetooth nanokernel smoke test 2016-02-05 20:13:50 -05:00
README Bluetooth: Update README with recent changes 2016-02-05 20:13:57 -05:00
bt_regression.sh Bluetooth: Add compile test for nanokernel shell app 2016-02-05 20:13:57 -05:00

README

Bluetooth subsystem

= Architecture =

All processing is done in fibers. Basic structure for packet processing
is bt_buf. Packets are queued to different queues and processed. Packet
allocation is done through a free packets queue which gets populated
during the initialization.

= Building =

Build host tools:

$ make -C host/src

Build samples

$ make -C samples/bluetooth/<app>

= Testing =

Host Bluetooth controler is connected to the second qemu serial line
through a UNIX socket (qemu option -serial unix:/tmp/bt-server-bredr).

On the host side BlueZ allows to "connect" Bluetooth controller through
a so-called user channel. Use the btproxy tool for that:

$ sudo tools/btproxy -u
Listening on /tmp/bt-server-bredr

Now qemu can connect serial line to the 'bt-server-bredr' UNIX socket
with following command:

For microkernel configuration run:

$ make microkernel.qemu

For nanokernel configuration run:

$ make nanokernel.qemu

Extra parameter to qemu might be added through QEMU_EXTRA_FLAGS.

There is smoke test application in nanokernel and microkernel test
directories which gets run in sanity check script:

$ scripts/sanity_chk/sanity_chk -T gcc [-B <BSP>]

For quick regression test use bt_regression, it only check Bluetooth test

$ samples/bluetooth/bt_regression.sh