1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252 |
- NuttX Release Notes
- ===================
- This file contaions are the release notes for the NuttX (and apps) packages
- for every release. The text is just as was written at the time of release
- (with perhaps some corrected typos). Over the course of time, NuttX has
- used several different repositiories: CVS, two SVN repositories, and
- currently a GIT repository. Therefore, revision information specific to an
- older repository may not be meaningful today.
- To make it easier to track there older versions in the current GIT
- repository, a GIT lightweight tag has been applied for each release. The
- tag name is the release name (for example, the release 6.27 has tag name
- "nuttx-6.27").
- NuttX-0.1.0
- -----------
- This is the initial. This initial includes the complete NuttX RTOS
- with support for the Linux user mode simulation and the TI TMS320C5471
- (Arm7) processor. Partial support for the 87C52 is included.
- This release has been verified on both the Linux user-mode and C5471
- platforms using the test program under examples/ostest. Test results
- for the C5471 can be found in arch/c5471/doc/test-results.txt.
- This tarball contains a complete CVS snapshot from March 9,2007.
- NuttX-0.1.1
- -----------
- This is the second release of NuttX. This release includes the following.
- See the ChangeLog for more detailed description of the changes.
- (1) General OS bugfixes (see the ChangeLog for details),
- (2) bugfixes for the TI TMS320C5471 (Arm7) platform (see
- the ChangeLog)
- (3) Complete support for the 87C52. (However, the 87C52
- release is not stable enough for general usage).
- (4) Added the beginning of a shell call NuttShell (nsh)
- This release has been verified on the Linux user-mode platform, the
- Spectrum Digital TMS320C5471 EVM, and the PJRC 87C52 development board
- using the test program under examples/ostest.
- STATUS: The development status remains as ALPHA until further testing
- is performed.
- This tarball contains a complete CVS snapshot from March 14, 2007.
- NuttX-0.1.2
- -----------
- This is the third release of NuttX. This release is
- primarily a bugfix release with minimal new features. See
- the ChangeLog for a more detailed description of the
- changes.
- (1) Several important OS and ARM7 bugfixes,
- (2) opendir(), closedir(), readdir(), etc. added
- (3) Added C5471 watchdog timer.
- (4) Created a shareable, serial driver.
- (5) Added 'ls' command to NuttShell (nsh)
- (6) Added a test of the round robin scheduler
- This release has been verified on the Linux user-mode
- platform, the Spectrum Digital TMS320C5471 EVM using the
- test program under examples/ostest.
- This tarball contains a CVS snapshot from March 19, 2007.
- NuttX-0.2.1
- -----------
- This is the fourth release of NuttX. This release adds adds
- support for a new platform, restructures many header files,
- and adds a few new features:
- (1) Support for Neuros OSD / DM320
- (2) Restructuring of header files for better POSIX compliance
- (3) Added kill()
- (4) Added POSIX timers
- (5) bugfixes and documentation updates
- This release has been verified on the Linux user-mode
- platform, the Spectrum Digital TMS320C5471 EVM, and the
- Neuros OSD using the test program under examples/ostest. Because
- of the stability of these tests, the project status
- has been upgraded to 'beta.'
- This tarball contains a complete CVS snapshot from March 22, 2007.
- NuttX-0.2.2
- ------------
- This is the fifth release of NuttX. There is no major new
- functionality in this release. This release adds support
- for new pthread barrier APIs, changes the directory
- structure, to better handle different board configurations
- using the same processor architecture, and corrects a few
- defects.
- See the ChangeLog for a complete list of changes.
- This release has been verified on the Linux user-mode
- platform and the Neuros OSD using the test program under
- examples/ostest. There are no known, critical defects but
- the project development status remains at 'beta' status
- pending further test and evaluation.
- This tarball contains a complete CVS snapshot from
- March 26, 2007.
- NuttX-0.2.3
- ------------
- This is the sixth release of NuttX. This release is
- primarily a bugfix release. Numerous problems were fixed
- as detailed in the change log. New functionality includes
- support for timed message queues.
- See the ChangeLog for a complete list of changes.
- This release has been verified on the Linux user-mode
- platform and the Neuros OSD using the test program under
- examples/ostest. The results of the testing is available in
- the source tree under configs/ntosd-dm320/doc/test-results.
- There are no known, critical defects but the project
- development status remains at 'beta' status pending further
- test and evaluation.
- This tarball contains a complete CVS snapshot from March 29,
- 2007.
- NuttX-0.2.4
- ------------
- This is the 7th release of NuttX. This release is only to roll out
- build changes to better support different SoC's that use the same
- processor architecture. In particular, the two existing ARM architectures,
- c5471 and DM320 were combined into a single ARM directory. This was done
- in preparation for an LPC2148 port that is currently in progress. There
- is NO new functionality or significant bugfixes in this release.
- See the ChangeLog for a complete list of changes.
- This release has been verified on the Linux user-mode platform
- and the Neuros OSD using the test program under examples/ostest.
- The results of the testing is available in the source tree under
- configs/ntosd-dm320/doc/test-results and under configs/sim/doc/test-results.
- There are no known, critical defects but the project development status
- remains at 'beta' status pending further test and evaluation.
- This tarball contains a complete CVS snapshot from April 28, 2007.
- NuttX-0.2.5
- ------------
- This is the 8th release of NuttX. This release includes:
- (1) Several bug fixes
- (2) Initial support for FAT filesystems. Testing has not
- been exhaustive and some functionality is missing
- (mkdir, stat, unlink chmod, and rename functionality is
- not yet implemented).
- (3) Support for the NXP lpc2148 processor is included but
- is untested as of this writing. The current
- implementation includes only support for serial console
- and timer interrupt.
- See the ChangeLog for a complete list of changes.
- This release has been verified only on the Linux user-mode
- platform.
- This tarball contains a complete CVS snapshot from May 19,
- 2007.
- NuttX-0.2.6
- -----------
- This is the 9th release of NuttX. This is primarily a
- bugfix release to correct a number of problems introduced
- with the 0.2.5 release. This release does include some FAT
- filesystem extensions including unlink(), mkdir(), rmdir(),
- rename(), opendir(), closedir(), readdir(), seekdir(),
- telldir(), rewindir(). There are some pending FAT changes
- that did not make it into this release including stat(),
- truncate(), and long file names.
- See the ChangeLog for a complete list of changes.
- This release has been verified only on the Linux user-mode platform.
- This tarball contains a complete CVS snapshot from May 26, 2007.
- NuttX-0.2.7
- -----------
- This is the 10th release of NuttX. This is primarily a bugfix
- release to correct a number of problems reported to me (thanks
- Didier!). This release does include the final changes complete the
- FAT filesystem logic including stat(), statfs(), and non-standard
- APIs to manage FAT attributes. At present, FAT long file names and
- file truncate() are still not supported.
- See the ChangeLog for a complete list of changes.
- This release has been verified only on the Linux user-mode platform.
- This tarball contains a complete CVS snapshot from June 9, 2007.
- NuttX-0.2.8
- -----------
- This is the 11th release of NuttX. This release:
- (1) corrects important bugs in opendir() and realloc()
- (2) adds support for environment variables
- (3) adds several new C library interfaces
- (4) extends several example programs
- See the ChangeLog for a complete list of changes.
- This release has been verified only on the Linux user-mode platform.
- This tarball contains a complete CVS snapshot from July 2, 2007.
- NuttX-0.3.0
- -----------
- This is the 12th release of NuttX. This release includes the initial
- integration of a network subsystem and the uIP TCP/IP stack into NuttX
- (see http://www.sics.se/~adam/uip/index.php/Main_Page). Also included
- is a device driver for the Davicom DM90x0 Ethernet controller.
- This integration is very preliminary. Only a small portion of the
- network functionality has been integrated and there are a number of
- open issues (see the TODO file). The network subsystem is pre-alpha
- at this point in time. I expect that it will stabilize and mature
- over the next few releases.
- The baseline functionality of NuttX continues to mature and remains at
- post-beta (as long as the network is not used).
- See the ChangeLog for a complete list of changes.
- This release has been verified only on the Neuros OSD (DM320 ARM9)
- platform using the DM90x0 driver.
- This tarball contains a complete CVS snapshot from November 6, 2007.
- NuttX-0.3.1
- -----------
- This is the 13th release of NuttX and the second release containing
- the integration of a network subsystem and the uIP TCP/IP, UDP, and
- ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
- Many network-related problems have been fixed and the implementation
- has matured significantly. However, the level of network reliability
- is probably still at the pre-alpha or early level. It is sufficiently
- complete that you may begin to perform some network integration and
- is expected to achieve beta level of reliability over the next few
- releases.
- The baseline functionality of NuttX continues to mature and remains at
- post-beta (as long as the network is not used).
- See the ChangeLog for a complete list of changes.
- This release has been verified only on the Neuros OSD (DM320 ARM9)
- platform using the DM90x0 driver.
- This tarball contains a complete CVS snapshot from November 19, 2007.
- NuttX-0.3.2
- -----------
- This is the 14th release of NuttX and the 3rd release containing
- the integration of a network subsystem and the uIP TCP/IP, UDP, and
- ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
- Many network-related problems have been fixed and the implementation
- has matured significantly. This release consists of:
- o TCP-related bug-fixes
- o TCP performance improvements
- o Initial UDP integration
- o Initial uIP micro webserver integration
- See the ChangeLog for a complete list of changes.
- The level of network reliability is at alpha level is expected to
- achieve beta level of reliability over the next few releases.
- The baseline functionality of NuttX continues to mature and remains at
- post-beta.
- This release has been verified only on the Neuros OSD (DM320 ARM9)
- platform using the DM90x0 driver.
- This tarball contains a complete CVS snapshot from November 23, 2007.
- NuttX-0.3.3
- -----------
- This is the 15th release of NuttX and the 4th release containing
- the integration of a network subsystem and the uIP TCP/IP, UDP, and
- ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
- Many network-related problems have been fixed and the implementation
- has matured significantly. This release consists of:
- o TCP-related bug-fixes for disconnecting sockets
- o Correction of some TCP read-ahead logic
- o TCP performance improvements
- o Misc. additions and cleanup (See the ChangeLog for a complete list of
- changes).
- The level of network reliability is at an early beta release level. The
- baseline functionality of NuttX continues to mature and remains at
- post-beta. Open network-related issues include only:
- o Some minor unimplemented BSD socket functionality,
- o Thread safety issues: the same socket cannot be used concurrently on
- different threads.
- o Pending design changes necessary to support multiple network interfaces.
- o IPv6 support is incomplete.
- This release has been verified only on the Neuros OSD (DM320 ARM9)
- platform using the DM90x0 driver. Any feedback for improving the network
- reliability/performance would be greatly appreciated.
- This tarball contains a complete CVS snapshot from November 28, 2007.
- NuttX-0.3.4
- -----------
- This is the 16th release of NuttX and the 5th release containing
- the integration of a network subsystem and the uIP TCP/IP, UDP, and
- ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
- This release is primarily a bug-fix release. New features include
- only:
- o TELNET front-end to NSH,
- o DHCPC server functionality, and
- o C5471 Ethernet driver.
- Numerous network related problems were fixed related to DHCPC, UDP
- input processing, UDP broadcast, send timeouts, and bad compilation when
- uIP is compiled at high levels of optimization.
- The level of network reliability is at a strong beta release level. The
- baseline functionality of NuttX continues to mature and remains at
- post-beta or production level.
- Parts of this release were verified only on the Neuros OSD (DM320 ARM9)
- platform using the DM90x0 Ethernet driver and other parts on the Spectrum
- Digital C5471 EVM using the C5471 Ethernet driver. Any feedback about bugs
- or suggestions for improving the network reliability/performance would be
- greatly appreciated.
- This tarball contains a complete CVS snapshot from December 10, 2007.
- NuttX-0.3.5
- -----------
- This is the 17th release of NuttX this release is primarily a bug-fix
- release and intended to synchronize with the current CVS contents. See
- the ChangeLog for a detailed list of changes and fixes.
- This release were verified only on the Spectrum Digital C5471 EVM using
- the C5471 Ethernet driver. Any feedback about bugs or suggestions for
- improvement would be greatly appreciated.
- This tarball contains a complete CVS snapshot from December 18, 2007.
- NuttX-0.3.6
- -----------
- This is the 18th release of NuttX. This release contains on a few
- changes. The primary purpose of this release is to synchronize with
- the release of the pascal-0.1.0 add-on package.
- This release of NuttX includes the following changes:
- * Fixes for use with SDCC compiler
- * Added a simulated z80 target (arch/z80)
- * Fix deadlock errors when using stdio but with no buffering
- * Add support for the add-on Pascal P-Code interpreter (pcode/)
- (see the pascal-0.1.0 package)
- This release were verified only on the simulated Z80 and and host
- simulation targets. As usual, any feedback about bugs or suggestions
- for improvement would be greatly appreciated.
- This tarball contains a complete CVS snapshot from January 6, 2007.
- ====
- There was an error in the initial 0.3.6 release that prevented
- a successful build unless the Pascal add-on was present. The
- tarball was patched to include the fix. Make sure that you download
- the nuttx-0.3.6.1.tar.gz version to avoid this problem.
- NuttX-0.3.7
- -----------
- This is the 19th release of NuttX. This release includes the
- preliminary port of NuttX to the ZiLOG z16f 16-bit microcontroller.
- This port was verified using the ZiLOG z16f2800100zcog Development
- and the ZiLOG ZDS-II toolchain. See http://www.zilog.com for
- further information.
- I emphasize that this is a preliminary release of the z16f port and
- is only alpha or, perhaps, pre-alpha quality as of this writing.
- There are a list of known issues in the TODO file in the root of
- the NuttX directory. The overall quality of NuttX (excluding the
- z16f port) continues to improve beyond the late beta level.
- The z16f port required numerous changes to NuttX to handle:
- * NEAR and FAR addressing, and
- * Use of a Windows native toolchain in a Cygwin build environment.
- In addition to the z16f port, at least one very critical bug was
- found and corrected in NuttX: The thread-specific errno value of one
- task was being randomly trashed when a different thread exited.
- This release were verified on the ZiLOG z16f2800100zcog, Neuros OSD
- (ARM9), and the simulation platforms. As usual, any feedback about bugs
- or suggestions for improvement would be greatly appreciated.
- This tarball contains a complete CVS snapshot from January 31, 2008.
- NuttX-0.3.8
- -----------
- This is the 20th release of NuttX. This is a minor bugfix release.
- It corrects a few minor problems, adds a few minor features, and
- continues the integration of the ZiLOG Z18F and of the Pascal P-Code
- add-on. This release is synchronized with the release of Pascal-0.1.2.
- This tarball contains a complete CVS snapshot from February 10, 2008.
- NuttX-0.3.9
- -----------
- This is the 21st release of NuttX. This is a minor future enhancement
- release. This release includes support for the ZiLOG Z8Encore! micro-
- controller. Also included is the initial framework for support for
- the Z80, XTRS platform (http://www.tim-mann.org/xtrs.html).
- This released has been verified only on the ZiLOG ZDS-II Z8Encore!
- chip simulation.
- This tarball contains a complete CVS snapshot from March 9, 2008.
- NuttX-0.3.10
- ------------
- This is the 22nd release of NuttX. This is an important bug fix
- release. This release incorporates fixes to correct critical list
- handling errors in task shutdown logic: One in timer deletion logic
- (timer_delete.c) and one in stream logic (lib_init.c). This release
- also includes support to ZiLOG EZ80Acclaim microcontroller (EZ80F91
- chip) and configurations for the ZiLOG z8f64200100kit (Z8F6423) and
- ez80f0910200kitg (EZ80F091) development kit.
- NuttX-0.3.11
- ------------
- This is the 23rd release of NuttX. This is another important bugfix
- release. This releases fixes several bugs:
- * Two POSIX timer bugs: a memory leak as well a fatal sequencing error.
- * Several FAT filesystem errors.
- * A deadlock that can occur in opendir()
- A few new features were also added:
- * Support for recursive mutexes
- * Added a RAM disk block driver
- * The host simulator no longer uses direct Linux system calls and
- now also works on Cygwin.
- * The OS test was strengthen and now runs as an endurance test
- These changes were verified only on the Host simulator under Cygwin.
- Please report any errors to me.
- This tarball contains a complete CVS snapshot from June 1, 2008.
- NuttX-0.3.12
- ------------
- This is the 24th release of NuttX. This release includes some minor
- bugfixes as well as a few new features. Bugs fixed include:
- * Corrected an error in recursive mutex implementation.
- * task_create() was only dup()ing the first three file descriptors.
- * Fixed driver open reference counting errors in dup(), dup2(), and exit().
- * Fixed error handling logic in fflush().
- New features were also added:
- * Pipes and pipe() API
- * FIFOs and mkfifo() API
- * mkfatfs() API can be used to format FAT file systems.
- These changes were verified only on the Host simulator under Cygwin.
- Please report any errors to me.
- This tarball contains a complete CVS snapshot from August 10, 2008.
- NuttX-0.3.13
- ------------
- This is the 25th release of NuttX. This release includes some
- important bugfixes as well as a few new features. Bugs fixed
- include:
- * Fixed problems with Cygwin-based console input. NSH now works
- with the Cygwin simulator.
- * sched_get_priority_max/min returned error on SCHED_RR
- * Corrected detection of End-of-File in fgets()
- * Fixed an error in opendir() that could cause an assertion to fail
- inappropriately.
- * Corrected an error in the FAT that caused files opened for writing
- with O_APPEND to fail.
- * Fix error in getopt() when called with argc==1
- * Fix error in stat() when used on the root directory
- * Fixed a critical bug that effects the way that environment variables
- are shared among pthreads.
- * uIP port now supports multi-threaded, concurrent socket access.
- So, for example, one thread can be reading from a socket while
- another is writing to the socket.
- New features were also added:
- * New OS APIs: chdir() and getcwd()
- * The Nuttx shell (NSH) has been extended in many ways.
- - New commands: mkfatfs, mkfifo, sleep, usleep, nice, sh, cd, and pwd
- - New memory inspection commands and heap usage commands
- - New capabilities:
- - Execution of commands in background
- - Execution of simple scripts
- - Redirection of command output
- - Last command status ($?)
- - Now supports if-then[-else]-fi construct
- - Other features as noted in the ChangeLog.
- These changes were verified only on the Host simulator under Cygwin
- and under Linux and also on the Neuros OSD (ARM9). Please report
- any errors to me.
- This tarball contains a complete CVS snapshot from September 1, 2008.
- nutt-0.3.14
- -----------
- This is the 26th release of NuttX. This release includes some
- important bugfixes as well as a few new features. Critical bugs
- fixed include:
- FAT FS:
- * Fixed several critical bugs with regard to fat reading and
- writing and FAT12 accesses. Basically the FAT FS only worked
- with my tiny test files and test cases. A lot of stronger FAT
- tested is still needed!
- * Fixed another FAT bug in implementation of FAT lseek();
- this prohibited correct random access to large files.
- Network:
- * Corrected a critical bug that may prevent recvfrom from receiving
- packets from most remote UDP port numbers.
- * Corrected an error in multi-threaded socket handling in send() and
- sendto(). Outgoing data could overwrite incoming data.
- * Corrected IP checksum calculation in ICMP and UDP message send logic.
- * Corrected an error in send() timeout logic.
- New features were also added:
- Network:
- * Added support for application access to ICMP protocol stacks
- * Added ping request logic (net/uip).
- * Added basic TFTP client logic (netutils/tftpc).
- NuttShell (NSH):
- * New commands: 'test', '[', 'ping', 'mkrd', 'xd', and TFTP 'get' and 'put'
- See the new NuttShell User Guide for additional information.
- Other less critical bugs were also fixed and other less important
- features were were added. See the ChangeLog for details.
- These changes were verified only on the Neuros OSD (ARM9). Please
- report any errors to me.
- This tarball contains a complete CVS snapshot from September 8, 2008.
- nutt-0.3.15
- -----------
- This is the 27th release of NuttX. This release includes some new features:
- * Adds support for the ROMFS filesystem
- * ROMFS supports mmap() to provide eXecute In Place (XIP) capability
- * NuttShell (NSH) can be configured to use ROMFS to provide a tiny read-only
- filesystem with a startup script in /etc.
- * Completed the basic port of the NXP LPC2148 on the mcu123.com board.
- The basic port includes successful booting, timer interrupts,
- serial console, successfully passing the examples/ostest, and a
- NuttShell (NSH) configuration.
- These changes were verified only on the mcu123.com NXP LPC2148
- board. Please report any errors to me.
- This tarball contains a complete CVS snapshot from September 20, 2008.
- nutt-0.3.16
- -----------
- This is the 28th release of NuttX. This release includes the first
- support for USB in NuttX. A set of USB APIs were added to support
- USB device controller drivers and bindings to USB device class
- drivers. The form of the interface was inspired by the Linux Gadget APIs.
- At present USB device controller drivers are included for:
- * The NXP LPC214x. This driver has been verified and is an early alpha
- stage in quality.
- * TI DM320. Coding for this driver is complete but it is completely
- untested as of this release.
- A controller-independent class driver is also included for:
- * USB serial class device driver (emulates the Prolific PL2303
- serial-to-USB adapter). This driver has only been verified with
- the Linux host PL2303 driver.
- Other new features include:
- * Add an option to set aside a separate stack for interrupt
- handling (ARM only). This is useful when memory is constrained,
- there are multiple tasks, and the interrupt stack requirement
- is high (as when USB is enabled).
- A few bugs were also fixed:
- * Fixed the frequency of system timer interrupts in the NXP LPC214x port
- (off by 20x in nuttx-0.3.15)
- * Fixed serial driver bugs related to (1) open counts and (2) recognizing
- O_NONBLOCK on read.
- * Fixed an error in read(); it was not setting the errno on errors returned
- from the driver.
- These changes were verified only on the mcu123.com NXP LPC2148 board
- using with a Linux host. Please report any errors to me.
- This tarball contains a complete CVS snapshot from October 10, 2008.
- UPDATE
- ------
- This release does not build for the ARM target when USB is disabled.
- Here is the fix:
- Index: arch/arm/src/common/up_internal.h
- ===================================================================
- RCS file: /cvsroot/nuttx/nuttx/arch/arm/src/common/up_internal.h,v
- retrieving revision 1.13
- diff -u -r1.13 up_internal.h
- --- arch/arm/src/common/up_internal.h 6 Oct 2008 16:20:52 -0000 1.13
- +++ arch/arm/src/common/up_internal.h 13 Oct 2008 20:48:21 -0000
- @@ -200,7 +200,8 @@
- extern void up_usbinitialize(void);
- extern void up_usbuninitialize(void);
- #else
- -# define up_netinitialize()
- +# define up_usbinitialize()
- +# define up_usbuninitialize()
- #endif
- #endif /* __ASSEMBLY__ */
- NuttX-0.3.17
- ------------
- This is the 29th release of NuttX. This release includes the
- additional support for USB in NuttX. The following new features
- were added:
- * Added support for SPI-based MMC/SD cards (with an SPI driver
- for the NXP LPC214x).
- * Added USB storage class device side driver (BBB)
- * Added an example that demonstrates the USB storage class by
- exporting the SPI based MMC/SD card on the NXP LPC214x.
- This is an early alpha release of these drivers. At present they
- only work with debug features enabled so there are probably some
- race conditions that occur only with debug features disabled.
- (Anyone out there with a USB analyzer? I would love to know what
- is happening.)
- Several important bugs were also fixed in the FAT file system, USB
- serial driver and NXP LPC214x USB controller driver. (See the ChangeLog
- for details.)
- These changes were verified only on the mcu123.com NXP LPC2148 board
- using a Linux development environment. USB testing was performed
- using both a Linux host and a WinXP host. Please report any errors
- to me.
- This tarball contains a complete CVS snapshot from October 28, 2008.
- NuttX-0.3.18
- ------------
- This is the 30th release of NuttX. This release includes two
- partially completed ports, several new features, and a couple of
- important bug fixes. The two partially completed ports are:
- * The STMicro STR71x processor and configuration for the Olimex
- STR-P711 board.
- * The Hitachi SH-1 using the SH1_LCEVB1 (SH-1/US7032EVB1) board
- Progress on these ports is stalled (as detailed in the ChangeLog).
- The new features focus primarily on management of block devices and
- extensions of the NuttShell (NSH). These include:
- * A loop device that converts a file into a block device.
- * A block to character (BCH) driver that allow access a block device as
- if it were character device.
- * Added strcasecmp() and strncasecmp() libc functions.
- * Added the 'dd' and 'losetup' commands to NSH. These commands
- (along with mkfatfs and mount), give good management of filesystems
- on the target.
- Several bugs were fixed, the most important of which are:
- * Fixed a race condition workaround delay in LPC214X SPI logic.
- This was also the cause of some bad MMC/SD performance on that
- platform.
- * Fixed a recently introduced FAT file system problem: It would
- mount a (invalid) FAT file system even if the medium is not formatted!
- * Corrected two other important errors in the FAT lseek() implementation:
- 1 - The sectors-per-cluster value was being reset to "1".
- 2 - Important lseek logic was omitted when the seek position was zero.
- The FAT filesystem has had many bugs fixed in it and, I think, is
- now maturing and becoming stable.
- These changes were verified only on the mcu123.com NXP LPC2148
- board, the Hitachi SH1_LCEVB1 board, and the Linux simulator, all
- using a Linux development environment. Please report any errors
- to me.
- This tarball contains a complete CVS snapshot from November 16, 2008.
- NuttX-0.3.19
- ------------
- This is the 31st release of NuttX. This release includes the
- following new feature:
- * Add poll() and select() APIs that may be used to monitor for
- data availability on character devices or TCP/IP sockets.
- * Implemented support TCP/IP connection backlog. This allows
- select() to wake-up on new connections to a listener socket.
- * Added definition of a framebuffer driver and implement framebuffer
- drivers for the simulated platform and the TI DM320 (untested
- as of the initial check-in).
- * Partially developed a graphics framework based on the framebuffer
- drivers, however, this will not be ready for use for a few more
- releases. Currently this includes only a few color conversion
- routines and some rasterizing functions. A tiny windowing system
- is under development but not ready for check-in yet.
- * Added support for fixed precision math.
- * Added support for outgoing multicast packets.
- Several bugs were fixed, the most important of which are:
- * Fixed an important bug in the TCP/IP buffering logic. When
- TCP/IP read-ahead is enabled and not recv() is in-place when a
- TCP/IP packet is received, the packet is placed into a read-ahead
- buffer. However, the old contents of the read-ahead buffer
- were not being cleared and old data would contaminate the newly
- received buffer.
- * Changed the behavior of the serial driver read. It now returns
- data as it is available rather than waiting for the full requested
- read size. This makes functions like fgetc() work much more
- smoothly.
- These changes were verified only on the Neuros OSD (ARM9) using a
- Linux development environment. Please report any errors to me.
- This tarball contains a complete CVS snapshot from November 26, 2008.
- NuttX-0.4.0
- -----------
- This is the 32nd release of NuttX. This release adds graphics
- support and a tiny windowing subsystem. That new graphics subsystem
- is documented at http://nuttx.sourceforge.net/NXGraphicsSubsystem.html.
- No other substantial changes were made.
- These changes were verified only on the NuttX simulation platform
- with X11 windows simulating a device framebuffer. Please report any
- errors to me.
- The version number was bumped up to 0.4.0 in part to reflect the
- new graphics subsystem, but also to recognize the NuttX is approaching
- complete functionality. In the 0.3.x versions, network support was
- added, Pascal P-code runtime support was added, FAT and ROMFS
- filesystems were added, MMC/SD and USB device support were added.
- There were also numerous extensions to the NuttShell, NuttX APIs,
- and architecture ports.
- This tarball contains a complete CVS snapshot from December 6, 2008.
- NuttX-0.4.1
- -----------
- This is the 33rd release of NuttX. This is a minor bugfix release.
- The primary reason for this release is to correct numerous build
- errors that have accumulated for the ZiLOG ZDS-II based targets.
- All ZDS-II targets now build correctly (but have not been re-tested).
- In addition to platform-specific build failures, this release also
- adds the following features which were not tested as of the time
- of the release:
- * Board support for the ZiLog ez80Acclaim! ez80f910200zco Development Kit
- * ZiLOG eZ80F91 EMAC driver
- These changes were verified only on the NuttX simulation platform.
- Please report any errors to me.
- This tarball contains a complete CVS snapshot from February 6, 2009.
- NuttX-0.4.2
- -----------
- This is the 34th release of NuttX. This release adds no new OS
- features but does include support for two new architectures:
- * ez80Acclaim! Basic support has been integrated and verified
- for the ez80f910200zcog-d board (eZ80F91-based). That basic
- support includes timer interrupts and serial console. Ongoing
- work includes an EMAC driver that should be integrated for the
- next release nuttx-0.4.2. eZ80Acclaim! support has been in the
- code base for some time, but has only just been integrated due
- to toolchain issues.
- * Renesas M16C/20. Support for the Renesas SKP16C20 board has
- been included in the NuttX source tree. However, as the
- eZ80Acclaim!, testing and integration of that port is stalled
- due to toolchain issues.
- These changes were verified only on the ZiLOG eZ80910200zcog-d
- board. Please report any errors to me.
- This tarball contains a complete CVS snapshot from February 28, 2009.
- NuttX-0.4.3
- -----------
- This is the 35th release of NuttX. This release one important new
- OS feature and corrects and extends the eZ80 port:
- * Priority Inheritance. The basic NuttX waiting logic was extended
- to support priority inheritance. See the NuttX User Manual for
- further information:
- http://www.nuttx.org/NuttxUserGuide.html#priorityinheritance.
- * ez80Acclaim! Corrected several critical, show-stopping bugs on that
- platform including:
- - Errors in the serial driver interrupts.
- - An error in the eZ80 table.
- * eZ80Acclaim!: Completed integration of the eZ80F91 EMAC driver.
- These changes were verified only on the ZiLOG eZ80910200zcog-d board
- and on Cygwin-based simulation platform in various configurations.
- Please report any errors to me.
- This tarball contains a complete CVS snapshot from March 13, 2009.
- NuttX-0.4.4
- -----------
- This is the 36th release of NuttX. This release focuses on bugfixes
- and extending and verifying certain networking features.
- * Important bugs were fixed in NSH, UDP checksum calculation, UDP
- bind() behavior for port==0, the eZ80Acclaim! EMAC driver, Z80
- interrupt handling, and in the C libraries.
- * Testing was extended to further verify the tiny webserver,
- DHCPD, wget(), and sendmail.
- See the Changelog for a detailed description of these changes.
- These changes were verified only on the ZiLOG eZ80910200zcog-d board
- using the ZDS-II toolchain in Cygwin-based environment. Please
- report any errors to me.
- This tarball contains a complete CVS snapshot from March 29, 2009.
- NuttX-0.4.5
- -----------
- This is the 37th release of NuttX. This release focuses on a few new features.
- * The basic port for the Freescale ARM920T i.MX1 processor on the
- Freescale MX1ADS board. Coding is complete for this port, but
- it is has not yet fully integrated
- * Extended I2C and SPI interface definitions
- * Add basic support for C++ applications. Very simple C++
- applications can now be built against NuttX without any external
- libraries. At present, only the most primitive C++ programs
- are supported, but it is hoped that this support will be extended
- in future releases.
- See the Changelog for a detailed description of these changes.
- This tarball contains a complete CVS snapshot from April 19, 2009.
- NuttX-0.4.6
- -----------
- This is the 38th release of NuttX. The release features support
- for the Micromint Eagle-100 development board. This board is based
- around, the Luminary LM3S6918 MCU. This is the first ARM Cortex-M3
- architecture supported by Nuttx. This initial, basic port includes
- timer and serial console with configurations to execute the NuttX
- OS test and to run the NuttShell (NSH). Work is still underway on
- this port and current plans are to have I2C, SSI, MMC/SD, and and
- Ethernet driver in the 0.4.7 release.
- Additional work was done on the MXADS i.MX1 port, however, that
- work has been set aside until I complete work on the Eagle-100 (I
- also need to come up with a 3V power supply).
- Other changes in this release include: Extensions to the SPI interface
- definition in order to handle 9-bit interfaces to displays. Several
- bugs were fixed (see the ChangeLog for a complete list of changes).
- This tarball contains a complete CVS snapshot from May 19, 2009.
- NuttX-0.4.7
- -----------
- This is the 39th release of NuttX. This release focuses on cleaning
- up and extending the Eagle100/LM3S6918 port released in nuttx-0.4.6
- and on improved MMC/SD support. New features include:
- * Improved reliably and additional drivers for the Eagle-100 board
- (LM3S6918 ARM Cortex-M3). Additional drivers include Ethernet,
- SSI, and support for the on-board LEDs and microSD cards.
- * The SPI-based MMC/SD driver was extended to support SDHC Version
- 2.xx cards.
- In addition, this release includes several important bugfixes for
- the LM3S6918, the LPC2148, the SPI-based MMC/SD driver, and to
- FAT32. See the ChangeLog for details of these bugfixes.
- This tarball contains a complete CVS snapshot from May 29, 2009.
- NuttX-0.4.8
- -----------
- This is the 40th release of NuttX. This release adds:
- * Support for the Olimex STRP711 board. That board is based on
- the STMicro STR711 MCU (ARM7TDMI). Integration is complete on
- the basic port (boot logic, system time, serial console). Two
- configurations have been verified: (1) The board boots and
- passes the OS test with console output visible on UART0, and
- the NuttShell (NSH) is fully functional with interrupt driven
- serial console. An SPI driver is available but untested (because
- the Olimex card slot appears to accept only MMC cards; I have
- only SD cards). Additional needed: USB and driver, MMC
- integration.
- * Support for the CodeSourcery and devkitARM Windows-native GNU
- toolchains. Makefiles have been modified for the LM3S6918,
- LPC2148, and STR711 to support these toolchains under Cygwin.
- This tarball contains a complete CVS snapshot from June 13, 2009.
- NuttX-0.4.9
- -----------
- This is the 41st release of NuttX. This release adds:
- * Support for a new binary format call NXFLAT that can be used to
- execute separately linked programs in place in a file system.
- See http://www.nuttx.org/NuttXNxFlat.html.
- * Several important bugs were files related to networking and ROMFS.
- See the ChangeLog for a complete list.
- This tarball contains a complete CVS snapshot from June 26, 2009.
- NuttX-0.4.10
- -----------
- This is the 42nd release of NuttX. This released focused on the
- port of Jeff Poskanzer's THTTPD HTTP server (see
- http://acme.com/software/thttpd/). As of the 0.4.10 release, that
- port is still not fully complete and functional. However, numerous
- related bug-fixes and functional additions for THTTPD were added:
- * Several new standard C-library functions (fileno, strstr,
- strpbrk, fcntl).
- * Improved and extended timing APIs (mktime, gmtime, gmtime_r,
- gettimeofday, localtime, localtime_r, and strftime)
- * Networking enhancements: recvfrom() and accept() now work with
- non-blocking sockets.
- * NXFLAT extensions (exec)
- * Pattern matching logic.
- * And miscellaneous bug fixes (see the ChangeLog for details).
- This tarball contains a complete CVS snapshot from August 8, 2009.
- NuttX-0.4.11
- ------------
- This is the 43rd release of NuttX. This release of NuttX incorporates
- the verified port of Jeff Poskanzer's THTTPD HTTP server (see
- http://acme.com/software/thttpd/). Many of the key features of
- THTTPD have been tested on the Micromint Eagle-100 development board
- (Cortex-M3). These tests verify:
- * Serving of files from any file system
- * Execution of CGI executable. This release supports execution
- of NXFLAT executables on a ROMFS file system
- (http://www.nuttx.org/NuttXNxFlat.html)
- A standard CGI interface is used: Information is pasted to the CGI
- program via POST commands and via environment variables. CGI socket
- I/O is redirected to stdin and stdout so that the CGI program only
- need to printf() to send its content back to the HTTP client.
- Another value to this THTTPD integration effort has been that THTTPD
- has provided a very good test bed for finding NuttX networking bugs.
- Several very critical networking bugs have been fixed with this
- 0.4.11 release (see the ChangeLog for details). Networking throughput
- has also been greatly improved. Anyone using NuttX networking
- should consider upgrading to this release.
- This tarball contains a complete CVS snapshot from September 16, 2009
- NuttX-0.4.12
- ------------
- This is the 44th release of NuttX. This release adds basic support
- for the STMicro STM32, Cortex-M3 MCU. The specific port is to the
- STMicro STM3210E-EVAL development board based around the STM32F103ZET6
- MCU. Some highlights of this port:
- * This basic port includes boot-up logic, interrupt driven serial
- console, and system timer interrupts.
- * Includes a basic STMicro RIDE7 project that can be used to
- perform basic STM32 board bring-up (due to RIDE7 size limitations,
- it cannot be used for the full NuttX bring-up).
- * Working, Tested Configurations: the NuttX OS test and the
- NuttShell (NSH) example.
- This basic STM32 port will be extended in the 0.4.13 NuttX release.
- Functionality needed for complete STM32 support includes: USB
- device driver, LCD driver and NX bringup on the development board's
- display and MicroSD support. An SPI driver and a DMA support was
- included in this 0.4.12 release, but is not yet tested.
- This tarball contains a complete CVS snapshot from October 17, 2009
- NuttX-0.4.13
- ------------
- This is the 45th release of NuttX. The release extends the support
- for the STMicro STM32 microcontroller. Minimal support for the
- STM3210E-EVAL development board based around the STM32F103ZET6 MCU
- was released in NuttX-0.4.12. This release adds:
- * A simple interface definition to support some FLASH, EEPROM,
- NVRAM, etc. devices.
- * Verified SPI operation using driver for SPI based FLASH parts
- M25P64 and M25P128.
- * Improved Cortex-M3 context switching. This should improve
- context switching performance be 2x in certain cases.
- * Added a USB device-side driver for the STM32. This is an early
- release of a very complex driver; some bugs are expected.
- * The USB driver has been verified against the USB serial device
- class driver. There is at least one known outstanding issue
- (see the full bug description in the TODO list).
- This release also corrects some important bugs in the early STM32 release:
- * Fixed several errors the prevented operation of NuttX on an
- STM32 development board using USART2 as the serial console.
- * Fixed and optimization-dependent race condition in the clock
- initialization.
- * Fixed a critical bug in the interrupt control logic that could
- cause interrupt operations to failed used for interrupts in a
- certain range.
- This tarball contains a complete CVS snapshot from November 4, 2009
- NuttX-4.14
- ----------
- This is the 46th release of NuttX. The release extends the support
- for the STMicro STM32 microcontroller. Minimal support for the
- STM3210E-EVAL development board based around the STM32F103ZET6 MCU
- was released in NuttX-0.4.12 and extended in Nuttx-0.4.13 to include
- initial USB support. This completes the STM32F103ZET6 and adds:
- New Generic RTOS Features:
- * Added generic support that can be included in any block driver
- to provide read-ahead buffering and write buffering for improved
- driver performance.
- * Added a generic worker thread that can used to defer processing
- from an interrupt to a task.
- * Defined a generic SD/SDIO interface can can be bound to a MMC/SD
- or SDIO driver to provide SDIO support.
- * Implemented a an SDIO-based MMC/SD driver using this new SDIO
- interface.
- New STM32 Features:
- * Add support to configure an STM32 input GPIO to generate an
- EXTI interrupt.
- * Added support for buttons on the STM3210E-EVAL board.
- * Implemented an STM32 version of the common the SDIO interface.
- * Added a configuration to exercise the STM32 with the USB mass
- storage device class example.
- This release also corrects some important bugs in the early STM32 release:
- * Correct error handling in the mount() logic.
- * Fixed several STM32 DMA-related issues. Integrated and debugged
- STM32 DMA functionality that was added in 0.4.12.
- * Fixed several bugs in the STM32 USB device-side driver.
- NOTE: This version, 4.14, is equivalent to what would have been
- called 0.4.14 to follow 0.4.13. The zero has been eliminated from
- the front of the version number to avoid confusion about the state
- of development: Some have interpreted the leading zero to mean
- that the code is in some way unstable. That was not the intent.
- Beginning in January 2010, I will switch to the 2010.nn versioning
- as many others have done to avoid such confusion.
- This tarball contains a complete CVS snapshot from December 2, 2009
- NuttX-5.0
- ---------
- This is 47th release of NuttX and the successor to nuttx-4.14. This
- major revision number has been incremented to indicate that an
- incompatibility with previous nuttx releases has been introduced.
- This version adopts standard fixed width integer names as specified
- by the ANSI C99 standard. The core logic of NuttX is older than
- that standard and did not conform to it.
- If you have applications running on NuttX-4.14, those applications
- should continue to build and execute without problem on NuttX-5.0.
- However, if you have device drivers or other OS-internal logic, you
- will probably have to make some minor changes to your code to use
- this version. Below is a summary of those changes:
- * If you include sys/types.h to get the non-standard, fixed width
- integer types (uint32, uint16, ubyte, etc.), that is no longer
- necessary.
- * Instead, you will need to include stdint.h where the new fixed
- width integer types are defined (uint32_t, uint16_t, uint8_t, etc).
- * You will have to change all occurrences of the following types:
- uint32 -> uint32_t
- uint16 -> uint16_t
- ubyte -> uint8_t
- uint8 -> uint8_t
- sint32 -> int32_t
- sint16 -> int16_t
- sint8 -> int8_t
- * In addition, the non-standard type 'boolean' must replaced with
- the standard type 'bool'. The type definition for 'bool' is in
- stdbool.h
- This change in typing caused small changes to many, many files. It
- was verified that all configurations in the release still build
- correctly (other than the SDCC-based configurations). Regression
- testing was performed on a few configurations, but it is possible
- that minor build issues still exist. (If you encounter any, please
- let me know and I will help you to fix them.)
- In the course of the regression testing, several important bugs
- unrelated to the type changes were found and corrected.
- * Fixed an important error in the RX FIFO handling logic of the
- LM3S6918 Ethernet driver.
- * Corrected the handling of TCP sequence numbers in the TCP stack.
- * And other less important bugs as detailed in the ChangeLog.
- The primary focus of this release was standards compatibility, but
- a few new features were added including a (1) Flash Translation
- Layer (FTL) that will support filesystems on a FLASH device and (2)
- partial ports for the STM32F107VC and HCS12 C9S12NE64 MCUs. Those
- ports are very incomplete as of this writing.
- This tarball contains a complete CVS snapshot from December 21, 2009
- NuttX-5.1
- ---------
- This is the 48th release of NuttX. This release adds support for
- two new MCU architectures in various states of development:
- * AT91SAM3U (http://www.atmel.com/products/at91/sam3landing.asp?family_id=605)
- This release adds support for the SAM3U-EK development board with
- the AT91SAM3U4E MCU
- (http://www.atmel.com/dyn/products/product_card_mcu.asp?part_id=4562).
- As with most NuttX architecture releases, the release will be
- rolled out in two parts: A basic port and an extended port.
- NuttX-5.1 includes the basic port for the SAM3U-EK board. This
- release passes the NuttX OS test and is proven to have a valid
- OS implementation. It supports the basic boot-up, serial console
- and timer interrupts. A configuration to support the NuttShell
- is also included.
- The extended port will also include support for SDIO-based SD
- cards and USB device (and possible LCD support). These extensions
- may or may not happen by the Nuttx 5.2 release as my plate is
- kind of full now.
- * LPC3131 (http://ics.nxp.com/products/lpc3000/lpc313x.lpc314x.lpc315x/)
- This release also adds the complete implementation of the basic
- port for the NXP LPC3131 MCU on the Embedded Artists EA3131 board
- (http://www.embeddedartists.com/products/kits/lpc3131_kit.php).
- That port, unfortunately has stalled due to tools issues. Those
- tool issues have been resolved and I am confident that the verified
- basic port will be available in NuttX-5.2.
- The extended release will follow and should include SDIO-based
- SD card support and device USB.
- A few additional features and bugfixes of a minor nature were also
- incorporated as detailed in the ChangeLog.
- NuttX-5.2
- ---------
- This is the 49th release of NuttX. This release completes the
- verification of the basic port for the NXP LPC3131 MCU on the
- Embedded Artists EA3131 board
- (http://www.embeddedartists.com/products/kits/lpc3131_kit.php).
- This basic port includes basic boot-up, serial console, and timer
- interrupts. This port has been verified on the using the NuttX OS
- test and includes a working implementation of the NuttShell (NSH).
- An extended release will follow and should include SDIO-based SD
- card support and device USB.
- NuttX-5.3
- ---------
- This is the 50th release of NuttX. This release support for one new
- architecture:
- * A basic port for the NXP LPC2378 MCU on the Olimex-LPC2378
- development board was contributed by Rommel Marcelo.
- And extensions to two existing architectures:
- * David Hewson contributed a dual-speed (full/high) USB device-side
- driver for the NXP LPC3131 on the Embedded Artists EA3131
- development board.
- * A DMA driver and a high speed MCI driver for the Atmel AT91SAM3U
- are included (but not fully tested in this release).
- Two important bugfix was also included:
- * An important fix to the USB mass storage driver was contributed
- by David Hewson.
- * A serious error in the AT91SAM3U PIO handling was fixed.
- NuttX-5.4
- ---------
- This is the 51st release of NuttX. This release includes one new,
- important extension to th NX graphics system (See
- http://www.nuttx.org/NXGraphicsSubsystem.html).
- NX was develop a couple years back on hardware that supported only
- framebuffer devices, that is, video hardware with video memory
- directly converts the memory content to video. However, most MCUs
- that NuttX focuses on do not support such video memory; rather,
- that typically only support LCDs via parallel or serial interfaces.
- This release of NuttX extends NX so that now renders directly to
- the LCD device via its serial or parallel interface. No in-memory
- copy of the screen memory need be maintained so this solution should
- also work in MCUs with very limited SRAM.
- This initial release of this feature includes the verified NX
- extensions plus a driver for the HX8347, 16-bit parallel LCD. This
- LCD supports 16-bit RGB (5:6:5).
- NuttX-5.5
- ---------
- This is the 52nd release of NuttX. This release includes one new
- port, some new drivers and some important bugfixes:
- * NuttX was ported to the Luminary/TI LM3S6965 Ethernet Evaluation
- Kit. At present, that port includes an OS test configuration
- and a NuttShell (NSH) configuration with Telnet support.
- MMC/SD and Networking support are provided but not thoroughly
- verified in this release: Current development efforts are focused
- on porting the NuttX window system (NX) to work with the
- Evaluation Kits OLED display.
- * A NuttX Ethernet driver for the Microchip ENC28J60 SPI Ethernet
- chip is available in the source tree (but has not yet been fully
- verified because I haven't properly connected it to hardware
- yet).
- * The Olimex STR-P711 NuttX port was extended to support the
- ENC28J60 and some new networking configurations were added.
- The ENC28J60 has not been tested on the STR-P711, however,
- because of hardware issues (I don't think the USB powered board
- provides enough power for the ENC28J60 and I don't have the
- right wall wart yet).
- Along the way, external interrupt support (XTI) was added to
- the STMicro STR-P711 port and some important bugs were fixed
- in the STR-P711 SPI driver.
- * Added (optional) floating point support for printf().
- (Contributed by Yolande Cates.)
- * Corrected an important UDP reference counting error. It was
- not a serious error, but it trigger an assertion was IS a serious
- error.
- NuttX-5.6
- ---------
- This is the 53rd release of NuttX. This release includes one several
- new drivers for existing NuttX ports:
- * This port adds support for the RiT displays P14201 4-bpp,
- greyscale OLED. 4-bpp greyscale support was integrated into
- the NX graphics sub-system and verified using the TI/Luminary
- LP3S6965 Ethernet Evaluation Kit.
- * The M25Px driver was extended for the M24P1 FLASH part (see NOTE).
- * An I2C driver and (basic) SPI driver were added for the NXP
- LPC313x port. The I2C interface definition was extended to
- efficiently handle multiple I2C transfers.
- (Contributed by David Hewson.)
- As well as a few, important USB-related bugfixes (See the ChangeLog
- for details).
- This release also includes the beginnings of a port for the NXP
- LPC1768 MCU. However, it is too early for that port to be useful
- (stay tuned for a future announce of the availability of the LPC1768
- port).
- NuttX-5.7
- ---------
- This is the 54th release of NuttX. This release adds basic support
- for one new ARM Cortex-M3 architecture:
- * Added support for NXP LPC1768 MCU as provided on the Nucleus
- 2G board from 2G Engineering (http://www.2g-eng.com).
- * Some initial files for the LPC17xx family were released in NuttX
- 5.6, but the first functional release for the NXP LPC1768/Nucleus2G
- occurred with NuttX 5.7.
- * That initial basic release included timer interrupts and a
- serial console and was verified using the NuttX OS test.
- * That release includes a verified NuttShell (NSH) configuration
- (see the http://www.nuttx.org/NuttShell.html).
- * Also included are unverified SPI and USB device drivers.
- Further efforts include:
- (1) development of a DMA support library
- (2) SPI-based MMC/SD support
- (3) verification of the USB driver
- Watch for announcement of the completed LPC1768 port expected in
- NuttX-5.8.
- NuttX-5.8
- ---------
- This is the 55th release of NuttX. This includes several important
- bugfixes:
- * Corrects some interrupt vectoring for the TI/Stellarix LM3S
- port
- * Correct initialization logic for NXP LPC17xxx NuttX ports:
- Power was not being provided to the GPIO module!
- * Corrected (but did not verify) implementation of the optional
- interrupt stack feature (all Cortex M3 architectures).
- * Correct a HardFault in the LPC17xx SSP driver.
- Additional minor fixes are also included as detailed in the ChangeLog.
- Several new features have been fully developed and included in this
- release, but full verification of most of these new features has
- been blocked for a variety of issues:
- * Added microSD support for the NuttShell (NSH) configuration in
- the Nucleus2G LPC1768 port. For reasons that have not yet been
- determined, I have not successfully accessed the microSD card
- as of this writing.
- * Two USB configurations were also added for the Nucleus2G board:
- One to support the USB serial device and one for the USB mass
- storage device. Some testing of the USB driver was performed,
- but full verification is stalled for an OTG style USB cable.
- * LEDs now work correctly on the Nucleus2G LPC1768 board.
- * The NuttX/uIP networking subsystem now supports IGMPv2 client.
- IGMP (Internet Group Multicast Protocol) network "appliances"
- to join into multicast groups. Outbound traffic to enter and
- leave multicast groups has been verified, but full verification
- will require a switch capable of multicast. Issues associated
- with the receipt of multicast packets are likely.
- NuttX-5.9
- ---------
- This is the 56th release of NuttX. This release is difficult to
- categorize; NuttX-5.9 was really released because there were too
- many changes accumulating in CVS -- a few important, some unfinished
- implementations, and a couple of important bugfixes.
- * By far biggest change in this release is the complete implementation
- of on-demand paging support. This feature will allow you to
- execute large programs on a mass storage device (such as SPI
- FLASH) in a small RAM. All of the core on-demand paging logic
- was completed (see http://www.nuttx.org/NuttXDemandPaging.html)
- and support was implemented for the ARM-9 family. A test
- configuration is in place for the NXP LPC3131. It has been
- verified that this new logic does not interfere with normal
- fixed-page ARM9 operation, but otherwise this new on-demand
- paging feature is untested.
- * Add support for the CodeSourcery toolchain to the Olimex-lpc2378
- port and for the Neuros OSD port.
- * The Neuros OSD port has been updated to work with the production
- v1.0 OSD (previously it only worked with the development board).
- * And some miscellaneous feature enhancements as detailed in the
- ChangeLog.
- This includes several important bugfixes:
- * NXP LPC17xx - Fixed a critical bug in the GPIO configuration
- logic: When attempting to set no pull-up or pull-down (floating),
- it would, instead, select pull-down.
- * TI/Luminary LM3Sxxxx - Fixed:
- (1) A logic error in an address table lookup.
- (2) GPIO port encoding the limited support to only 8 GPIO ports.
- * Corrected the lease time in the DHCPC implementation: It was
- not in host byte order.
- * And several other less important bugs as documented in the
- ChangeLog: Warnings, cornercase compilation problems, etc.
- NuttX-5.10
- ----------
- This is the 57th release of NuttX. This release includes a combination
- of some new features as well as several bugfixes. New features
- include:
- * TI/Luminary Stellaris LM3S9B96:
- Header file changes contributed by Tiago Maluta.
- * TI/Luminary Stellaris LM3S8962:
- Header file changes and support for the Stellaris LM3S8962
- Ethernet+CAN Evaluation Board contributed by Larry Arnold.
- * On-Demand Paging Support:
- The basic logic for the On-Demand Paging feature is complete,
- implemented for the NXP LPC3131, and partially tested. See
- http://www.nuttx.org/NuttXDemandPaging.html. Some additional
- test infrastructure will be needed in order to complete the
- verification. See configs/ea3131/README.txt for details.
- * Two Pass Build Support:
- The make system now supports a two pass build where a relocatable,
- partially linked object is created on the first pass and that
- object is linked with the NuttX libraries to produce the final
- executable on the second pass. This two pass build is currently
- only used to support the On-Demand paging feature: The first
- pass link forces critical logic into the locked text region;
- the second pass builds the NuttX executable more-or-less as
- normal.
- * CONFIG_APP_DIR:
- Generalized the way in which applications are built and linked
- with NuttX. The new configuration CONFIG_APP_DIR replaces
- CONFIG_EXAMPLE. CONFIG_EXAMPLE used to identify the sub-directory
- within the NuttX examples/ directory that held the example
- application to be built. That made it awkward to configure to
- build an application that resides outside of the NuttX examples/
- directory. CONFIG_APP_DIR is more general; it can be used to
- refer to any directory containing the application to be built.
- For people who have their own configurations and/or Makefiles,
- you will need to make a couple of changes:
- - Replace all occurrences of CONFIG_EXAMPLE=foobar with
- CONFIG_APP_DIR=examples/foobar in all of the configuration
- files.
- - Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
- $(CONFIG_APP_DIR)
- - Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
- with libapp$(LIBEXT) in your Makefiles.
- - Check any other occurrences of CONFIG_EXAMPLE.
- * Several bugfixes are included as well as code changes to eliminate
- some warnings. See the ChangeLog for details.
- NuttX-5.11
- ----------
- This is the 58th release of NuttX. This is a bugfix release.
- * One very important bug fixes a race condition that can occur
- using semaphores that can be awakened by signals. Under this
- particular race condition, a task could hang waiting for a
- semaphore.
- * Corrections to lm3s8962 port contributed by Larry Arnold. That
- port is purported to work correctly with these changes in place.
- Plus less critical bugfixes as detailed in the ChangeLog. New features
- include:
- * A new configuration to support the mbed.org LPC1768 board.
- (Contributed by Dave Marples.)
- * A driver for the Atmel AT45DB161D 4Mbit SPI FLASH part
- NuttX-5.12
- ----------
- This is the 59th release of NuttX. This is a critical bugfix release.
- * Fixed an important error in the signal trampoline logic.
- Essentially, interrupts are re-enabled while the signal handler
- executes, but the logic to re-disable the interrupts before
- returning from the signal handler trampoline was missing. Under
- certain circumstances, this can cause stack corruption. This
- was discovered by David Hewson on an ARM9 platform, but since
- the code has been leveraged, the bug has been propagated from
- ARM to Cortex-M3, AVR32, M16C, SH1, ZNEO, eZ80, Z8, and Z80 --
- almost every architecture. The correction has been incorporated
- for all architectures but only verified on a few.
- Other notable changes in NuttX-5.12:
- * A complete port for the AVR32 (AT32UC3B0256) is incorporated
- in the source tree. Testing of this port is underway now. This
- release was made before verifying this port in order to get the
- important bugfix in place.
- * Other miscellaneous bugfix and enhancements as noted in the
- ChangeLog.
- NuttX-5.13
- ----------
- This is the 60th release of NuttX. Headlines for this release
- include:
- * AVR32, www.mcuzone.com AVR32DEV1
- The port for the www.mcuzone.com AVRDEV1 board based on the
- Atmel AT32UC3B0256 MCU was (almost) fully integrated. The port
- now successfully passes the NuttX OS test (examples/ostest).
- A NuttShell (NSH) configuration is in place (see the NSH User
- Guide at http://www.nuttx.org/NuttShell.html). Testing of that
- NSH configuration, however, has been postponed (because it got
- bumped by the Olimex LPC1766-STK port -- see below)
- Current Status: I think I have a hardware problem with my serial
- port setup. There is a good chance that the NSH port is complete
- and functional, but I am not yet able to demonstrate that. At
- present, I get nothing coming in the serial RXD line (probably
- because the pins are configured wrong or I have the MAX232
- connected wrong).
- A complete port will include drivers for additional AVR32 UC3
- devices -- like SPI and USB --- and will be available in a
- later release, time permitting.
- * LPC1766, Olimex LPC1766-STK
- Support for the Olimex-LPC1766 is newly added to NuttX and is
- still undergoing development, test, and integration. Verified
- configurations for the NuttX OS test and for the NuttShell (NSH,
- see the NSH User Guide at http://www.nuttx.org/NuttShell.html.
- Additional USB configurations are in the release as well, but
- they have not yet been verified. Goals for NuttX-5.14 include:
- (1) An Ethernet driver, (2) Verified USB support, and (3) SD
- card support.
- * Additional changes and bugfixes as detailed in the ChangeLog.
- NuttX-5.14
- ----------
- The 61st release of NuttX, NuttX-5.14, was made on November 27,
- 2010. This release includes multiple, important bugfixes as well
- as a new driver for the NXP LPC1766.
- This release corresponds with SVN release number: r3137
- Important bugfixes include:
- * Cortex-M3 Hard Fault. Fixed a hard fault problem that can occur
- if certain types of interrupts are pending at the time another
- interrupt returns. This problem has only been observed on the
- LPC1766 (returning from a SYSTICK interrupt with a pending
- Ethernet interrupt). However, it is assumed that all Cortex-M3
- ports could have this as a latent bug.
- * TCP/IP Sequence Number Bug. Corrected errors some important
- logic in the way that sequence numbers are managed when send()
- sends out packets before a previous packet has been acknowledged.
- Some of that send() logic was incompatible with logic in the
- uIP layer. Errors seen include: (1) The final final packet in
- a sequence of packets might be too large! In the THTTPD example,
- this might leave some garbage at the bottom of the display. Or
- (2) send() might hang with outstanding, unacknowledged data
- (and with no re-transmission requests). This was due to
- differences in sequence number handling in send() and in
- uip_tcpinput.c; uip_tcpinput.c thought (incorrectly) that all
- of the bytes were acknowledged; send.c knew that they were not.
- * One-Shot POSIX Timer Bug. Fixed an error in set-up of a one-shot
- POSIX timer. It was using the repetitive timer value (which
- is zero in the one-shot case), always resulting in a 10Ms timer!
- Found and fixed by Wilton Tong.
- Additional support has been included for the Olimex-LPC1766. Support
- for that board was added to NuttX 5.13. This release extends that
- support with an Ethernet driver. Verified configurations are now
- available for the NuttX OS test, for the NuttShell (NSH, see
- http://www.nuttx.org/NuttShell.html), for the NuttX network test,
- and for the THTTPD webserver. (Additional USB configurations are
- in the release as well, but those have not yet been verified. Goals
- for NuttX-5.15 (and beyond) include: (1) Verified USB support, (2)
- SD card support, and (3) LCD support.
- NuttX-5.15
- ----------
- The 62nd release of NuttX, NuttX-5.15, was made on December 12,
- 2010. This release includes several bugfixes as well as feature
- enhancements, primarily for the Olimex LPC1766-STK board.
- Important bugfixes included:
- * Additional fixes needed with the TCP sequence number problem
- "fixed" in NuttX-5.14.
- * In the send() logic, now checks if the destination IP address
- is in the ARP table before sending the packet; an ARP request
- will go out instead. This improves behavior, for example, on
- the first on the first GET request from a browser
- * All USB class drivers need to call DEV_CONNECT() when they are
- ready to be enumerated. That is, (1) initially when bound to
- the USB driver, and (2) after a USB reset.
- * The SPI_SETBITS macro was calling the SPI setmode method.
- * And several other bug fixes of lower importance (see the
- ChangeLog for details).
- And feature enhancements:
- * The LPC176x Ethernet driver was using all of AHB SRAM Bank0 for
- Ethernet packet buffers (16K). An option was added to limit
- the amount of SRAM used for packet buffering and to re-use any
- extra Bank0 memory for heap.
- * Enabled networking and SD/MMC card support in the Olimex
- LPC1766-STK NuttShell (NSH) configuration.
- * The LPC176x USB driver is now fully fully functional.
- * Added an optional cmddata() method to the SPI interface. Some
- devices require an additional out-of-band bit to specify if the
- next word sent to the device is a command or data. The cmddata
- method provides selection of command or data.
- * A driver for the Nokia 6100 LCD (with either the Phillips PCF8833
- LCD controller and for the Epson S1D15G10 LCD controller) and
- an NX graphics configuration for the Olimex LPC1766-STK have
- been added. However, neither the LCD driver nor the NX
- configuration have been verified as of the this release.
- NuttX-5.16
- ----------
- The 63rd release of NuttX, Version 5.16, was made on January 10,
- 2010 and is available for download from the SourceForge website.
- This release includes initial support for USB host in NuttX. The
- USB host infrastructure is new to NuttX. This initial USB host release
- is probably only beta quality; it is expected the some bugs remain
- in the logic and that the functionality requires extension.
- Below is a summary of the NuttX USB host implementation as extracted
- from the NuttX Porting Guide:
- 6.3.9 USB Host-Side Drivers
- * include/nuttx/usb/usbhost.h. All structures and APIs needed to
- work with USB host-side drivers are provided in this header
- file.
- * struct usbhost_driver_s. Each USB host controller driver must
- implement an instance of struct usbhost_driver_s. This structure
- is defined in include/nuttx/usb/usbhost.h. Examples:
- arch/arm/src/lpc17xx/lpc17_usbhost.c.
- * struct usbhost_class_s. Each USB host class driver must implement
- an instance of struct usbhost_class_s. This structure is also
- defined in include/nuttx/usb/usbhost.h. Examples:
- drivers/usbhost/usbhost_storage.c
- * USB Host Class Driver Registry. The NuttX USB host infrastructure
- includes a registry. During its initialization, each USB host
- class driver must call the interface, usbhost_registerclass()
- in order add its interface to the registry. Later, when a USB
- device is connected, the USB host controller will look up the
- USB host class driver that is needed to support the connected
- device in this registry. Examples: drivers/usbhost/usbhost_registry.c,
- drivers/usbhost/usbhost_registerclass.c, and
- drivers/usbhost/usbhost_findclass.c,
- * Detection and Enumeration of Connected Devices. Each USB host
- device controller supports two methods that are used to detect
- and enumeration newly connected devices (and also detect
- disconnected devices):
- + int (*wait)(FAR struct usbhost_driver_s *drvr, bool connected);
- Wait for a device to be connected or disconnected.
- + int (*enumerate)(FAR struct usbhost_driver_s *drvr);
- Enumerate the connected device. As part of this enumeration
- process, the driver will (1) get the device's configuration
- descriptor, (2) extract the class ID info from the configuration
- descriptor, (3) call usbhost_findclass() to find the class
- that supports this device, (4) call the create() method on
- the struct usbhost_registry_s interface to get a class instance,
- and finally (5) call the connect() method of the struct
- usbhost_class_s interface. After that, the class is in charge
- of the sequence of operations.
- * Binding USB Host-Side Drivers. USB host-side controller drivers
- are not normally directly accessed by user code, but are usually
- bound to another, higher level USB host class driver. The class
- driver exports the standard NuttX device interface so that the
- connected USB device can be accessed just as with other, similar,
- on-board devices. For example, the USB host mass storage class
- driver (drivers/usbhost/usbhost_storage.c) will register a
- standard, NuttX block driver interface (like /dev/sda) that can
- be used to mount a file system just as with any other other
- block driver instance. In general, the binding sequence is:
- 1. Each USB host class driver includes an initialization entry
- point that is called from the application at initialization
- time. This driver calls usbhost_registerclass() during this
- initialization in order to makes itself available in the
- event the the device that it supports is connected. Examples:
- The function usbhost_storageinit() in the file
- drivers/usbhost/usbhost_storage.c
- 2. Each application must include a waiter thread thread that
- (1) calls the USB host controller driver's wait() to detect
- the connection of a device, and then (2) call the USB host
- controller driver's enumerate method to bind the registered
- USB host class driver to the USB host controller driver.
- Examples: The function nsh_waiter() in the file
- configs/nucleus2g/src/up_nsh.c and the function nsh_waiter()
- in the file configs/olimex-lpc1766stk/src/up_nsh.c.
- 3. As part of its operation during the binding operation, the
- USB host class driver will register an instances of a standard
- NuttX driver under the /dev directory. To repeat the above
- example, the USB host mass storage class driver
- (drivers/usbhost/usbhost_storage.c) will register a standard,
- NuttX block driver interface (like /dev/sda) that can be
- used to mount a file system just as with any other other
- block driver instance. Examples: See the call to
- register_blockdriver() in the function usbhost_initvolume()
- in the file drivers/usbhost/usbhost_storage.c.
- NuttX-5.17
- ----------
- The 64th release of NuttX, Version 5.17, was made on January 19,
- 2011 and is available for download from the SourceForge website.
- This release follows close on the heels of the 5.16 release and
- extends the USB host capabilities first introduced in that version.
- * The LPC17xx USB host controller driver was extended to (1) add
- support for low-speed devices, (2) handle multiple concurrent
- transfers on different endpoints (still only one TD per endpoint),
- and (3) handle periodic interrupt endpoint types.
- * Add a USB host HID keyboard class driver. Now you can connect
- a standard USB keyboard to NuttX and receive keyboard input for
- an application.
- And other changes as detailed in the ChangeLog.
- NuttX-5.18
- ----------
- The 65th release of NuttX, Version 5.18, was made on February 27,
- 2011 and is available for download from the SourceForge website.
- This is first release from the new NuttX SVN repository. This
- release is made primarily to keep the release tarball in synchronization
- with SVN. Many smaller changes have been made as identified in the
- ChangeLog. Headlines include:
- * Incorporate several important uIP patches -- including the well
- known patch to handle missing SYNACK.
- * The Freescale mc8s12ne64 port is code complete but testing has
- not yet begun due to toolchain issues. Added support for the
- Future Electronics Group NE64 Badge board.
- * Added support for a new STM32 board, the ISOTEL NetClamps VSN
- V1.2 ready2go sensor network platform. This board is based on
- a STM32F103RET6 and includes some interesting power saving/clock
- control extensions.
- * USB host support expanded to handle vendor specific USB devices.
- * Incorporated the LUFA HID parser.
- * Various bugfix as detailed in the ChangeLog
- NuttX-5.19
- ----------
- The 66th release of NuttX, Version 5.19, was made on March 12, 2011
- and is available for download from the SourceForge website. This
- release includes several new features in various states of integration
- and maturity:
- * 486SX QEMU port. This port supports the Intel 486SX architecture
- using the QEMU simulator. Initial functionality is in place a
- partially tested. There are still some outstanding issues with
- timer interrupts.
- * Platform specific application support. A new apps/ directory
- appears in this port. This apps/ directory provides a mechanism
- for applications using NuttX to have a highly customized
- initialization process. It supports a set of end-user applications
- than can be executed (1) standalone so you can have a fully
- customized application startup, or (2) on top of NSH. Think
- of it this way: In a buckled-up embedded application, your
- end-user programs will probably have their own dedicated start-up
- logic. But, during development, you might want to have you
- applications available and executable from the NSH command line.
- This apps/ add-on (and NSH hooks) was contributed by Uros to
- accomplish just that.
- * NSH was also extended to support application specific ROMFS
- /etc/init.d/rcS start-up scripts. This feature, as well, as
- all of the above-mentioned apps/ directory support was contributed
- by Uros Platise
- * Additional NSH improvements and bug fixes. See the Changelog
- for details.
- * This release also provides a new SLIP network driver. This
- driver should support point-to-point network communications to
- a host using TCP/IP or UDP. This driver is code complete, but
- not tested in this release.
- * New RAMTRON FRAM driver (contributed by Uros Platise)
- * New generic 16550 UART driver.
- * Cortex-M3 Power improvements: Waits for Interrupt (WFI) in idle
- loop for reduced power consumption (LPC17xx and STM32 only -
- contributed by Uros Platise))
- * New waitpid() system interface.
- * Additional bugfixes: pipes, stdint.h, STM32 SDIO and SPI drivers
- NuttX-6.0
- ---------
- The 67th release of NuttX, Version 6.0, was made on March 21, 2011
- and is available for download from the SourceForge website. The
- version number of this release was bumped from 5.19 to 6.0. A
- change in the major revision number is used to reflect an incompatibility
- with previous versions. In this release, the NuttX core OS
- functionality has been separated from NuttX application-related
- functionality. These are provided as separate tarballs:
- * nuttx-6.0.tar.gz, and
- * apps-6.0.tar.gz
- The purpose of this separation is both to better organize and
- modularize the NuttX source tree, but also to provide better support
- for incorporation of end-user applications with Nuttx.
- The incompatibility results from the changes to the board configuration
- logic needed to supported the separable application. The major
- changes to the configuration include:
- * CONFIG_APPS_DIR - This should not be set. The default is
- ../apps. This should only be set if you have a custom,
- product-specific application directory in some different location.
- * appconfig - Each board configuration now requires a new file
- called 'appconfig.' As its name suggests, this file provides
- new configuration information needed by the logic in ../apps.
- In addition to this major reorganization in the directory structure,
- this release also includes some important extensions to existing
- features and some important bugfixes. These include:
- * The SLIP driver was been well debugged and significantly
- re-designed. Now you can have an Ethernet connection to you
- board even if you have no Ethernet hardware. How cool is that?
- * The QEMU i486 port is now functional. It has also been reported
- to work on the Bifferboard (see http://bifferos.bizhat.com/).
- * And extensions to the uIP driver interface, and
- * Bug fixes to fopen() and STM32 GPIO configuration
- Please see the ChangeLog for details.
- NuttX-6.1
- ---------
- The 68th release of NuttX, Version 6.1, was made on April 10, 2011
- and is available for download from the SourceForge website. The
- 6.0 release introduced a detach-able application environment to
- build applications outside of the NuttX source tree. The primary
- purpose of this release is to correct numerous build problems
- introduced by that architectural change:
- * In many newer environments, NuttX produced strange Makefile
- errors but built correctly in older environments. A fix provided
- by Rafael Noronha was incorporated and is reported to fix those
- build problems.
- * The apps/ directory build system would not handle Windows-native
- toolchains due to obscure path formatting issues.
- * And other problems as detailed in the Changelog.
- Many additional changes were made in the 6.1 release for another
- major architectural change: NuttX will now build as a separately
- linked microkernel. In this build option the RTOS builds as a
- kernel, applications build separately and interface with kernel via
- system calls. Applications run in user mode and kernel logic users
- in kernel-mode. This provides a secure environment for NuttX. This
- feature is fully coded in NuttX-6.1, but has not been tested due
- to higher priority tasks that have arisen.
- Related to this change, support for the Cortex-M3 memory protection
- unit (MPU) has been integrated with the NuttX kernel build to provide
- an even higher level of security.
- NOTE: This kernel build is an option; the default build configuration
- is still the standard, flat, unsecured RTOS as in previous releases.
- Additional new features in this release:
- * Support for LPC17xx GPIO interrupts (with much support from
- Decio Renno).
- * Basic timer support for STM32 (Contributed by Uros Platise)
- * A binfs file system. This is a tiny pseudo file system that
- lets named applications to be viewed and accessed in NSH under
- the /bin directory.
- * An I2C-based driver for the LIS331DL MEMS motion sensor.
- (Contributed by Uros Platise.)
- * A configuration for the Embedded Artists LPCXpresso LPC1768 board.
- * The user_initialize() interface has been removed.
- And several bugfix associated with SD drivers, opendir(), signed
- 8-bit types (int8_t), and USB serial device. See the ChangeLog for
- details.
- NuttX-6.2
- ---------
- The 69th release of NuttX, Version 6.2, was made on May 6, 2011 and
- is available for download from the SourceForge website. The 6.2
- release includes several new features:
- * NXFFS: The obvious new feature is NXFFS, the NuttX wear-leveling
- FLASH file system. This new file system is intended to be
- small for the MCU usage and has some limitations. No formal
- documentation of NXFFS yet exists. See the fs/nxffs/README.txt
- file for details (see
- http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/fs/nxffs/README.txt?view=log)
- * Support for NXP LPCXpresso LPC1768 board on the Embedded
- Artists base board. The Code Red toolchain is supported under
- either Linux or Windows. Verified configurations include
- dhcpd, nsh, nx, ostest, thttpd, and usbstorage.
- * Support for the Univision UG-9664HSWAG01 OLED with Solomon
- Systech SD1305 LCD controller.
- * A new RAM MTD driver with FLASH simulation capability.
- * A version.h file is now automatically generated so that C code
- can now be version aware.
- In addition to these new feature, several important bugfixes are
- included in this release correcting problems with dup2(), LPC17xx
- GPIO interrupts, LPC17xx UART2/3, the FAT file system, build issues,
- and strrch(). See the ChangeLog for more details.
- NuttX-6.3
- ---------
- The 70th release of NuttX follows only a nines days after the release
- of version 6.2. It was released on May 15, 2011. This special
- back-to-back release was made so that the current released version
- of NuttX will correspond to the initial release from the RGMP
- project.
- This release adds architecture support and build configuration for
- RGMP. RGMP is a project for running GPOS and RTOS simultaneously
- on multi-processor platforms. See
- http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further
- information about RGMP.
- This release also includes support for STM32 FLASH, build improvements,
- and initial, incomplete support for the MicroChip PIC32MX MCU. Bug
- fixes are included for some build problems, USB host class driver
- error handling, NX graphics color mapping, and problems with C
- standard I/O buffer flushing. See the ChangeLog for further details.
- NuttX-6.4
- ---------
- The 71st release of NuttX, Version 6.4, was made on June 6, 2011
- and is available for download from the SourceForge website. The
- 6.4 release includes several new features:
- * A new, full-featured FTP client. This client may be used as a library
- for automated FTP or via an FTP client shell. The FTP shell
- supports the following commands: cd, chmod, get, help, idle,
- login, ls, quit, mkdir, noop, put, pwd, rename, rhelp, rm,
- rmdir, size, time, and up. A configuration is available for
- the NXP LPC17xx to demonstrate this functionality.
- * A functional C1101 wireless driver (contributed by Uros Platise)
- * A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
- * New C library functions: inet_addr() (contributed by Yu Qiang),
- strndup(), asprintf()
- * Reduced memory allocation overhead for MCUs with small heaps (<64K).
- * fdopen() now works with socket descriptors allowing standard
- buffered C functions to be used for network communications.
- * The NSH ifconfig command can now be used to set or change the
- IP address (contributed by Yu Qiang)
- This release also includes some completed but untested functionality.
- * The MicroChip PIC32MX port is now code complete and ready to
- begin testing. Unfortunately, testing will be delayed due to
- tool issues.
- * Support for the NXP LPC315x MCUs.
- Additional miscellaneous enhancements and bug fixes to task_delete(),
- recvfrom(), and other changes as noted in the ChangeLog.
- NuttX-6.5
- ---------
- The 72nd release of NuttX, Version 6.5, was made on June 21, 2011
- and is available for download from the SourceForge website. The
- 6.5 release is all about support for the Atmel 8-bit AVR family.
- I have been interested in the AVR family for some time but because
- of the severe SRAM constraints and because of the availability of
- many tiny schedulers for the AVR, it has not been "on the radar
- screen." However, I have recently become interested because of
- interest expressed by members of the forum and because of the
- availability of newer, larger capacity AVR parts (that I don't have
- yet).
- This release corresponds with SVN release number: r3730
- This release includes support for the following AVR boards. As
- with any initial support for new architectures, there are some
- incomplete areas and a few caveats that need to be stated. Here
- they are, ordered from the least to the most complete:
- * SoC Robotics Amber Web Server (ATMega128).
- This port of NuttX to the Amber Web Server from SoC Robotics
- (http://www.soc-robotics.com/index.htm). Is only partially in
- place. The Amber Web Server is based on an Atmel ATMega128
- (128K FLASH but only 4K of SRAM).
- STATUS: Work on this port has stalled due to toolchain issues. It
- is complete, but untested.
- * Micropendous 3 AT9USB647
- This port of NuttX to the Opendous Micropendous 3 board. The
- Micropendous3 may be populated with an AT90USB646, 647, 1286,
- or 1287. See http://code.google.com/p/opendous/. I have only
- the AT90USB647 version for testing. This version has very
- limited memory resources: 64K of FLASH and 4K of SRAM.
- STATUS: The basic port was released in NuttX-6.5. This basic
- port consists only of a "Hello, World!!" example that demonstrates
- initialization of the OS, creation of a simple task, and serial
- console output. The tiny SRAM limits what you can do with the
- AT90USB647 (see issues below).
- * PJRC Teensy++ 2.0 AT9USB1286
- This is a port of NuttX to the PJRC Teensy++ 2.0 board. This
- board was developed by PJRC (http://pjrc.com/teensy/). The
- Teensy++ 2.0 is based on an Atmel AT90USB1286 MCU with 128K
- of FLASH and 8K of SRAM; a little more room to move than the
- AT90USB647.
- STATUS: The basic port was released in NuttX-6.5. This basic
- port consists of a "Hello, World!!" example and also slightly
- simplified NuttShell (NSH) configuration (see the NSH User Guide
- at http://www.nuttx.org/NuttShell.html).
- An SPI driver and a USB device driver exist for the AT90USB as
- well as a USB mass storage configuration. However, this
- configuration is not fully debugged as of the NuttX-6.5 release.
- AVR-specific issues. The basic AVR port is solid and biggest issue
- for using AVR is its tiny SRAM memory and its Harvard architecture.
- Because of the Harvard architecture, constant data that resides to
- flash is inaccessible using "normal" memory reads and writes (only
- SRAM data can be accessed "normally"). Special AVR instructions
- are available for accessing data in FLASH, but these have not been
- integrated into the normal, general purpose OS.
- Most NuttX test applications are console-oriented with lots of
- strings used for printf and debug output. These strings are all
- stored in SRAM now due to these data accessing issues and even the
- smallest console-oriented applications can quickly fill a 4-8K
- memory. So, in order for the AVR port to be useful, one of two
- things would need to be done:
- 1. Don't use console applications that required lots of strings.
- The basic AVR port is solid and your typical deeply embedded
- application should work fine.
- 2. Create a special version of printf that knows how to access
- strings that reside in FLASH (or EEPROM).
- NuttX-6.6
- ---------
- The 73rd release of NuttX, Version 6.6, was made on July 11, 2011
- and is available for download from the SourceForge website. The
- 6.6 release adds several smaller features but is mostly a bugfix
- release.
- Bugfixes include
- * Fixed several NX Graphics bugs: Rendering fonts at >8 bits-per-pixel,
- graphics move logic, and display artifacts that appear when a
- window is closed.
- * Corrections to the USB host mass storage class driver
- * STM32 bugfixes: serial driver, GPIO interrupt handling
- * LPC17xx: Changes for a success compilation with no console.
- * Corrections to the Teensy AT90USB SD driver
- * Changes for a clean compilation under the ZDS-II toolchain.
- Minor features:
- * Add logic to extract printf strings from FLASH (but there are
- still printf issues for that target)
- * Added a configuration for the Sure Electronics PIC32MX board.
- However, higher priority tasks have stopped work on that
- configuration.
- * Added several new configurations for the STMicro STM3210E-EVAL
- board.
- * Added support for the STM3210E-EVAL board: (1) LCD in either
- landscape or portrait mode, and (2) interrupting buttons.
- * Added a configuration option to use different serial ports for
- debug and for the NSH serial console (there are some issues
- with CR-LF expansion and character echo if NSH is not run on
- the console).
- * Standardized the button press and button interrupt interfaces
- so that they are common across all boards.
- * Added a new graphics example that focuses on placing text on
- the background while pop-up windows occur. Text should continue
- to update normally with or without the popup windows present.
- * Added ARM stack checking logic.
- See the ChangeLog for a detailed description of these changes.
- NuttX-6.7
- ---------
- The 74th release of NuttX, Version 6.7, was made on August 2, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.7.tar.gz and
- apps-6.7.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information). Changes in this release are summarized
- below:
- * New OS APIs: Add the standard sem_timedwait() interface.
- * FAT File System: Adds (optional) support for VFAT long file
- names.
- * USB: Now the mass storage device can be connected when needed
- and disconnected when not needed (or re-connected as a different
- kind of device).
- * Touchscreen Support: Defined a new NuttX touchscreen interface.
- Added a driver for the TI TSC2007 touchscreen controller chip.
- * NX Fonts: Add support for multiple fonts; developed a tool to
- convert open source fonts into NuttX format; Converted and
- installed nine new, high quality fontsets.
- * NX Graphics: Add new NX APIs to support drawing of wide lines
- in any orientation. Added new low level routines to set
- individual pixel more efficiently.
- * Build system: Added a export target that will bundle up all
- of the NuttX libraries, header files, and the startup object
- into an exportable tarball.
- * LPC17xx: A CAN driver was contributed by Li Zhuoyi (Lzyy).
- * STM32: New NX-related configurations to exercise text and
- graphic image displays.
- * C Library: Added a fixed precision atan2() math function.
- * Bugfixes: Serial RX overrun error, FAT upper/lower NT 8.3 name
- handling fixed. FAT directory allocation and initialization
- bug. STM32 SDIO DMA race condition bug. eZ80 UART1 serial
- driver errors (Paul Osmialowski)
- NuttX-6.8
- ---------
- The 75th release of NuttX, Version 6.8, was made on August 19, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.8.tar.gz and
- apps-6.8.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information). Changes in this release are summarized
- below:
- * NuttX has been ported to run on the Freescale Cortex-M4 "Kinetis"
- boards. Two board ports are available for (1) the Kinetis
- KwikStik-K40 and (2) the Kinetis TWR-K60N512 tower.
- * Support for RGMP 0.3. This version of RGMP now runs on the
- OMAP4430 (arm) pandaboard
- * LPC17xx CAN driver extended to support both CAN1 and CAN2
- (submitted by Li Zhuoy (Lzzy))
- * Fixed several critical bugs related to signal handling
- initialization and for signals the wake up tasks that are waiting
- to send or receive message queues.Both are important. (submitted
- by hkwilton).
- * drivers/can.c: Fixed a semaphore overflow problem in the CAN
- driver (reported by Li Zhouy (Lzzy)).
- * Added a new ADC driver infrastructure and TI ADS1255 driver
- both developed and submitted by Li Zhouy (Lzzy)).
- See the Changelog for additional changes included in this release.
- NuttX-6.9
- ---------
- The 76th release of NuttX, Version 6.9, was made on September 11, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.9.tar.gz and
- apps-6.9.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release includes a few new features and several important bug fixes.
- The new features (some still incomplete) include:
- * Analog Support/ NXP LPC17xx: New DAC sub-system including ADC and DAC
- drivers for the LPC17xx. Extensions to the ADS1255 driver.
- (Contributed by Li Zhuoyi (Lzyy))
- * Power Management: Added a new NuttX power management sub-system for
- controlling and coordinating reduced power states. At present, only
- verified in a simulation environment.
- * I2C Test Tool: A new application was added that can be used to
- verify and debug I2C interfaces from the NuttShell (NSH) command
- line.
- * NuttShell (NSH): In addition to the I2C test tool, a date command
- is now supported (if CONFIG_RTC is defined) that can be used to
- read and set the RTC.
- * NXP LPC17xx: I2C and DAC driver for the NXP LPC17xx family submitted by Li Zhuoyi
- (Lzyy)
- * Kinetis Cortex-M4: Added a SDHC driver for the Kinetis parts.
- Complete debug of the Kinetis SDHC driver was not completed, however,
- do to some higher priority tasks that forced me to stop work.
- * Other new drivers: Driver for I2C-based at24cxx EEPROM submitted by
- Li Zhuoyi (Lzyy); Driver for the LM-75 temperature sensor. Support
- for the LM-75 temperature sensor integrated into the SM3210E-EVAL
- development board.
- * NuttX Graphics (NX): Added new NX interfaces for drawing circles,
- both circle outlines and filled circles.
- * FLASH: Added a function that accepts the path to a block driver and
- then erases the underlying FLASH memory
- * Build System: The Make export logic now also tries to track down all
- architecture-specific header files and include these in the NuttX
- export bundle as well. Various changes and modifications so that
- NuttX wil build on FreeBSD using the ASH shell (submitted by Kurt Lidl).
- Bugfixes, order roughly on decreasing criticality include:
- * STM32 I2C Driver: Add resets, timeout, and other fixes to work
- reliably with the I2C tool. Corrected a major error introduced in
- NuttX 6.8.
- * BCH Driver. Several important bugs (noted by Li Zhuoyi (Lzyy))
- were fixed.
- * C Library: Fixed errors in gmtime() and gmtime_r() that could lead to
- errors in date calculations.
- * Timing: Correct an error in the tv_nsec calculation that happens
- only config CONFIG_RTC is enabled
- * Build System: Use of -print-libgcc-file-name to get path to
- libgcc.a might select the wrong libgcc.a if a multilib toolchain
- is used
- NuttX-6.10
- ----------
- The 77th release of NuttX, Version 6.10, was made on October 6, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.10.tar.gz and
- apps-6.10.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4028
- This release includes a few new features and several important bug fixes.
- The new features (some still incomplete) include:
- * CDC ACM serial class device-side driver
- * RTC: Now supports hi-res and lo-res hardware RTC. The lo-res RTC
- runs at 1Hz.
- * STM32 I2C driver. Now supports faster, polled mode of operation.
- Added an I2C trace capability.
- * ADS7843E touchscreen driver. As used on the SAM3U-EK development
- board.
- * AT91SAM3U SPI driver. To support the ADS7843E toucscreen
- * X11 Support on simulation target. Build errors in the X11 windows
- for the simulated target have been correct. Added support for a
- simulated touchscreen on the X11 window (based on mouse inputs).
- * System Timer. Added support for a 64-bit system timer.
- * TIFF Support. Added a TIFF library (currently used for storing
- LCD screen shots).
- * LCD Support. Added a test to verify that we read and write correct
- to LCD GRAM memory.
- * I2C tool. Extended to support to include a verify command and
- repititions and auto-address increment for most commands.
- * USB terminal example. Line oriented serial bridge connects a host
- USB serial terminal to a host UART serial terminal.
- * Build System. apps/ Makefile will now include external directories
- in the application build.
- Bugfixes, order roughly on decreasing criticality include:
- * Message Queues. Correct errors in mq_timedsend() and
- mq_timedrecieve().
- * FAT. Writes that cross sector boundaries, stray write into the FAT,
- and a FAT long file name issue
- * NXFFS. Added a missed error check. Files cannot be opened for
- writing if they are already opened for reading.
- * Library: fopen() for append modse was not appending.
- * STM32 I2C driver. Correct another conflict between concurrent FSMC
- and I2C1 accesses. Fixed some bad error detection logic.
- * STM32 SDHC driver. Interrupts were being left disabled.
- NuttX-6.11
- ----------
- The 78th release of NuttX, Version 6.11, was made on November 12, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.11.tar.gz and
- apps-6.11.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4090
- This release is a maintenance release that includes a few new features
- and some important bugfixes. New features include:
- * NX Graphics: New interfaces to read from graphics memory
- * Drivers: AT24 FLASH driver will now supports clustering of blocks
- to achieve a larger, more usable block size for NXFFS.
- * STM32: LCD color corrections
- * PIC32: Board configuration for the Microchip PIC32 Ethernet Starter kit
- (not yet verified), new GPIO support library, button and LED support
- for the Sure Electronics PIC32MX board. A lot of progress has been
- made on the PIC32 NuttX port, but it is still not ready for prime time.
- * NXP LPC3152: Board configuration for the Embedded Artists EA3152.
- Bugfixes, order roughly on decreasing criticality include:
- * NXFFS: Corrected critical bugs in initialization, some full FLASH handling,
- and errors in certain cases where the FLASH is repacked.
- * ARM EABI: Fix stack aligment required for passing floating point values.
- * Build system: Fix build issues when g++ is used as the compiler.
- * NX Graphics: Bitmap error handling, correct RGB color conversion macros,
- Error when the background window is released.
- * STM32: RTC build fixes, LCD color corrections
- * Simulation target: build fixes
- * C Library: fclose() return value.
- See the change log for more detailed information.
- NuttX-6.12
- ----------
- The 79th release of NuttX, Version 6.12, was made on December 6, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.12.tar.gz and
- apps-6.12.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4141
- New features in this release include:
- * STM32. Basic support added for the STM32 F4 family. Board support
- verified for the STMicro STM3250G-EVAL board.
- * FAT. Enhanced partition handling.
- * SDIO-Based SD Card support. Add support for large (>4Gb) devices
- * Graphics. Added four new small sans serif fonts.
- * Drivers. Fix a banding problem with the R61580 LCD.
- Bugfixes, order roughly on decreasing criticality include:
- * FAT. Fix errors in how the first entries in the root directory are
- added. Fix errors in FAT date/time handling.
- * Signals. Fix bug in certain sig_timedwait() error handling.
- * Drivers. Fix cloned errors in poll() handling in several drivers.
- * Message Queues. errno was not being set correctly by mq_notify().
- * C Library. wchar_t is a built-in type for C++
- NuttX-6.13
- ----------
- The 80th release of NuttX, Version 6.13, was made on December 26, 2011
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.13.tar.gz and
- apps-6.13.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4231
- New features in this release include:
- * Drivers. New standard interface for PWM drivers and common
- "upper half" PWM driver. Updated the MP25x driver to support
- the Macronix MX25 chips (submitted by Mohammad Elwakeel).
- * STM32 F1/F4. Added an Ethernet driver, ADC drivers, DAC driver,
- PWM driver, CAN driver, F4 RTC driver, F4 DMA support,
- logic for saving/restoring F4 FPU registers in context switches.
- * STM32 Boards. Added STM3240G-EVAL DHPCD and nettest configuration.
- Support for a new STM32 board, the HY-Mini STM32v board, was
- contributed by Laurent Latil
- * PIC32. The port to the Microchip PIC32MX is finally functional and
- reliable. The NuttX PIC32 port has verified configurations for
- the OS test and the NuttShell (NSH) both exist.
- * Tests: New re-usable tests (in apps/examples) for PWM, ADC, and
- CAN loopback. Several existing tests can now be built as NSH built-in
- applicaitons (dhcpd, nettest, and all of the new tests).
- Bugfixes, order roughly on decreasing criticality include:
- * STM32: Correct handling of data overrun conditions. Existing logic
- would hang with infinite interrupts when a data overrun occurred.
- * DHCPD. Fix several problems using host order address where network
- addresses expected (and vice versa).
- And several others. See the ChangeLog for more details.
- NuttX-6.14
- ----------
- The 81st release of NuttX, Version 6.14, was made on January 15, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.14.tar.gz and
- apps-6.14.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4301
- New features in this release include:
- * Drivers. The upper-half PWM driver will now support a pulse count (as
- would be needed to control a stepper motor).
- * STM32. The CAN driver has been verified in loopback mode. ADC driver
- support for the STM32 F4. Add support for UART4-5 and USART6
- (Contributed by Mike Smith). The PWM driver now supports a pulse
- count for TIM1 and TIM8. Timer driver now supports the F4's 32-bit
- timers (Contributed by Mikhail Bychek)
- * STM32F4Discovery. Support for the STM32F4-Discovery board contributed
- by Mike Smith.
- * STM3240G-EVAL. Add support for user control of LEDs.
- * LPC17xx. Add support for loopback mode to CAN driver. CAN TX done
- perations are now interrupt driver. Now supports configurable CAN bit
- rate.
- * LPC1766-STK. Add support for on-board buttons. Add support for user
- control of LEDs.
- * LM3S. Add support for the LM3S6432S2E on the TI RDK-S2E (Contributed
- by Mike Smith)
- * PIC32MX. USB device-side driver (needs further testing). A partial
- Ethernet driver is also in place.
- * Library. Support added for fixed floating point fieldwidths in output
- formatting (Contributed by Mikhail Bychek)
- * Build. New targets apps_clean and apps_distclean to simplify working
- with application diretories.
- Bugfixes include:
- * Drivers. Fixed a buffer-full test in the upper-half CAN driver.
- * STM32. GPIO initialize logic (submitted by Mike Smith). Fix the
- debug logic that dumps the GPIO configuration.
- * LPC17xxx. Correct an integeter overlow in GPIO interrupt setup
- (prevented pins > 15 from being used as interrupt sources). Correct
- a value used in GPIO interrupt number range test.
- * FAT. Now returns the correct error value when it is unable to
- recognize the file system.
- * Build. MAC OS build fixes (submitted by Mike Smith)
- And several others. See the ChangeLog for more details.
- NuttX-6.15
- ----------
- The 82nd release of NuttX, Version 6.15, was made on February 12, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.15.tar.gz and
- apps-6.15.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4387
- New features and extended functionality:
- * General Drivers: Add support for (29-bit) extended CAN IDs. Add an
- infrastructure to support battery drivers. Add a driver for MAX17040x
- battery "fuel gauge". Add support for Composite USB drivers (in
- particular for a CDC/ACM with MSC USB composite driver).
- Added a new RAM logging driver. This will allow debug output into
- a RAM buffer associated with a character driver at /dev/syslog.
- Added the new command 'dmesg' to NSH that can be used to dump the
- current contents of the log. This is useful for systems that do not
- have the usual serial console (for example, if you only have a
- Telnet console with NSH).
- * Networking: Add a lower level, primitive socket interface. Telnet
- driver:
- A New Telnet daemon was created. It wraps a Telnet session within a
- character driver that can serve as a "controlling terminal." The
- Telnet session will then be inherited by tasks created from the
- Telnet session and the stdin/stdout from the created task will
- still go through the same Telnet connection.
- * STM32 Drivers. PWM driver pulse count was limited to 128; now is
- (essentially) unlimited. Add support for (29-bit) extended CAN IDs.
- Add support for I2C3. The SDIO driver is (mostly) verified on the
- STM32 F4 platforms.
- * LPC17xx Drivers. Extended the CAN driver so that the TSEG1 and TSEG2
- bit times can be set via the NuttX configuration. Add support for
- (29-bit) extended CAN IDs.
- * PIC32 Drivers. The PIC32 Ethernet driver is code complete (but still
- untested).
- * FTPD. Add a new FTP server daemon. This is based loosely on
- the hwport_ftpd library provided by Jaehyuk Cho.
- * Library: Add support for on_exit(). Implemented tcsetattr() and
- tcgetattr(). Moved the old, too-smart fgets() to a new application
- library function called readline(). Dumbed down the original fgets().
- Add strcasestr(), avsprintf(), inet_ntop(), and inet_pton().
- Add support to enable or disable debug output.
- * Build system: Support for building a 32-bit simulation executable on
- a 64-bit Linux machine. Correct a dependency issue in the arch/*/src/board
- directory.
- Bugfixes:
- * System: Correct PTHREAD_MUTEX_INITIALIZER
- * FAT: Fix an error in the FAT statfs() reported by David Sidrane.
- * STM32: Fix clock frequencies for APB2 timers. Correct AFIO register
- offset.
- * PIC32. Correct GPIOs used for LEDs on the Sure PIC32MX board.
- * NSH. Wait for a USB connection if a USB serial class is used to
- interface with the host.
- Additional bugfixes, name changes, and other differences as detailed in the
- ChangeLog.
- NuttX-6.16
- ----------
- The 83rd release of NuttX, Version 6.16, was made on March 10, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.16.tar.gz and
- apps-6.16.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4475
- New features and extended functionality:
- * ARMv7M Support: Includes new, streamlined Cortex-M exception
- handling provided by Mike Smith. Context switching support for the
- Cortex-M4 FPU registers is now provided (in both "lazy" and "non-lazy"
- modes)
- * General Drivers: Added a generic "upper half" Quadrature Encoder driver.
- The USB CDC/ACM serial driver can now be dynamically connnected or
- disconnected from the host (programmatically or using NSH commands).
- * STM32 Drivers: Added a "lower half" Quadrature Encoder driver.
- Verified the STM32 F4 DMA driver; Added F4 DMA support to the existing
- STM32 SDIO driver.
- * STM32 Board Support. Added support for the STM32 F2 family and
- for the STM3220G-EVAL board (contributed by Gary Teravskis).
- Support is now included for C++ static constructors (verified using
- the Atollic toolchain). Added support for the SRAM available on the
- STM3240G-EVAL board.
- * PIC32 Drivers. PIC32MX USB (device) driver is now functional.
- The PIC32MX Ethernet driver not yet fully verified (and an
- unverified SPI driver is also available).
- * Networking. Added a lower-level, thread-independent socket layer.
- Parts of this layer were created in 6.15 to support the FTPD
- controlling terminal; this support has been extended in order
- to support an NFS file system (not yet released).
- * NuttShell (NSH). NSH will now support a USB serial connection for
- the console (such as CDC/ACM). This is useful in environments
- where there is no physical serial port on the board.
- * Build System. Reorgnaization of networking header files.
- Critical Bugfixes. The following bug fixes are considered critical:
- * Networking: Fixed a "leak" in the TCP/IP read-ahead buffering logic.
- Corrected an error in TCP/IP sequence numbering/ACK logic which
- occurred when read-ahead buffering memory is exhausted.
- * STM32 Drivers: Fixed an buffer sizing error in the STM32 Ethernet
- driver.
- Additional Bugfixes: Other important bug fixes are listed below. See
- the ChangeLog of a complete, detailed list of bug fixes.
- * Networking: Corrected recv()/recvfrom() return value. Added logic to
- monitor for loss of connection after a new connection has been
- established via accept() (Contributed by Max Nekludov). Add
- logic to select() to correctly handle POLLHUP (Contributed by Max
- Nekludov)
- Additional bugfixes, name changes, and other differences as detailed in the
- ChangeLog.
- NuttX-6.17
- ----------
- The 84th release of NuttX, Version 6.17, was made on April 14, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.17.tar.gz and
- apps-6.17.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4607
- New features and extended functionality:
- * Networking: Additional low-level, thread-independent socket
- interfaces (for NFS client support).
- * RTC: Added a new interface call clock_synchronize(). This function
- will reload the system time from an RTC and is required when the
- system re-awakens from certain deep-sleep modes.
- * Graphics: Add NxConsole. This is a character device driver that
- wraps an NX window and can be re-directed for stdout. This allows,
- for example, a pop-up graphics window that contains a NuttShell (NSH)
- session. A test of NxConsole is available at apps/examples/nxconsole.
- * Watchdog Drivers: Added an interface definition an "upper half"
- driver to support watchdog timers.
- * Calypso: Support for TI Calypso-based cellphones (as supported by
- the Osmocom-BB project) was contributed by members of the Osmocom-BB
- team. This includes configurations for the Compal e88 and e99 phones.
- * USB Device Interface: Needed to extend the USB device interface
- because there was no mechanism for passing endpoint OUT data that
- may need to accompany a setup request.
- * STM32 drivers: Added some power management controls for entering
- reduced power consumption states. An OTG FS driver was completed
- and partially verified (this driver seems to be functional but since
- it has been test so lightly, it might better be listed in the
- next section "Work in progress").
- * PIC32 drivers: The PIC32 Ethernet driver is now stable. The PIC32
- USB device controller driver is now functional (but not yet stable).
- * PIC32 boards: Added support for the Sure DB-DP11212 PIC32 General
- Purpose Demo Board. There is now a PIC32 Starter Kit that
- provides NSH only through a Telnet connection.
- * Build System: Some header files were moved into include/nuttx.
- The goal is to move any non-standard header files to include/nuttx
- or include/arch. Moved include/math.h to include/nuttx/math.h;
- this file is now only instantiated as the 'system' math.h if
- CONFIG_ARCH_MATH_H=y is defined.
- * Tools: Added tools/cmpconfig.c, a tool for comparing two
- configuration files.
- Work in progress. This release includes some partially completed
- work that is still not ready for prime time.
- * NFS Client: Work is progressing on support for an NFS client
- file system. This is a port of the BSD NFS client file system
- that is being done by Jose Pablo Rojas V.
- * Automated Configuration: Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
- * STM32 Drivers: Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
- Bugfixes:
- * Networking: Corrected a deadlock that only occurred when
- executing the NSH 'ifconfig' command over Telnet.
- * File system: Fix incorrect return errno value from read() when
- the file is opened write-only.
- * Graphics: Fix several compilation errors that have crept into the
- multi-user NX server because of lack of use.
- * STM32: In order to use CAN2, both CAN1 and CAN2 clocking must be
- enabled. Fixed a troublesome bug in the STM32 F4 I2C driver that
- resulting in timeouts.
- * LPC17xx: Fixes for errors the crept in the LPC17xx DAC logic
- Contributed by Lzyy).
- * Build System: Reordered the link command line to account for new
- versions of libgcc.a that require symbols from the application
- (abort()).
- NuttX-6.18
- ----------
- The 85th release of NuttX, Version 6.18, was made on May 19, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.18.tar.gz and
- apps-6.18.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- The majority of changes in this release are focused on supporting the
- synchronized release of NxWM, the NuttX tiny window manager. That
- window manager is released as part of the NxWidgets package, but depends
- upon many of the changes in this NuttX release.
- This release corresponds with SVN release number: r4751
- New features and extended functionality:
- * Drivers. Added a watchdog timer driver infrastructure. Add general
- support for STMicro STMPE811 I/O Expander/touchscreen device.
- * STM32. Add support for the STM32 IWDG and WWDG watchodog timers. DMA
- now supports cicular buffer mode; serial driver now uses circular
- DMA to improve Rx performance (Contributed by Mike Smith).
- * STM3240G-EVAL Board. Add support for the LCD and for the STMPE811
- I/O Expander as a touchscreen controller.
- * PIC32 Boards. Board support for the Mikroelektronika PIC32MX7
- Multimedia Board (MMB) and for the Sparkfun UBW32 PIC32 board.
- * NX. Framed windows are now draw in three colors instead of just two.
- Numerous other extensions needed to support NxWM (see the ChangeLog
- for details).
- * Library. Add prctl() command that can be used to setting and getting
- the names of threads. This (plus several other improvements and bug
- fixes) are part of a larger effort to improve task monitoring
- capabilities.
- Work in progress. This release includes some partially completed
- work that is still not ready for prime time.
- * NFS Client. Work is progressing on support for an NFS client
- file system. This is a port of the BSD NFS client file system
- that is being done by Jose Pablo Rojas V.
- * Automated Configuration. Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
- * STM32 Drivers. Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
- Bugfixes (see the change log for details) :
- * sched_setscheduler() return value (Contributed by Richard Cochran).
- * stdio. Ignore CONFIG_STDIO_LINEBUFFER if the file was opened in binary mode.
- * fopen(). Correct an error in parsing open mode string.
- * serial driver. Improved performance be reducing the amount of time
- that Rx interrupts are disabled.
- * recvfrom(). Fix a compilation problem.
- * CDC/ACM device driver. Fix an infinite loop that occurs when the serial
- device is unregistered.
- * STM32 OTG FS device driver. Numerous fixes and the driver is partially
- functional but there are still some issues that become apparent when
- debug output is disabled.
- * fcntl(). Always returned zero on success; however, some fcntl commands
- need to return non-zero values on success.
- * graphics: Many multi-use mode fixes added to support NxWM (see the
- ChangeLog for details). Auto-raise is temporarily disabled in multi-
- user mode because it causes some problems with NxWM.
- * on_exit(): Fix compilation errors if CONFIG_SCHED_ONEXIT is enabled.
- NuttX-6.19
- ----------
- The 86th release of NuttX, Version 6.19, was made on June 15, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.19.tar.gz and
- apps-6.19.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4847
- This release features new support for a Network File System (NFS) client.
- This feature allows a tiny, embedded MCU to mount a remote file system
- exported by an NFS server and then to access the file system as it would
- any local file system. Then the tiny MCU can effectively have terabytes
- of storage!
- This might be useful for data collection, for MCU configuration information,
- for software updates, for providing modular, loadable code modes, controlling
- a "farm" of MCUs, ... there are many possibilities and opportunities for
- innovation!
- The NuttShell (NSH) now supports the following command:
- nfsmount <server-address> <mount-point> <remote-path>
- That command will mount the remote NFS server directory <remote-path> at
- <mount-point> on the target machine. <server-address> is the IP address of
- the remote server.
- The NFS development was the graduation project of Jose Pablo Rojas V. who
- is a student at the Instituto Tecnológico de Costa Rica (ITCR, or TEC).
- A lot of effort went into understanding what a tiny, embedded NFS client should
- do and getting the target resource usage to a bare minimum. Only around a
- kilobyte or so of memory is required to run the NFS client (and most of that
- for I/O buffers). Jose Pablo has spent several months living with NFS and
- should be congratulated.
- Additional new features and extended functionality:
- * Drivers: SSD1289 LCD driver, MIO283QT2 LCD driver
- * LM3S: Additional register definition header files (contributed by Max
- Neklyudov).
- * STM32 Boards: The STM32F4Discovery will now support an SSD1289 LCD,
- The STM3220G-EVAL board support is now equivalent to the STM3240G-EVAL
- board support.
- * PIC32 Boards: The Mikroelektronika PIC32MX7 MMB board port is now
- functional, very complete, and stable.
- * Graphics: The NxConsole will now take keyboard input from the NX graphics
- subsystem. This means that if there are multiple NxConsole windows, only
- the top instance that has focus will receive the keyboard input.
- * apps/: Add the capability to use an arbitrary USB device as the console
- (not necessarily /dev/console). Additional enhancements for USB consoles.
- Added the 'mv' command.
- Work in progress. This release includes some partially completed
- work that is still not ready for prime time.
- * Automated Configuration. Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
- * STM32 Drivers. Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
- Bugfixes (see the change log for details) :
- * General: sleep() and usleep() return values, sig_timedwait() errno setting
- on timeout.
- * Drivers: STMPE811 touchscreen driver, USB PLC2303, USB CDC/ACM
- * STM32: Several USB device controller driver fixes, F4 interrrupt priorities
- (contributed by Mike Smith).
- * Graphics: Keyboard input, fill trapezoid bug
- As well as other, less critical bugs (see the ChangeLog for details)
- NuttX-6.20
- ----------
- The 87th release of NuttX, Version 6.20, was made on July 12, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.20.tar.gz and
- apps-6.20.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r4937
- Additional new features and extended functionality:
- * Power Management: An evolving power management example is being
- created by Diego Sanchez. This effort currently involves on the
- STM32 F1 but clearly demonstrates the NuttX power management
- system which will automatically drive the system to lower power
- usage states due to lack of use.
- * Drivers: Added a driver for the SST 25 SPI-based FLASH parts.
- * PIC32: Added support for the PIC32MX1 and PIC32MX2 families.
- Added support for the microchipOpen and Pinguino toolchains.
- * NXP LPC43XX: Added support for the entire LPC43xx family
- * PIC32 boards: Added support for the DTX1-4000L "Mirtoo" module
- from http://www.dimitech.com/ (PIC32MX2).
- * NXP LPC43XX Boards: Added support for NGX LPC4330-Xplorer board.
- * NXP LPC17XX Boards: Added support for Micromint Lincoln60 board
- (LPC1769).
- * LM3S Boards: Add a configuration to support the TI/Stellaris
- EKK-LM3S3B96 development board. Contributed by Jose Pablo Rojas V.
- * Library: NuttX now supports platform-specific stdarg.h header
- files.
- Work in progress. This release includes some partially completed
- work that is still not ready for prime time.
- * Automated Configuration. Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
- * STM32 Drivers. Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
- Bugfixes (see the change log for details) :
- * PIC32: GPIO output configuration (critical bug)
- * STM32: Typos in pin mapping files.
- * LM3S: Fixed an optimization related but that caused slow start-up
- times if optimization was disabled.
- * Library: Fixed signed extension but in all limit.h files
- (reported by Lorenz Meier). inet_ntoa compilation failure
- on Z80.
- As well as other, less critical bugs (see the ChangeLog for details)
- NuttX-6.21
- ----------
- The 88th release of NuttX, Version 6.21, was made on August 25, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.21.tar.gz and
- apps-6.21.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r5052
- Additional new features and extended functionality:
- * Core: Add support for multiple registered atexit() functions. Syslog
- extended: Now any character driver may be used for the debug logging
- device. Mountpoint traversal logic.
- * Drivers: Added support for the TI PGA112-7 amplifier/multiplexor.
- * LPC43xx: Added clock ramp-up logic to run at 204 MHz
- * LPC43xx Drivers: SPIFI block driver, RS-485 support, Minimal termios
- support. Framework for USB0 device controller driver.
- * LPC17xx Drivers: Minimal termios support
- * STM32: Support for STM32 F1 "Value Line" (contributed by Mike Smith).
- Add support for STM32 F107 "Connectivity Line" (contributed by Max
- Holtzberg).
- Clock restart logic needed for recovery from low power modes.
- * STM32 Drivers: RTC alarm support. Usable for wakeup from sleep mode,
- Minimal serial termios support. USB OTG FS host driver (alpha).
- * STM32 Boards: Add power management hooks for the STM32F4Discovery,
- Add support for the Olimex STM32-P107 (contributed by Max Holtzberg).
- * PIC32: Add support for the Pinguino MIPS toolchain.
- * PIC32 Drivers: GPIO driver now supports F1 analog regiaters (ANSEL).
- * PIC32 Boards: Add support for the PGA117 on the Mirtoo module.
- * Calypso: Add support for the SSD1783 LCD on the Compal E99.
- * Library: cfsetispeed(), cfsetospeed(), tcflush(), memchr(), and
- memccpy().
- * Applications: Port of freemodbus-v1.5.0. Add support for testing
- devices with multiple ADC, PWM, and QE devices.
- NSH: NSH 'mount' command (with no arguments) will now show mounted
- volumes. Add new NSH 'df' command. Extended 'help' support. NSH
- now catches the return value from spawned applications (provided
- by Mike Smith).
- * Build System: mkconfig will not define CONFIG_DRAM_END. A lot of
- progress has been made on the automated NuttX configuration logic
- (Thanks go to Richard Cochran).
- * Documentation: Document ways to customize the behavior of NSH.
- Bugfixes (see the change log for details) :
- * Serial drivers (all): Fix ioctl return value. Common "upper half"
- serial driver will now return with EINTR if a serial wait is
- interrupted by a signal.
- * FAT: Fix statfs() file name length.
- * LPC43xx: Clock configuration.
- * STM32: Pinmap fixes, SPI driver re-initialization
- * STM32 Boards: Correct and lower SDIO frequency for F2 and f4 boards.
- * AVR: C++ build issues.
- * PM: Fix a place where interrupts were not be re-enabled.
- * Applications: NSH application start-up race conditions.
- * Library: Fieldwidth and justification for %s format. Fixed several
- issues with presenting floating point numbers. NULL definition
- for C++
- As well as other, less critical bugs (see the ChangeLog for details)
- NuttX-6.22
- ----------
- The 89th release of NuttX, Version 6.22, was made on September 29, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.22.tar.gz and
- apps-6.22.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r5206
- Note that all SVN information has been stripped from the tarballs. If you
- need the SVN configuration, you should check out directly from SVN. Revision
- r5206 should equivalent to release 6.22 of NuttX 6.22:
- svn checkout -r5206 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Or
- svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Additional new features and extended functionality:
- * RTOS: Application entry point is no longer user_start, but can be
- configured using CONFIG_USER_ENTRYPOINT. NuttX now supports two work
- queues: A lower priority work queue (for extended processing) and a
- higher priority work queue (for quick, high priority operations).
- * Memory Management: Added a new granule-based allocated that can be
- used to manage, aligned and quantized DMA memory.
- * File System: Add hooks to allocate I/O memory with and external
- allocated (need if required by DMA).
- * Networking: ENC28J60 driver is (finally) verified.
- * Drivers: Add hooks USB device drivers to allocate I/O memory with and
- external allocated (need if required by DMA). Driver for the Windbond
- SPI FLASH family (W25x16, W25x32, W25x64, and others). ADS7843E driver
- extended for TSC2046 and XPT2046 and verified.
- * ARMv7-M: Added logic to reset the MCU using the NVIC.
- * STM32: Add support for STM32F103VET6.
- * STM32 Drivers: Add logic to re-initialize UARTs a second time to
- enable DMA (Mike Smith). I2C driver error recovery (Mike Smith).
- * STM32 boards: Support for USB host added add to several configurations
- (or at least explained in README files). Support for the Shenzhou
- STM32F107 board (see www.armjishu.com). Support for M3 Wildfire
- STM32F103 board (v2 and v3).
- * Build System: Kconfig string de-quoting logic. Remove comments from
- defconfig files (Kate). Add tool to create NuttX-style symbol tables.
- Numerous changes to configuration logic as needed for the new mconf-based
- configuration (much of this from Richard Cochran). Refactor common
- Make.defs logic into tools/Config.mk (Richard Cochran).
- * Library: Configurable terse output from strerror(). Added perror() (Kate).
- Add %n format to sscanf() (Kate).
- * Applications: Numerous changes and extensions to the old uIP web server
- (from Kate and Max Holtzberg, see the ChangeLog for specific extensions).
- UDP network discovery utility (Max Holtzberg). Embeddable Lightweight
- XML-RPC Server (http://www.drdobbs.com/web-development/an-embeddable-lightweight-xml-rpc-server/184405364, Max Holtzberg).
- Bugfixes (see the change log for details). Some of these are very important
- (marked *critical*):
- * RTOS: Fixes to priority inheritance logic (*critical*). waitpid()
- critical section. Assertion in work_cancel() (Mike Smith). mmap() (Kate).
- * FAT File System: Improper Boolean expression caused un-necessary writes
- and performance issues (*critical*, Ronen Vainish).
- * Networking: Remove an un-necessary delay from recvfrom(). This greatly
- improves network performance (*critical*, Max Holtzberg).
- * Graphics: NX parameter checking errors.
- * Drivers: Fix double release of memory in SDIO-based, MMC/SD driver
- (Ronen Vainish).
- * LPC17xx: Ethernet driver fixes needed for certain PHYs (Kate).
- * AVR: Fix build error (Richard Cochran).
- * STM32: USB OTG FS host driver NAKing an retries. Power management
- compilation errors (Diego Sanchez). Missing SPI3 remap logic.
- * STM32 Drivers: Fix for Ethernet errata for STM32F107 (*critical*).
- Ethernet buffer alignment check. Add "kludge" to Ethernet driver to
- handle DM9161 PHY which (at least on the Shenzhou board), sometimes
- does not come up correctly.
- * Applications: THTTPD (Kate). NSH ping when IP address is on a different
- network (Darcy Gong).
- * Library: fread(), fflush(), fdopen(): Fix error handling logic (Ronen
- Vainish). Fix some field-width handling issues in sscanf()
- As well as other, less critical bugs (see the ChangeLog for details)
- NuttX-6.23
- ----------
- The 90th release of NuttX, Version 6.23, was made on November 5, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.23.tar.gz and
- apps-6.23.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r5313
- Note that all SVN information has been stripped from the tarballs. If you
- need the SVN configuration, you should check out directly from SVN. Revision
- r5313 should equivalent to release 6.23 of NuttX 6.23:
- svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Or
- svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Additional new features and extended functionality:
- * RTOS: If both atexit() and on_exit() are enabled, use on_exit() to
- implement atexit(). Updates for RGMP 4.0.
- * Binfmt: Add support for loading and executing ELF binary modules from
- a file system.
- * Drivers: Maxim MAX11802 touchscreen controller (Petteri Aimonen)
- * STM32 Driver: Implementation of /dev/random using the STM32 Random Number
- Generator (RNG).
- * STM32 Boards: ADC support for the Shenzhou IV board. Relay support for
- the Shenzhou IV board.
- * C Library: Support is now included for the add-on uClibc++ C++
- standard library support. This includes support for iostreams, strings,
- STL, RTTI, exceptions -- the complete C++ environment. (uClibc++ is
- provided as a separate add-on package due to licensing issues).
- Optimized generic and ARM-specific memcpy() function. Optimized
- memset() function.
- Add support for ferror(), feof(), and clearerror(). Add support for
- __cxa_atexit().
- Math Library: Port of the math library from Rhombus OS by Nick Johnson
- (Darcy Gong).
- * Applications: New NSH commands: ifup, ifdown, urlencode, urldecode,
- base64enc, bas64dec, md5 (Darcy Gong). Add support for NSH telnet login
- (Darcy Gong). Enancements to NSH ping command to support pinging hosts
- with very long round-trip times. Extensions to the ifconfig command
- Darcy Gong),
- Many extensions to the webclient/wget and DNS resolver logic from Darcy
- Gong. JSON, Base64, URL encoding, and MD5 libraries contributed by Darcy
- Gong.
- New examples: ELF loader, JSON, wgetjson, cxxtest, relays.
- Bugfixes (see the change log for details). Some of these are very important
- (marked *critical*):
- * Drivers: W25 SPI FLASH
- * STM32 Drivers: ADC reset
- * Graphics: Missing implementation of the blocked method (*critical*,
- Petteri Aimonen).
- * C Library: Floating point numbers in printf and related formatting functions
- (Mike Smith), cf[get|set]speed() (Mike Smith)
- As well as other, less critical bugs (see the ChangeLog for details)
- NuttX-6.24
- ----------
- The 91st release of NuttX, Version 6.24, was made on December 20, 2012,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.24.tar.gz and
- apps-6.24.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r5447
- Note that all SVN information has been stripped from the tarballs. If you
- need the SVN configuration information, you should check out directly from
- SVN. Revision r5447 should equivalent to release 6.24 of NuttX 6.24:
- svn checkout -r5447 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Or (HTTP):
- svn checkout -r5447 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Additional new features and extended functionality:
- * RTOS:
- - Implemented the POSIX pause() function (still has some compiance
- issues).
- - Tasking logic is extended to support the notion of address
- environments. An address environment is the key notion underlying
- "process" vs. tasks. If tasks are created with address environments
- (by binfmt), the OS will propogate that environment to child threads
- and will destroy the address environment when the "process" exists.
- - If support for the PATH variable is enabled, the OS start up logic
- will create an initial environment containing the default PATH
- setting (CONFIG_PATH_INITIAL). This initial PATH will then be
- inherited by all tasks.
- * Binfmt
- - The NuttX binary loaders have been updated to support the PATH
- environment variable. Now, if the PATH is properly defined, programs
- can be executed from mass storage using only the file name. This
- feature is added to support more standard behavior (eventually, NSH
- will support execution of programs in file systems by just entering
- the file name, perhaps in 6.25?).
- - The NXFLAT and ELF binary loaders have been extended to create
- address environments for any new tasks executed from the file system.
- This feature requires that the architecture support a memory management
- unit (MMU) and the address environment interfaces declared in
- include/nuttx/arch.h (currently, this is only supported by the z180).
- * Drivers: LCD driver for the Univision UG-2864AMBAG01 OLED
- * STM32: Support for STM32F100 high density chips contributed by Freddie
- Chopin.
- * STM32 Drivers: Added optional RS-485 direction bit control (from
- Freddie Chopin).
- * STM32 Boards:
- - Support for generic STM32F100RC board contributed by Freddie Chopin.
- - stm32f4discovery/nxlines: STM32F4Discovery support for the
- UG-2864AMBAG01 OLED.
- - stm32f4discovery/winbuild: A version of the NuttX OS test
- configured to build natively on Windows.
- - stm32f4discovery/elf: Now uses the PATH variable to find ELF
- executables.
- - configs/cloudctrl: Added for Darcy Gong's CloudController board
- * PIC32 Boards: Update the Mirtool configuration for Release 2 of the
- Mirtoo module.
- * Calypso: Add Calypso keypad driver. From Denis Cariki.
- * ZiLOG:
- - Add support for the z180 chip family and, specifically, for
- the P112 retro hardware (see http://p112.feedle.net/).
- - All ZiLOG configurations updated to use the current ZDS-II
- and/or SDCC toolchains.
- * Graphics:
- - Add a semaphore handshake so that operations on buffers from
- the NXMU client will be blocked until the NX server operates on the
- buffer data (from Petteri Aimonen).
- - nxtk_subwindowmove() and nxtk_getwindow(): Improvements to clipping
- logic from Petteri Aimonen.
- * C Library: lib/ sub-directory renamed libc/ (there is a new lib/ sub-
- directory that is used to hold all archives).
- * C++: Exception stubs from Petteri Aimonen.
- * Applications:
- - Add NSH hexdump command to dump the contents of a file (or character
- device) to the console (contributed by Petteri Aimonen).
- - Extend the NSH ifconfig command plus various DHCPC improvements
- (from Darcy Gong).
- * apps/examples:
- - ostest: Replace large tables with algorithmic prime number
- generation. This allows the roundrobin test to run on platforms
- with minimal SRAM (Freddie Chopin).
- - keypadtest: A new keypad test example contributed by Denis Carikli.
- - elf and nxflat: If CONFIG_BINFMT_EXEPATH is defined, these examples
- will now use a relative path to the program and expect the binfmt/
- logic to find the absolute path to the program using the PATH
- variable.
- * Build system:
- - New top-level Makefiles: Makefile.unix and Makefile.win (along with
- numerous changes to other make-related files). This adds basic
- support for building NuttX natively under Windows from a CMD.exe
- window (rather than in a POSIX-like environment). This build: (1)
- Uses all Windows style paths, (2) Uses primarily Windows batch
- commands from cmd.exe, with (3) a few extensions from GNUWin32.
- This capability should still be considered a work in progress
- because: (1) it has not been verfied on all targets and tools,
- and (2) still lacks some of the creature-comforts of the more
- mature environments (like a function configure.sh script and
- 'make menuconfig' support).
- - Example Windows native builds for STM32F4Discovery, eZ80, z16f, z8,
- Z80, and Z180.
- - Several configurations have been converted to work the kconfig-
- frontends mconf configuration tool: stm32f4discovery/nxlines, and
- all eZ80, z16f, z8, Z80, and Z180 configurations.
- - Architectures now include a common Toolchain.defs file that can be
- used to manage toolchains in a more configurable way (most of this
- contributed by Mike Smith).
- * Build tools:
- - Renamed tools/winlink.sh to tools/copydir.sh.
- - Several new tools/scripts to support the Windows native build:
- tools/mkdeps.bat, tools/mkdeps.c, tools/link.bat, unlink.bat, and
- copydir.bat.
- - tools/incdir.sh and incdir.bat now support an -s option to generate
- system header file paths.
- - tools/b16.c: Fixed precision math conversion utility.
- Bugfixes (see the change log for details). Some of these are very important
- (marked *critical*):
- * RTOS: Fix some backward conditional compilation in the work queue
- logic (Freddie Chopin).
- * File System: Uninitialized variable caused assertions (from Lorenz
- Meier).
- * Drivers: Partial fix for STM32 OTGFS device drivers and fix for short,
- unaligned writes in the flash translation layer (drivers/mtd/ftl.c),
- both from Petteri Aimonen.
- * STM32 Drivers:
- - Qencoder driver and TIM3 driver fixes from Ryan Sundberg.
- - Fix timeout delay calculation in the STM32 OTG FS host driver.
- * LPC17xx Drivers: Resources not being properly released when I2C
- driver is un-initialized.
- * Graphics:
- - Fix logic when the mouse drags outside of the window; fix
- another "blocked message" handling case (both from Petteri Aimonen).
- - nxtk_filltrapwindow(): Correct an offset problem (also from Peterri
- Aimonen).
- - nxglib_splitline(): Correct the "fat flat line" bug.
- * C Library:
- - nrand() changes to prevent coefficients from becoming zero which
- would "lock up" the random number generate.
- - Add rounding functions to the math library (contributed by Petteri
- Aimonen).
- * Build system: Changes to MIN definitions in all limit.h header files
- to avoid integer overflows. For example from (-128) to (-127 - 1)
- (from Petteri Aimonen).
- * Applications: Modbus fixes from Freddie Chopin.
- As well as other, less critical bugs (see the ChangeLog for details)
- NuttX-6.25
- ----------
- The 92nd release of NuttX, Version 6.25, was made on February 1, 2013,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.25.tar.gz and
- apps-6.25.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r5595
- Note that all SVN information has been stripped from the tarballs. If you
- need the SVN configuration information, you should check out directly from
- SVN. Revision r5595 should equivalent to release 6.25 of NuttX:
- svn checkout -r5595 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Or (HTTP):
- svn checkout -r5595 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Additional new features and extended functionality:
- * OS Initialization
- - Removed support for CONFIG_BUILTIN_APP_START. This is not really a
- useful feature and creates a violation of the OS layered
- architecture.
- * Task Creation:
- - Implement a simple vfork(). In NuttX-6.25, this interface is
- available only for ARM7/9, ARMv7-M (Cortext-M3/4), and MIPS32
- (PIC32MX) platforms.
- - exec() now sets the priority of the new task to the same priority as
- the parent task (instead of the arbirtrary value of 50).
- - New, partially complient implementations of execv() and execl().
- These are only partially compliant because they do not overlay any
- existing "process space" but rather create the new task and exit().
- - Add a complete implementation of posix_spawn(). This standard
- interface is a better match for an MMU-less architecture than are
- vfork() plus execv() or execl().
- - Add a task start hook that will be called before the task main
- is started. This can be used, for example, to schedule C++
- static constructors to run automatically in the context of the
- new task.
- * Task Parentage
- - Repartitioned tasking data structures. All shared resources are now
- collected together in a "task group". A task group includes the
- original task plus all of the pthreads created by the task.
- - Added support for remember the parent "task group" when a new task is
- started.
- - Added optional support to record the membership of each thread in
- the "task group".
- - Implement support for retaining child task status in the "task group"
- after the child task exists. This is behavior required by POSIX.
- But in NuttX is only enabled with CONFIG_SCHED_HAVE_PARENT and
- CONFIG_SCHED_CHILD_STATUS
- - Add internal logic to "reparent" a task. This is useful,
- for example, where the child task is created through a trampoline
- task that redirects I/O. Reparenting allows the caller of posix_spawn()
- to be reparented for the eventual child thread.
- - Added support for SIGCHLD. Sent to all members of the parent task
- group when the file member of the child task group exits.
- - If SIGCHLD and retention of child task exist status are enabled, then
- a more spec-compliant version of waitpid() is enabled.
- - New interfaces waitid() and wait() are also enabled when SIGCHLD
- is enabled.
- * File System
- - dup() and dup2() can new be used with opened files in a mounted file
- system. This supports re-direction of output in NSH to files.
- - The binfs file system was moved from apps/builtin to fs/binfs. The
- binfs file system was extended to support execution of "builtin
- applications" using exec(), execv(), execl(), or posix_spawn().
- - Added logic based on SIGCHLD to automatically unload and clean-up
- after running a task that was loaded into memory.
- * Binary Formats
- - Much of the logic for "builtin applications" was moved from
- apps/builtin to nuttx/binfmt/libbuiltin. Includes some extensions
- contributed by Mike Smith.
- - A binary loader was added for builtin applications to support
- execution of "builtin applications" using exec(), execv(),
- execl(), or posix_spawn().
- * Drivers:
- - Added logic to marshal and serialized "out-of-band" keyboard
- commands (such as cursor controls and key release events) intermixed
- with normal ASCII keypress data. The encoding is partially integrated
- in the HID keyboard driver and the decoding full integrated into the
- apps/examples hidkbd and keypadtest (the latter contributed by Denis
- Carlikli).
- - Driver for the UG-2864HSWEG01 OLED contributed by Darcy Gong.
- - Add support for removable serial devices (like USB serial). This
- support is enabled by CONFIG_SERIAL_REMOVABLE.
- * ARMv7-M:
- - Added an option to use the BASEPRI register to disable interrupts
- (instead of the PRIMASK). This eliminates some innocuous hardfaults
- that interfere with some debug tools. You need to switch to the
- BASEPRI method only if you have such tool interference.
- * STM32 Drivers
- - Bring STM32 F1 DMA capabilities up to par with the STM32 F2/F4
- (contributed by Mike Smith).
- - Add support for USART single wire mode (Contributed by the PX4
- team).
- - Updates to support for SPI DMA on the STM32 F1/F2/F4. From
- Petteri Aimonen.
- * STM32 Boards:
- - New configuration to support the UG-2864HSWEG01 OLED on the
- STM32F4Discovery board.
- - Added a posix_spawn() test configuration for the STM32F4Discovery.
- * LM3S/LM4F
- - Files and directories repartitioned to support both LM3S and LM4F
- using the STM32 organization as a model.
- - Partial definitions for the LM4F contributed by Jose Pablo Carballo
- (this is still a work in progress).
- * LM3S Boards
- - Added scripts and documentation to use OpenOCD with the LM3S (from
- Jose Pablo Carballo).
- * LPC176x/LPC178x
- - Files and directories repartitioned to support both LPC175x/LPC176x
- and the LPC177x/LPC178x families using the STM32 organization as a
- model. The LPC1788 port is a work in progress by Rommel Marcelo.
- * LPC176x/LPC178x Boards:
- - Added a configuration to support the Wave Share Open1788 board.
- This is still a work in progress by Rommel Marcelo.
- * LPC2148 Boards:
- - Add basic support for the The0.net ZP213x/4xPA board (with the LPC2148
- and the UG_2864AMBAG01 OLED).
- - Add an nxlines configuration for the ZP213x/4xPA (with the LPC2148
- and the UG_2864AMBAG01).
- * Simulator:
- - Add an nxlines configuration for the simulator.
- * Networking:
- - Add logic to work around delayed ACKs by splitting packets
- (contributed by Yan T.).
- - Split net_poll() to create the internal interface psock_poll().
- * LCDs:
- - Added support for LCD1602 alphanumeric LCD (HD4468OU controller).
- * Graphics:
- - Added 5x8 monospace font. This tiny font is useful for graph
- labels and for small bitmapped display. Contributed by Petteri
- Aimonen.
- * Build System:
- - Add an options to better manage toolchain prefixes.
- - Redesigned how the context targer works in the apps/ directory.
- The old design caused lots of problems when changing configurations
- because there is no easy way to get the system to rebuild the
- context. This change should solve most the problems and eliminate
- questions like "Why don't I see my builtin application in NSH?"
- * Kconfig Files:
- - There are several new configurations that use the kconfig-frontends
- tools and several older configurations that have been converted to
- use these tools. There is still a long way to go before the conversion
- is complete:
- configs/sim/nxwm
- configs/sim/nsh
- configs/stm3220g-eval/nxwm
- configs/stm32f4discovery/posix_spawn
- configs/olimex-lpc1766stk/nsh
- configs/olimex-lpc1766stk/hidkbd
- configs/olimex-lpc1766stk/nettest
- configs/open1788/ostest
- configs/stm32f4discovery/nsh
- configs/stm32f4discovery/usbnsh
- configs/lm326965-ek (all configurations)
- configs/mcu123-214x/nsh
- configs/ubw32/ostest
- * Tools:
- - tools/kconfig.bat: Kludge to run kconfig-frontends from a DOS shell.
- - tools/configure.c: configure.c can be used to build a work-alike
- program as a replacement for configure.sh. This work-alike
- program would be used in environments that do not support Bash
- scripting (such as the Windows native environment).
- - tools/configure.bat: configure.bat is a small Windows batch
- file that can be used as a replacement for configure.sh in a
- Windows native environment. configure.bat is actually just a
- thin layer that executes configure.exe if it is available. If
- configure.exe is not available, then configure.bat will attempt
- to build it first.
- * Applications:
- - New and modified examples:
- apps/examples/wlan: Remove non-functional example.
- apps/examples/ostest: Added a test of vfork(). Extend signal
- handler test to catch death-of-child signals (SIGCHLD). Add a
- test for waitpid(), waitid(), and wait().
- apps/exampes/posix_spawn: Added a test of posix_spawn().
- - NSH:
- NSH now supports re-direction of I/O to files (but still not from).
- The block driver source argument to the mount command is now
- optional for file systems that do not require a block driver.
- NSH can now execute a program from a file system using posix_spawn().
- Added support for a login script. The init.d/rcS script will be
- executed once when NSH starts; the .nshrc script will be executed
- for each session: Once for serial, once for each USB connection,
- once for each Telnet session.
- - Supports a new daemon that can be used to monitor USB trace outpout.
- - Removed non-functional wlan example.
- Bugfixes (see the ChangeLog for details). Some of these are very important:
- * Tasking:
- - Fixed a *critical* task exit bug. Here is the failure scenario:
- (1) sched_lock() is called increments the lockcount on the current
- TCB (i.e., the one at the head of the ready to run list), (2)
- sched_mergepending is called which may change the task at the head
- of the ready-to-run list, then (3) sched_unlock() is called which
- decrements the lockcount on the wrong TCB. The failure case that
- I saw was that pre-emption got disabled in the IDLE thread, locking
- up the whole system.
- * Signals:
- - sigtimedwait() would return a bad signal number if the signal was
- already pending when the function was called.
- * Drivers:
- - Some SD cards will appear busy until switched to SPI mode for
- first time. Having a pull-up resistor on MISO may avoid this
- problem, but this fix from Petteri Aimonen makes it work also
- without pull-up.
- * STM32 Drivers:
- - STM32 FLASH driver counting error (from Freddie Chopin).
- - STM32 F4 maximum SPI frequency was wrong (corrected by Petteri
- Aimonen).
- * STM32 Boards
- - Due to cloning of untested code, the logic to control on-board
- LEDs did not work on any STM32 boards.
- - Serial devices number /dev/ttyS0-5 is there is a serial console,
- but /dev/ttyS1-6 if there is no serial console.
- * Binary Formats
- - C++ static constructors execute now using a start taskhook
- so that they execute in the context of the child task (instead
- of in the context of the parent task).
- * File Systems:
- - Several FAT-related bugs fixed by Petteri Aimonen.
- * Networking:
- - Fix poll/select issure reported by Qiang: poll_interrupt() must call
- net_lostconnection() when a loss of connection is reported. Otherwise,
- the system will not remember that the connection has been lost and will
- hang waiting on a unconnected socket later.
- - Similar issues corrected for recvfrom() and send().
- - Telnetd would hang in a loop if recv() ever returned a value <= 0.
- * Libraries:
- - fread() could hang on certain error conditions.
- - Can't handle SYSLOG output to a character device from the IDLE task
- (because the IDLE task can't block).
- * Build System:
- - Serial was driver was not being built if there is no console
- device. Obviously, the serial driver may be needed even in
- this case.
- * Additional Bugfixes:
- - sig_timedwait() and clock_time2ticks.c: Timing "rounding" logic
- - ARM9 Compilation issue with low vectors.
- - readline() return value
- - Others as detailed in the ChangeLog: HID keyboard, LPC17xx bit
- definitions, strndup(), PL2303, SYSLOG error handling, AT25,
- apps/examples.
- NuttX-6.26
- ----------
- The 93rd release of NuttX, Version 6.26, was made on March 15, 2013,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.26.tar.gz and
- apps-6.26.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- This release corresponds with SVN release number: r5745
- Note that all SVN information has been stripped from the tarballs. If you
- need the SVN configuration information, you should check out directly from
- SVN. Revision r5745 should equivalent to release 6.26 of NuttX:
- svn checkout -r5745 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Or (HTTP):
- svn checkout -r5745 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
- Additional new features and extended functionality:
- * OS Initialization:
- - Add an additional call-out to support board-specific driver
- initialization during the boot-up phase (available with
- CONFIG_BOARD_INITIALIZE=y).
- * Tasking:
- - New interface task_spawn() that is like posix_spawn(), but uses
- entry point addresses like task_create().
- - Additional data restructuring as a continuation of the task group
- changes of NuttX 6.25. These data structures were moved from the
- TCB structure into the task group: pthread join data,
- atexit/on_exit callbacks, waitpid data structures, and message
- queues.
- - TCBs for tasks and pthreads are now separate structures. This
- saves a little memory since tasks do not have to carry the overhead
- for threads and vice versa.
- * Kernel Build:
- - Extensive changes were made to support the kernel build mode. In
- this mode, NuttX is built as a monolithic kernel. NuttX is built
- as a separate kernel mode "blob" and the applications are built
- as a separate user mode "blob". The kernel runs in kernel mode and
- the applications run in user mode (with the MPU restricting user
- mode accesses). Access to the kernel from the user blob is only
- via system calls (SVCalls).
- - Extensive changes were made to the syscall, SVCall, and trapping
- logic. Many internal interfaces were renamed.
- - The memory manager was extended to support both kernel- and user-
- mode allocations. Logic within the kernel needs to use the
- correct kernel- or user-space allocator, depending upon the user
- of the allocated memory.
- - The user-space blob now contains a header built in at the beginning
- of the block that provides the same information that was previously
- provided by a kludgy, auto-generated header file (user_map.h).
- - Basic support implemented for the ARMv7-M family with fragments
- also implemetned for the ARMv6-M and MIPS32 families.
- - Kernel build supported added for the LPC17xx Open1788 and for
- the Atmel SAM3U-EK board. All testing is being performed on the
- Open1788 board.
- * Signals:
- - Delivery of signals to threads within a task group is now compatible
- with the way that signals are delivered to threads within a process.
- * Drivers:
- - Add a driver for the SST29VF NOR FLASH parts.
- - USB device trace/debug feature extended to decode device-specific
- trace events to make the trace output more readable (from Petteri
- Aimonen).
- - USB MSC device driver can not support names of differing sizes
- in the USB descriptor and the SCSI fields (from Petteri Aimonen).
- - Locking added to MMC/SD SPI drivers so that MMC/SD can co-exist on
- the same bus as other SPI devices. Frequency is reset each time
- that the MMC/SD SPI has the bus locked. (from Petteri Aimonen).
- * ARMv6-M (Cortex-M0):
- - Added support for the ARM Cortex-M0 family.
- * nuvoTon NUC120:
- - Added support for the nuvoTon NUC120 MCU (Cortex-M0).
- * nuvoTon NUC120 Boards:
- - Added basic support for the nuvoTon NuTiny-SDK-NUC120 board (Cortex-M0).
- * LPC17xx:
- - Added support for the LPC177x and LPC178x families. Most of this is
- the work of Rommel Marcelo.
- * LPC17xx Boards:
- - Added support for Zilogic System's ARM development Kit, ZKIT-ARM-1769.
- From Rashid.
- - The port for the WaveShare Open1788 board is now functional. Basic
- OS test and NuttShell (NSH) configurations are functional. More
- driver development and testing is needed (from Rommel Marcelo).
- * LPC17xx Drivers:
- - Added an SD card MSI driver for the LPC178x. The driver is marginally
- functional but requires DMA capability to be reliable.
- * STM32
- - Support extended to handle the STM32 F3 family (Cortex-M4 with F1-like
- peripherals).
- * STM32 Boards
- - Added support the STMicro STM32F3Discovery board (STM32 F3).
- * Stellaris LM3S/LM4F
- - Basic support for the LM4F120 family is in place, but untested (mostly
- from Jose Pablo Carballo).
- * Stellaris LM4F Boards
- - Add support for the LM4F120 LaunchPad (untested).
- * Networking:
- - select() should now allocate a little less memory.
- * Memory Management:
- - Extended to support multiple heaps. This is used as part of
- the kernel build in order to support separater user- and
- kernel-mode heaps.
- - The stand-alone memory manger test had to be removed. It
- was too entangled and made extension of the memory manager
- nearly impossible. This is a loss.
- * Build System:
- - Several configurations converted to use the kconfig-frontends
- configuration tool. There are still many more that need to
- be converted.
- * C Library:
- - Move the workqueue logic into the C library. There is now a
- special user-space version of the work queue (which will only
- be used with a NuttX kernel build).
- - Implementation of itoa() contributed by Ryan Sundberg.
- * Applications:
- - The NSH builtin task logic now uses task_spawn() to start builtin
- applications.
- - The OS test now includes a test cased to verify task_restart().
- Efforts In Progress. The following are features that are partially
- implemented but present in this release. Most are expected to be fully
- available in NuttX 6.27.
- * LM4F120 LaunchPad port. Code is in place, but nothing has been tested.
- * WaveShare Open1788 port. This port as actually complete and
- functional. However, there is still ongoing development and
- testing of drivers.
- * Kernel Build. Much progress has been made, but there kernel build is
- not yet fully functional due to several user resources that are not yet
- properly disentangled from the kernel blob.
- * Conversion of old configurations to use the kconfig-frontends
- tool is an ongoing effort that will continue for some time.
- Bugfixes (see the ChangeLog for details). Some of these are very important:
- * Tasking:
- - The wrong PID was being signalled with SIGCHILD. It should be
- the PID of the task that create the task group, not the ID of
- the last thread to leave the task group.
- - Added logic so that some internal resources and states are recovered
- when tasks are deleted or restarted. Handle cases where there are
- outstanding timed events pending when tasks are deleted or restarted.
- * ARMv7-M:
- - Several fixes to the MPU control logic.
- * Drivers:
- - Removable serial drivers race conditions fixed.
- - MAX11802 timing bug (from Petteri Aimonen).
- * STM32 Drivers:
- - Handle cases were SPI DMA logic fails if sem_wait is awakened
- by a signal. Need to clear error flags to prevent corruption of
- subsequent transfers. Also, bit count should not be changed while
- the SPI peripheral is enabled (from Petteri Aimonen).
- - Fixes to the OTG FS device driver from Petteri Aimonen.
- - Fix typos in DMA register header file (from Yan T.)
- * Graphics:
- - Correction to the hyphen in the SANS 17x22 font (from Petteri
- Aimonen).
- * Networking:
- - Corrected errors in the socket poll/select logic. Additional
- state logic was needed to detect if the socket is still connected
- before starting the poll wait. (bug reported by Qiang Yu).
- * Memory Management:
- - mallinfo() should hold the memory manager semaphore (from Petteri
- Aimonen.
- * Build System:
- - Resolved several build errors reported by Mike Smith.
- * Applications:
- - Fixed an NSH memory leak: Needed to detach after creating each
- pthread.
- - readline() now returns EOF on any failure (instead of a negated
- errno value). This is because the underlying read is based on
- logic similar to getc. The value zero (meaning end-of-file)
- was being confused with a NUL. So if a NUL was received, the
- NSH session would terminate because it thought it was the end of
- file.
- NuttX-6.27
- ----------
- The 94th release of NuttX, Version 6.27, was made on April 28, 2013,
- and is available for download from the SourceForge website. Note
- that release consists of two tarballs: nuttx-6.27.tar.gz and
- apps-6.27.tar.gz. Both may be needed (see the top-level nuttx/README.txt
- file for build information).
- Additional new features and extended functionality:
- * OS Initialization:
- - Add missing registration of /dev/zero. Registration of /dev/null
- should depend upon conditional compilation. From Ken Pettit.
- * Tasking:
- - Added a new interface to set aside memory on the task's stack. This
- is used (at least in the kernel build) to hold task arguments.
- - Remove up_assert_code(). One assertion routine is enough.
- * Kernel Build:
- - Extensive changes were made to support the kernel build mode. In
- this mode, NuttX is built as a monolithic kernel. NuttX is built
- as a separate kernel mode "blob" and the applications are built
- as a separate user mode "blob". The kernel runs in kernel mode and
- the applications run in user mode (with the MPU restricting user
- mode accesses). Access to the kernel from the user blob is only
- via system calls (SVCalls).
- - Kernel build configurations for the Open1788 board and for the
- STM32F4Discovery now execute correctly.
- - Changes were made to task and thread start-up routines, signal
- handling, data structures, ARMv7-M SVCalls, stack management
- interfaces,
- * Drivers:
- - Driver for the ST7567 LCD Display Module from Univision Technology
- Inc. Contributed by Manikandan.S
- - SPI initialize functions renamed so that multiple SPI blocks can
- be initialized.
- - Extended to support the RAMTRON FM25V01 device. Contributed by
- Lorenz Meier
- - Serial drivers: TIOCSERGSTRUCT ioctls now conditioned on
- CONFIG_SERIAL_TIOCSERGSTRUCT
- * ARMv7-M (Cortex-M3/4):
- - Added support for modifiable interrupt vectors in RAM
- * nuvoTon NUC1xx:
- - Added kernel build support
- * Freescale Kinetis:
- - Add kernel build support
- - Add support for the Kinetis L family of Cortex-M0+ MCUs. Contributed
- by Alan Carvalho de Assis.
- * LPC17xx:
- - Now holds off sleep mode in the IDLE loop is DMA is in progress
- (because sleep mode will disable CPU SRAM).
- * LPC17xx Boards:
- - ZKIT-ARM-1769: Now supports the ST7567 LCD display module. Added
- an nxhello configuration for testing (Manikandan.S).
- - ZKIT-ARM-1769: Add support for both CAN1 and CAN2. Contributed by
- M.Kannan
- - Open1788: Basic support for the WaveShare Open1788 board is complete
- with working OS test, NSH, and graphics configurations.
- - Open1788: Integrated the LPC178x LCD driver with the WaveShare display.
- Touchscreen support is included, howerver, there appears to be an
- issue with the Open1788 touchscreen interrupt signal.
- - Open1788: Now supports SDRAM (used to provide the LCD framebuffer).
- - Open 1788: Reversed sense of the IDLE LCD. It is now off when the
- LPC17 is sleeping and on when awake. That is much a better visual
- indication of the dynamic CPU load
- * LPC17xx Drivers:
- - Added an LCD framebuffer driver for the LPC177x/8x family.
- - Implemented LPC17xx GPDMA support.
- - Integrated the LPC17xx GPDMA support into the SD card driver.
- - SSP driver adapted to work with the LPC178x family.
- - Separate LPC176x and LPC178x GPIO logic; this logic is too different
- to maintain in one file with conditional compilation.
- - Re-design of the GPIO logic for the LPC178x family by Rommel Marcelo.
- * LPC43xx:
- - Added kernel build support
- * STM32:
- - Added support for kernel mode build.
- - Added architecure support for the STM32 F427/F437 chips. Contributed
- by Mike Smith
- * STM32 Boards:
- - Added a configuration to support a kernel mode build of the OS test
- on the STM32F4Discovery
- * Stellaris LM3S/LM4F:
- - Added kernel build support
- - Added support for the 7 UARTs on the LM4F120
- * Stellaris LM4F Boards:
- - Added scripts and instructions to simplify use of OpenOCD with ICDI
- (JP Carballo)
- - The basic for the Stellaris LM4F120 Launchpad is complete. This
- includes support for OS test and NSH configurations. Additional
- driver development is needed.
- * Build System:
- - Directories where the same sources files are used to build different
- objects in the first and second pass kernel builds need to keep those
- objects in separate directories so that they are not constantly
- rebuilt.
- * Applications:
- - apps/system/ramtest: Add a simple memory test that can be built
- as an NSH command.
- * Tools:
- - kconfig2html is a new tool which will replace the hand-generated
- documentation of the NuttX configruation variables with auto-
- generated documentation.
- Efforts In Progress. The following are features that are partially
- implemented but present in this release. Most are expected to be fully
- available in NuttX 6.28.
- * A port to the Freescale Freedom KL25Z is complete but not yet stable
- enough. The KL25Z is a low-cost Cortex-M0+ part with 128KB of FLASH
- and 16KB of SRAM. This is is the effort of Alan Carvalho de Assis.
- * Conversion of old configurations to use the kconfig-frontends
- tool is an ongoing effort that will continue for some time.
- At this time, only 32% of the configurations have been converted
- to use the kconfig-frontends tools.
- Bugfixes (see the ChangeLog for details). Some of these are very important:
- * Tasking:
- - Fixed a critical bug: When there is pending C buffered output
- and the system is very busy, the a pthread may be blocked at
- a critical point when trying to exit. Blocking at this critical
- point would cause crashes. All entire task/thread exit logic
- paths were reviewed and failsafe mechanisms were put in place
- to assure that exitting tasks never block after task teardown
- has been started.
- * ARMv6-M:
- - Fixed parameter passing for all system call inline functions with > 3
- parameters
- - Fixed a major problem: The Cortex-M0 has no BASEPRI register but the
- logic of NuttX-6.26 was using it to manage interrupts. Switch to
- using the PRIMASK instead. This means that hardfaults will (again)
- occur when SVC instructions are executed
- * ARMv7-M:
- - Corrected Correct MPU sub-region settings for unaligned regions.
- - In exception handling with CONFIG_NUTTX_KERNEL, need to explicitly
- set and clear the privilege bit in the CONTROL
- - Fixed parameter passing for all system call inline functions with > 3
- parameters
- * Drivers:
- - Support for O_NONBLOCK was not supported in the "upper half"
- serial driver.
- - PL2303 compilation errors
- * Stellaris LM3S/4F:
- - Corrected typos in alternate function definitions.
- * LPC17xx Drivers:
- - Added a work-around for an ADC errata. From Chris Taglia
- - Only one ADC pin was configured. Need to configure all that
- are in the ADC0 set. From MKannan
- * File Systems:
- - The FAT logic was not making a distinction between directory
- non-existence and file non-existence so when it you try to
- create a file in a non-existent directory, it would create a
- file with the name of the missing directory. Reported by Andrew
- Tridgell
- - Several fixes to the FAT file system from Ronen Vainish. These
- fixes mostly involve the logic to extend directory clusters for
- the case of long file names but also include a few important
- general fixes (such as for storing 32 bit FAT values)
- - mkfatfs was writing the boot code to the wrong location. From
- Petteri Aimonen
- * Networking:
- - Fixed a compilation error when socket options are are disabled.
- Reported by Daniel O'Connor
- * C Library:
- - Corrected an error in sscanf. If %n occurs in the format statement
- after the input data stream has been fully parsed, the %n format
- specifier will not be handled. Reported by Lorenz Meier
- - strchr(str, '\0') should return a pointer to the end of the string,
- not NULL. From Petteri Aimonen
- * Build System:
- - Fix naming of NuttX target if EXEEXT is defined.
- * Applications:
- - OS test: Fix timing error in non-cancelable thread test.
- - NSH: Correct the test of the skip input parameter. Was limiting the
- range to <= count. From Ken Petit.
|