Differences

This shows you the differences between two versions of the page.

Link to this comparison view

iothings:proiecte:2018:nuttx-sparrow [2022/02/11 16:57]
laura.ruse removed
— (current)
Line 1: Line 1:
-====== Porting NuttX on Sparrow ​ ====== 
  
-===== Description ===== 
-This page is a tutorial on how to port NuttX ROTS to Sparrow platform and how to improve it. 
- 
-===== Hardware ===== 
-If you are not familiar with Sparrow you can find more about it here: [[:​sparrow_v4_en|Sparrow Wireless Sensor Node]]. 
-===== NuttX ===== 
-[[http://​nuttx.org/​|Nuttx]] is n RTOS with an emphasis on standards compliance and small footprint. Scalable from 8-bit to 32-bit micro controller environments,​ the primary governing standards in NuttX are Posix and ANSI standards. 
- 
-Nuttx is very flexible when it comes to communication protocols. 
-It support a large range of protocols from low power ones like 6LoWPAN for radio network drivers (IEEE 802.15.4 MAC and generic packet radios), Radio Network Drivers: IEEE 802.15.4 MAC, Generic Packet Radio, Bluetooth LE. But also more advanced protocols like IEEE 802.11 FullMac, IPv4, IPv6, TCP/IP, UDP, ARP, ICMP, ICMPv6, IGMPv2 (client) stacks. 
- 
-Memory allocation on this RTOS is grouped into standard heap memory allocation, granule allocator, shared memory, and dynamically sized, per-process heaps. Depending on what platform you chose to run Nuttx, you can adapt this memory allocator to use the appropriate amount of memory. 
- 
-This RTOS is made to be portable and works most of the ARM processors, 8-bit Atmel architecture and more. It also has a large number of drivers already implemented,​ but it has not yet been ported to the Sparrow'​s microcontroller,​ ATmega128RFA1. 
- 
-When it comes to multi-threading and scheduling, Nuttx is the most advanced one, having implemented a few scheduling algorithms like FIFO, round-robin,​ and “sporadic” scheduling. 
- 
-NuttX uses a flash aware file system which handles all the operations with the memory and makes it transparent to the user. It is a filesystem that has been designed to work primary with small, serial NOR type flash parts that are 1M byte to 16M byte in size (though this is not a limitation). The filesystem operates by segmenting the flash (or flash partition) into “logical sectors” of equal size and then managing them (allocating,​ mapping, chaining, releasing, etc.) to build files and directories. 
- 
-Nuttx also provides an optional small, scalable, bash-like shell with rich feature set and small footprint used for debugging, configuration and launching applications. 
-===== Setup ===== 
-<code bash Install Packets> 
-sudo apt-get install build-essential git texinfo libgmp-dev libmpfr-dev libmpc-dev libncurses5-dev bison flex gettext gperf libtool autoconf pkg-config libftdi-dev libusb-1.0-0-dev zlib1g zlib1g-dev python-yaml gcc-avr avr-libc avrdude 
-</​code>​ 
- 
-<code bash Install NuttX Tools> 
-clone tools repo: https://​github.com/​jodersky/​nuttx/​tree/​master/​misc/​tools 
-cd tools/​kconfig-frontends 
-./configure --enable-mconf 
-LD_RUN_PATH=/​usr/​local/​lib 
-make 
-make install 
-</​code>​ 
- 
-<code bash Get NuttX for Sparrow> 
-git clone git@bitbucket.org:​vanbarbascu/​nuttx_sparrow.git 
-cd nuttx_sparrow 
-</​code>​ 
- 
-<code bash Configure and Build> 
-LD_LIBRARY_PATH=/​usr/​local/​lib/​ tools/​configure.sh -l -a apps sparrow_4.1/​nsh 
-make 
-</​code>​ 
- 
-<code bash Flash to board> 
-tools/​flash.sh --port /​dev/​ttyUSB0 
-</​code>​ 
- 
-Connecting to the serial port gives us the NuttxShell. 
-<code > 
-screen /​dev/​ttyUSB0 
-</​code>​ 
- 
-===== Bibliography ===== 
- 
-[[http://​www.nuttx.org/​Documentation/​NuttxPortingGuide.html#​Introduction|NuttX porting guide]] 
- 
-[[https://​clkdiv8.com/​wiki/​doku.php|Sparrow Wireless Sensor Node]] 
iothings/proiecte/2018/nuttx-sparrow.1644591470.txt.gz · Last modified: 2022/02/11 16:57 by laura.ruse
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0