12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612 |
- 0.1.0 2007-03-09 Gregory Nutt <gnutt@nuttx.org>
- * Initial Release
- * Support for Linux user mode simulation and TI
- TMS320C5471 (Arm7) provided
- 0.1.1 2007-03-14 Gregory Nutt <gnutt@nuttx.org>
- * Corrected an error in interrupt level context switching
- for C5471
- * Added fgets() and gets() logic; verified c5471 console read.
- * Corrected error in reading from the C5471 serial port:
- Improper use of semaphore can cause deadlock.
- * Fixed an error in the memory cleanup: The idle task
- cannot take semaphores (because it must always be ready
- to run).
- * Tasks can now accept a configurable maximum number of
- input parameters (argc)
- * _task_init() was divided into separate functions that
- require fewer parameters. This was necessary to keep
- the stack usage down for the 8051/2 (which has only
- 256 bytes of stack).
- * Attempts to use C5471 console from interrupt handlers
- can cause errors. Added a special path for this case.
- * Refuse calls to sem_wait and sem_trywait from interrupt
- handlers. This was happening because interrupt handlers
- were calling printf-like functions.
- * Added strtok() and strtok_r()
- * Added a simple shell called nsh (see examples/nsh).
- * Platform support for 8052 is complete but not stable
- when the timer interrupt is enabled. Seems to be an
- issue when SP enters indirect address space.
- * Documentation updates
- 0.1.2 2007-03-19 Gregory Nutt <gnutt@nuttx.org>
- * Add dirent.h, opendir(), readdir(), closedir(), etc.
- * Add strerror()
- * Added 'ls' command to nsh
- * Added C5471 watchdog driver
- * Fixed another bug where free() is called from IDLE task.
- Can't do this; the caller must be able to wait for access
- to memory.
- * Fixed bugs associated with debug output:
- Cannot do dbg() in middle of context switch logic.
- because it may require use of semaphores and cause
- additional context switches. lldbg() is safe.
- * Interrupt must be disabled throughout all context switches.
- * Separated C5471 serial driver; a shareable part is
- in drivers/. ; the C5471 specific part is in arch/C5471.
- serial.h defines the interface.
- * Fixed mq_receive() and mq_send(): bad memcpy()
- * Fixed C5471 signal deliver logic: use of dbg() and
- other actions by use signal handler can alter errno.
- need to protect errno during signal handling.
- * Fixed uninitialized variable in filesystem that could
- cause various problems
- * Added a test for roundrobin scheduler.
- 0.2.1 2007-03-22 Gregory Nutt <gnutt@nuttx.org>
- * Fix error in handing signed decimal in vsprintf().
- * Major restructuring of header files to get closer to
- POSIX compliance.
- * Eliminate compilation warnings that crept into recent check-ins
- * Add kill()
- * Added support for POSIX timers
- * Some Documentation updates
- * Added support for the Neuros OSD / DM320
- 0.2.2 2007-03-26 Gregory Nutt <gnutt@nuttx.org>
- * Created the configs/ directory; separated board configuration
- from processor architecture logic
- * Add memory leak detection test to examples/ostest
- * Corrected memory leak in OS pthread join logic
- * Corrected memory leaks in examples/ostest due to failures
- to join or detach from pthreads.
- * Added pthread_once(), pthread_kill(), pthread_sigmask()
- * Added pthread_barrierattr_*() APIs
- * Added pthread_barrier_init(), pthread_barrier_destroy(), and
- pthread_barrier_wait();
- * Added pthread barrier test
- * Added protection so that errno cannot be modified from
- interrupt handling.
- * sched_setparam(), sched_setscheduler() now correctly set
- errno; pthread_setscheduler() now returns the correct errno.
- * Added pthread_setschedprio().
- * Added directories to hold board-specific header files
- * Added directories to hold board-specific drivers
- 0.2.3 2007-03-29 Gregory Nutt <gnutt@nuttx.org>
- * mq_receive and mq_send now return errno's appropriately
- * mq_receive and mq_send are now correctly awakened by signals.
- * Fixed an unmatched sched_lock/unlock pair in task_delete().
- * sched_lock must be called in _exit() because operation of
- task_delete() can cause pending tasks to be merged and a
- context switch to occur.
- * Added mq_timedreceive() and mq_timedsend()
- * signal mask is now inherited by both child tasks and threads.
- * Improved sharebility of stdout among pthreads (only). Nothing
- was broken, but by moving the mutual exclusion logic to a
- higher level, the printf output is more readable.
- * Fixed a bug in file system cleanup: A list was being deleted
- before the buffers contained in the list.
- * Fixed a bug in the wait-for-message-queue-not-empty logic.
- * Added a test of timed mqueue operations; detected and corrected
- some mqueue errors.
- * Identified and corrected a race condition associated with
- pthread_join. In the failure condition, memory was being
- deallocated while still in use.
- 0.2.4 2007-04-28 Gregory Nutt <gnutt@nuttx.org>
- * Verified c5471 build under Cygwin on WinXP
- * Makesystem changes to better support different SoCs.
- * Made arch/c5471/include and arch/dm320/include identical in
- preparation for merging into arch/arm
- * Logic from arch/c5471 and arch/dm320 combined into arch/arm.
- arch/c5471 and arch/dm320 are deprecated and will be removed
- when the new c5471 and dm320 logic is verified.
- 0.2.5 2007-05-19 Gregory Nutt <gnutt@nuttx.org>
- * Corrected some build/configuration issues introduced with the
- last release.
- * Added support for the NXP 214x processor on the mcu123.com lpc214x
- development board (untested)
- * Added support for block devices.
- * Simulated target now exports a VFAT filesystem
- * Begin support for VFAT filesystem (missing functionality)
- * Added mount() and umount()
- * Fix bug in memcmp return value
- * Fix errors in timeslice calculation (several places)
- * Added missing irqrestore() in timer_deleteall().
- * close() was not closing the underlying device.
- * Added fsync()
- * Added strspn() and strcspn()
- 0.2.6 2007-05-26 Gregory Nutt <gnutt@nuttx.org>
- * Added unlink(), mkdir(), rmdir(), and rename()
- * Fixed several serious FAT errors with oflags handling (&& instead of &)
- * Added FAT support for unlink(), mkdir(), rmdir(), and rename
- * Added FAT support for opendir(), closedir(), readdir(), seekdir(),
- telldir(), rewindir().
- * Fixed ARM compilation errors introduced in 0.2.5 (that is what I get
- for only testing on the simulation).
- 0.2.7 2007-06-09 Gregory Nutt <gnutt@nuttx.org>
- * Added stat() to fs layer and to FAT
- * Fixed reference counting errors associated with mounted filesystems
- * Added fat_getattrib() and fat_setattrib()
- * Added statfs() to fs layer and to FAT
- * Correct file name extension in tools/zipme.sh
- * Fix error in dependencies in 8051/2 Makefile
- * sched/Makefile: Don't build sleep() or usleep() if signals are disabled
- * sched/sched_setparam.c: Remove redundant disabling of interrupts
- * sched/usleep.c: Fixed nsec calculation
- * lib/lib_strcspn.c: Function incorrectly named strspn().
- * examples/ostest/main.c: Errors in SDCC version of a memcpy() call
- * examples/ostest/sighand.c: Don't call fflush() if streams are disabled
- * include/limits.h, include/time.h, sched/clock_internal.h: A support for
- using selectable system timer frequency.
- * Fixed error in mountpoint related conditional compilation introduced
- in 0.2.5
- * Restructured some Makefiles to better handle enabling and disabling
- NuttX features without having so much conditional compilation in the
- source files.
- * tools/mkconfig.c: No longer depends on asprintf() and _GNU_SOURCE and
- so should now build in non-GNU, non-GLIBC environments.
- * include/nuttx/compiler.h: Fix for using SDCC with the Z80.
- * include/assert.h & arch/pjrc-8051/src/up_assert.c: SDCC does support
- __FILE__and __LINE__ (not tested)
- * examples/ostest/barrier.c: Don't call usleep() when signals are
- disabled.
- 0.2.8 2007-07-02 Gregory Nutt <gnutt@nuttx.org>
- * tools/Makefile.mkconfig: Under Cygwin, executable has a different name
- * tools/mkdeps.sh & arch/arm/src/Makefile: Corrected a problem makeing dependencies
- * tools/zipme.sh: Force directory name to be nuttx-xx.yy.zz
- * fs/fs_opendir.c: Correct errors in semaphore usage that can cause deadlock.
- * lib/lib_getopt.c: Added getopt() support
- * examples/nsh/: NSH now supports cat, mount, umount, and mkdir. ls supports
- -l -s, and -R
- * Added basic OS support to manage environment variables: environment
- storage, cloning on task creation, sharing on pthread creation, destruction
- on thread/task exit.
- * Add environment variables APIs: environ, getenv, putenv, clearenv, setenv,
- unsetenv
- * Correct an error in realloc() when the block is extended "down" in memory.
- In this case, the old memory contents need to be copied to the new location
- and an allocated bit was not being set.
- * examples/ostest/: Added an environment variable test.
- * examples/nsh/: Break into several files.
- * lib/: Added strrchr, basename, dirname
- * examples/nsh/: Add cp, rm, rmdir, set, unset commands. echo will now print
- environment variables.
- 0.3.0 2007-11-06 Gregory Nutt <gnutt@nuttx.org>
- * Imported uIP into the tree (see
- http://www.sics.se/~adam/uip/index.php/Main_Page)
- * Adding socket(), bind(), connect()
- * Added snprintf()
- * Added send() and sendto(); integrate write() and close() with socket descriptors.
- * Added recv() and recvfrom().
- * Added getsockopt() and setsockopt()
- * Documentation updated to address socket interfaces.
- * Implemented receive timeouts via setsockopt(SO_RCVTIMEO).
- * Provide support for multiple network devices
- * Implement socket ioctl() calls to set addresses
- * Added listen() and accept()
- * Added DM90x0 Ethernet driver
- * ARP timer is now built into the network layer
- * Basic client functionality verified: TCP socket(), bind(), connect(), recv(), send().
- 0.3.1 2007-11-19 Gregory Nutt <gnutt@nuttx.org>
- * Separated net/uip/uip.c into several functions in several files.
- * Corrected a TCP problem where packets were dropped because there was no
- recv() in place but the packet was being ACKed. There are still TCP
- recv buffering issues, but this is part of a larger buffering issue.
- * Basic server functionality verified: TCP listen(), accept()
- * Fix DM90x0 driver problem that caused TX overruns
- * Add strncmp()
- * Added TCP/IP read-ahead buffer to minimize failed ACKs and packet loss.
- 0.3.2 2007-11-23 Gregory Nutt <gnutt@nuttx.org>
- * Add strcat() and strncat()
- * Integrated uIP micro webserver
- * Corrected a serious bug in TCP queue management
- * Fix leak in socket close logic
- * Add TX notification to driver so that it can respond faster to
- the availability of TX data.
- * Moved urgent data info into device structure.
- * TCP and ICMP protocols can now be disabled.
- * Added UDP test in examples/udp
- * Verified/debugged UDP socket(), bind(), sendto() and recvfrom() logic
- using examples/udp
- * recvfrom() and accept() now correctly return the remote address.
- * Fixed computation error in ntohl().
- 0.3.3 2007-11-28 Gregory Nutt <gnutt@nuttx.org>
- * Removed unused uIP files
- * sched/, mm/, and net/ subsystem debug can not be selectively enabled/disabled
- * Correct socket close logic: needs to disconnect TCP socket on close
- * uIP webserver now seems to be fully functional
- * fs/ and lib/ subystem debug can not be selectively enabled/disabled
- * Added vsnprintf
- * Integrated uIP telnetd
- * Add missing logic to read-ahead buffer logic
- * examples/nettest uses larger buffers
- * Improved ACK handling in send() to better handler deferred acknowledgements
- and polling intervals. Greatly improves send performance.
- 0.3.4 2007-12-10 Gregory Nutt <gnutt@nuttx.org>
- * Added and partially verified DHCP server logic (netutils/dhcpd)
- * Fix BROADCAST=y compilation problems
- * Fix UDP recvfrom timeout bug
- * Correct processing of input UDP broadcast packets.
- * Verfied basic DHCP client functionality (netutils/dhcpc)
- * Implemented send() timeout logic
- * Added and verified a TELNETD front end to NSH (examples/nsh)
- * Add a skeleton Ethernet device driver (drivers/net/skeleton.c)
- * Added C5471 Ethernet device driver (arch/arm/src/c5471/c5471_ethernet.c)
- * Found and fixed several problems in uIP when compiled for ARM with optimization.
- 0.3.5 2007-12-18 Gregory Nutt <gnutt@nuttx.org>
- * Added inet_ntoa() and ether_ntoa()
- * Added netdev_foreach() to support traversal of registered network devices
- * Added support for 'ifconfig' command to NSH (examples/nsh)
- * Moved MAC and Ethernet definitions to net/ethernet.h
- * Fix sim and DM90x0 compilation errors introduced in 0.3.4
- * Fixed errors in C5471 configuration files for examples/uip
- * Modified DHCPC (netutils/dhcpc) so that it should work in environments where
- there are more than one DHCPD server.
- * NSH ifconfig command now shows uIP status as well (examples/nsh)
- 0.3.6 2008-01-06 Gregory Nutt <gnutt@nuttx.org>
- * Changes for use with SDCC compiler
- * Added a simulated z80 target
- * Fix deadlock errors when using stdio but with no buffering
- * Add support for Pascal P-Code interpreter
- 0.3.6.1 2008-01-07 Gregory Nutt <gnutt@nuttx.org>
- * The initial 0.3.6 release including an error that prevented
- building successfully if the Pascal add-on was
- was not present.
- 0.3.7 2008-01-31 Gregory Nutt <gnutt@nuttx.org>
- * Added support for the Zilog Z16F using the Zilog Z16F2800100ZCOG
- Development Kit.
- * Add support toolchains that do not support making of dependencies
- * Fix Cygwin build with spaces in directory names
- * Name make system changes to deal with non-GNU toolchains (i.e., Zilog)
- * Add support for Windows native toolchains that cannot follow Cygwin soft links
- * Modified serial driver interface to handle hardware with non-16550A-like
- interrupt architecture (like the Z16F)
- * Added a "dumb" serial console driver to simplify OS bringup
- * Corrected a bug that caused the errno value of one task to be clobbered
- when a different task exits. Affects all architectures.
- 0.3.8 2008-02-10 Gregory Nutt <gnutt@nuttx.org>
- * Added a test case to verify the Pascal P-Code interpreter
- * Added /dev/zero
- * 'errno' is now defined to be *get_errno_ptr() with no name conflicts
- * Added lseek() and fseek()
- * Integrated Pascal interpreter test case on the simulation platform. Needs
- pascal-0.1.1.
- * Add Pascal test case on the z16f platform. Needs pascal-0.1.2 (does not
- yet work due to some tool issues).
- * C buffered I/O fixes:
- - Fix fflush() return value,
- - Add correct fflush behavior when the FILE argument is null.
- - Add logic to a correctly handle read/write access on the same FILE
- - fseek() flushes read/write data when before moving the file pointer
- - When read data is flushed, reposition the file pointer to account for
- buffered, but unread data
- * Pascal P-Code files are now standardized to big-endian for portability
- * Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed)
- (see bug 1887170)
- * Pascal P-Code runtime now compiles with the SDCC toolchain.
- * Added a generic CAN driver. This driver is untested as of this writing.
- * Corrected DM320 UART configuration problem
- 0.3.9 2008-03-09 Gregory Nutt <gnutt@nuttx.org>
- * Began adding support for the ZiLOG Z8Encore! microcontroller for the Z8Encore000ZCO
- development board and the Z8F6403 part.
- * Fix broken 'clean' target on z80sim configurations
- * Re-structure arch/z80 to provide support for all ZiLOG 8-bit microcontrollers (ez8
- in particular for now).
- * Add support for TRS80-Model 3 based on the xtrs emulation (http://www.tim-mann.org/xtrs.html)
- Per patch from Jacques Pelletier.
- * In all shell scripts, change #!/bin/sh to #!/bin/bash to resolve problems in
- Ubuntu where /bin/sh is a link to dash.
- * Z8Encore! port verified on ZDS-II instruction set/chip simulator.
- 0.3.10 2008-05-15 Gregory Nutt <gnutt@nuttx.org>
- * Add support for the ZiLOG EZ80Acclaim microcontrooler (EZ80F91 chip).
- * Add configuration for the ZiLOG z8f64200100kit development kit, Z8F6423 part.
- * Add configuration for the ZiLOG ez80f0910200kitg development kit, EZ80F091 part.
- * 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) reported
- by kwonsk.
- 0.3.11 2008-06-01 Gregory Nutt <gnutt@nuttx.org>
- * Add support for recursive mutexes.
- * Eliminate a memory leak: contained watchdog instance was not being
- deleted with a POSIX timer was deleted reported by kwonsk.
- * Eliminate a deadlock condition in opendir() reported by kwonsk.
- * Fix several FAT filesystem problems reported by kwonsk (Changes not yet
- verified).
- * Host simulator no longer uses Linux system calls directly; Now works with Cygwin.
- * Fix an error that occurs when a POSIX timer is deleted by the timer signal handler.
- * Add logic to allow the examples/ostest to be run repetitively as an endurance test.
- * Add a ramdisk block driver
- 0.3.12 2008-08-10 Gregory Nutt <gnutt@nuttx.org>
- * Improved solution to POSIX timer lifetime controls bug fixed in 0.3.11.
- * Add test for recursive mutexes
- * Correct bug in recursive mutex logic
- * Add mkfifo()
- * Add pipe() and test for both pipes and fifos
- * Attempts to open a FIFO will now block until there is at least one writer
- * Add test/Fixed errors in FIFO reader/writer interlocks
- * Removed limitation: task_create() was only dup'ing 3 file descriptors (now
- dups all open file descriptors).
- * Added a test for redirection of stdio through pipes
- * Fixed error in dup and dup2: Must call open/close methods in fs/driver so that
- driver can correctly maintain open reference counts.
- * Same issue on closing file descriptors in exit()
- * Fixed in error in stdio flush logic. Needed ssize_t vs size_t for error
- check.
- * Moved all FAT related files from fs to fs/fat
- * Implemented mkfatfs(), a non-standard API to create a FAT filesystem on a
- block device (not yet tested).
- * Added a test for mkfatfs() on a RAM disk in examples/mount and verified
- basic mkfatfs functionality for FAT12.
- 0.3.13 2008-09-01 Gregory Nutt <gnutt@nuttx.org>
- * NSH: Added mkfatfs, mkfifo, sleep, usleep and nice commands
- * Fixed problem with console input in Cygwin-based simulator; NSH now works
- with simulator.
- * NSH will now execute commands in background
- * sched_get_priority_max/min returned error on SCHED_RR
- * Removed duplicate getenv() implementation in /lib
- * Correct detection of End-of-File in fgets
- * NSH: Implemented sh and crude script handler
- * Fix prototype of read() and write(). Need to use ssize_t and size_t, not
- int and unsigned int.
- * NSH now supports redirection of command output
- * NSH can now use both telnet and serial front ends together
- * NSH: $variable can be used for any command value
- * Fixed an error in opendir() that could cause an assertion to fail
- inappropriately.
- * Correct an error in the FAT that caused files opened for writing with
- O_APPEND to fail. The file was not being properly positioned to the
- end of the file in that case.
- * NSH now supports last exit status $?
- * NSH now supports if-then[-else]-fi construct
- * NSH now supports comments beginning with '#'
- * NSH now supports commands to inspect and modify memory
- * NSH cat command now supports multiple files on command line
- * Add chdir() and getcwd()
- * Fix error in getopt() when called with argc==1
- * Fix error in stat() when used on the root directory
- * NSH: Add cd and pwd commands and current working directory to all NSH
- commands that refer to paths.
- * Fix errors and warnings introduced into Linux sim build because of recent
- Cygwin-based sim changes
- * NSH: Add mem command to display heap usage
- * Added telnet NSH configuration for Neuros OSD.
- * Basic integration of concurrent telnet/serial NSH functional on Neuros
- OSD.
- * Fixed a critical bug that affects the way that environment variables are
- shared amongst pthreads.
- * uIP port enhance to support multi-threaded, concurrent socket access. So,
- for example, one thread can be reading from a socket while another is
- writing to the socket.
- 0.3.14 2008-09-08 Gregory Nutt <gnutt@nuttx.org>
- * FAT FS now uses position variable in struct file. This simplifies operations
- like ftell().
- * fseek() needs to discard bytes buffered by ungetc().
- * Corrected ftell() return value.
- * Added fsetpos() and fgetpos().
- * NSH: Now supports 'test' and '[' commands
- * Correct error in send() timeout logic.
- * Correct error in multi-threaded socket handling in send() and sendto().
- Outgoing data could overwrite incoming data.
- * Add support to uIP for application access to ICMP protocol stacks; Add
- ping request logic.
- * NSH: Add ping command
- * Correct IP checksum calculation in ICMP and UDP message send logic.
- * NSH: Created an HTML document and a more detailed README file describing NSH.
- * Added basic TFTP client logic (netutils/tftpc).
- * NSH: Add get and put commands to support TFTP get and put operations.
- * NSH: Added a mkrd command that will create a RAMDISK that can be formatted
- and mounted.
- * Corrected a critical bug that prevent recvfrom from receiving packets from
- any remote UDP port.
- * NSH: Add hexadecimal dump command (xd)
- * 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 needed!!
- * Fixed another FAT bug in implementation of FAT lseek; this prohibit correct
- random access to large files.
- 0.3.15 2008-09-20 Gregory Nutt <gnutt@nuttx.org>
- * Added support for ROMFS filesystem.
- * Added a simple test the ROMFS filesystem (examples/romfs)
- * NSH: Use ROMFS to provide an option for a start-up script at /etc/init.d/rcS
- * Add definition of BIOC_XIPBASE ioctl and implement in RAM disk block driver.
- This is a low level requirement for eXecute In Place (XIP) support.
- * Add a FIOC_MMAP to perform memory mapping of a file and implemented the
- ioctl command in the ROMFS filesystem. This is a requirement for eXecute
- In Place (XIP) support.
- * Add mmap() API with restricted capability (only for XIP support)
- * Extend ROMFS test at /examples/romfs to verify mmap() and XIP support.
- * Add support for Intel Hex format output using objcopy
- * Completed the basic port of the NXP LPC2148 on the mcu123.com board.
- The basic port includes successful booting, timer interrupts, serial console,
- succesfully passing the examples/ostest, and a NuttShell (NSH) configuration.
- * ARM architectures now support drivers/lowconsole.c
- 0.3.16 2008-10-10 Gregory Nutt <gnutt@nuttx.org>
- * Added header files defining a common USB device controller architecture
- * Added USB device side driver for the LPC214x
- * Correct the frequency of system timer interrupts in the NXP LPC214x port
- (off by 20x in nuttx-0.3.15)
- * 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).
- * Added USB serial class device side driver (emulates Prolific PL2303
- serial-to-USB adaptor)
- * Add LPC214x USB serial configuration; Add examples/usbserial test
- * Added USB device side driver for the DM320 (untested at initial release)
- * Fixed an error in a previous (post 0.3.15) check-in that broke the LPC214x
- system timer.
- * 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.
- 0.3.17 2008-10-28 Gregory Nutt <gnutt@nuttx.org>
- * Incorporate patch "[2164503] nuttx-0.3.16 does not build for ARM with USB disabled"
- * Reduced the amount of memory reserved for USB serial control requests. It
- was unnecessarily large.
- * Added LPC214x SPI1 driver to interface with MMC on mcu123.com board.
- * Added a simple SPI-based MMC/SD block driver
- * NSH: Add LPC214x-specific support to NSH; NSH now mounts any SD cards in the slot.
- * FAT: Fix access to unaligned 32-bit values in partion table (start sector & size)
- * Fixed a problem with a un-initialized variable in the USB serial driver.
- * Added USB storage NXP LPC214x configuration
- * Added a test for USB storage under examples/usbstorage
- * Fixed a bug in the LPC214x USB driver: It was not properly clearing a HALTed
- endpoints (other than EP) on receipt of CLEAR FEATURES request.
- * Added USB storage class device side driver (BBB)
- * Fixed a bug in the LPC214x USB driver: It was not properly handling request buffers
- larger then the endpoint's max packet (DM320 driver also fixed, untested)
- * Added logic to the USB device interface: A bit is needed to force the driver to
- to terminate an IN transfer with a short packet (zero-length if necessary).
- * Fix an error in the NXP LPC214x USB device driver that was causing corruption of
- the request queue (M320 driver also fixed, untested)
- * Correct another error in the NXP LPC214x USB device driver that caused read failures
- when the request buffer size was larger than maxpacket.
- * Numerous corrections/extensions to the USB tracing logic included in 0.3.16 (but
- not integrated until 0.3.17)
- * Fixed another bug in the NXP LPC214x USB device driver: After a stalled endpoint
- is resumed (view CLEAR FEATURE), we must restart the IN (outgoing) queue.
- 0.3.18 2008-11-16 Gregory Nutt <gnutt@nuttx.org>
- * Added port for the STMicro STR71x processor and configuration for the Olimex STR-P711
- board (STR71x testing is stalled because I have been unable to get OpenOCD to
- communicate with my JTAG wiggler on Linux).
- * Fix race condition workaround delay in LPC214X SPI logic. This was also the cause of the
- very bad MMC/SD performance.
- * Began port of the Hitachi SH-1 using the SH-1/US7032EVB1 board
- * Re-built all configurations that use SDCC and Zilog toolchains to make sure they still
- build (they didn't, but they do now).
- * Fixed several erroneous "list empty" checks in the CAN driver.
- * Hitachi SH-1 passes (reduced) examples/ostest; the examples/nsh test still fails.
- There are remaining instabilities that make the port un-usable. The nature of these is
- not understood; the behavior is that certain SH-1 instructions stop working as advertised.
- This could be a silicon problem, some pipeline issue that is not handled properly by the
- gcc 3.4.5 toolchain (which has very limit SH-1 support to begin with), or perhaps with the
- CMON debugger. At any rate, I have exhausted all of the energy that I am willing to put
- into this cool old processor for the time being.
- * Renamed configuration item CONFIG_PROC_STACK_SIZE as CONFIG_IDLETHREAD_STACKSIZE: It now
- only controls the size of the stack for the IDLE thread. Added CONFIG_USERMAIN_STACKSIZE:
- This is the size of stack used with the user_start() thread is created. The two stacks
- no longer have to be the same.
- * Add a loop device that converts a file into a block device.
- * Each NSH command can not be disabled through a configuration setting. All of these
- settings make the configuration of NSH potentially complex but also allow it to squeeze
- into very small memory footprints.
- * Added a block to character (BCH) driver. This is kind of the reverse of the loop
- device; it allows you access a block device like a character device.
- * Added strcasecmp() and strncasecmp()
- * NSH: Added the 'dd' command
- * NSH: Added the 'losetup' command
- * Fixed a FAT bug: After recent changes, it would mount a (invalid) FAT file system
- even if the medium is not formatted!
- * Corrected two important errors in FAT lseek implementation: (1) the sectors-per-cluster
- value was being reset to "1" and (2) important lseek logic was omitted when the seek
- position was zero.
- * Fixed a bug in getopt(). It would fail if on certain combinations of terminal argument
- types.
- 0.3.19 2008-11-26 Gregory Nutt <gnutt@nuttx.org>
- * Add poll() and select() APIs (in the initial check-in, these work only with character devices)
- * Add poll() methods to /dev/null, /dev/zero, pipes, fifos, and serial drivers.
- * Add examples/poll for testing poll() and select()
- * Fix hostile behavior of getc, fgetc, getchar, etc.: the serial driver was waiting for a
- full buffer of read data before return. This means that getc would stall when it needed
- to refill the input buffer. The old behavior (read full blocks) might be useful in other
- contexts, so it is still available within the driver as a configuration option.
- * Implement poll() and select() support for TCP/IP sockets
- * 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.
- * Implemented support for connection backlog. The size of the backlog is specified by the
- second argument of the standard listen() API. Hooks are provided to support poll()/select()
- waiting for connections, with a subsequent call to accept() to use the backlogged connection.
- * Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
- * Added first-cut definition for a framebuffer interface (and simulated framebuffer for testing
- purposes only)
- * Added fixed precision math support
- * Added some color converson routines into what may become a real graphics library someday.
- * Added a framebuffer driver for the DM320 (untested on initial check-in)
- * Network: Add support for outgoing multicast addresses
- * Added some rasterizers to the graphics library
- 0.4.0 2008-12-06 Gregory Nutt <gnutt@nuttx.org>
- * Initial release of a tiny windowing system for NuttX
- * Add fixed precision sin() and cos() (not well tested at initial check-in)
- * Add an X11-based simulated framebuffer driver
- * The simulated target now has an option (CONFIG_SIM_WALLTIME) that will let the simulation
- run in more-or-less realtime.
- * Added more extensive window support: frames, toolbars, etc.
- * Added support for bitmap fonts
- * Integrated the new font support with a font test in examples/nx
- * Add documentation for NX graphics subsystem
- 0.4.1 2009-02-06 Gregory Nutt <gnutt@nuttx.org>
- * Added board support for the ZiLog eZ80Acclaim! ez80f910200zco Development Kit.
- * Fixed several compilation errors in fixed precision math library when built
- against toolchains that do not support 64-bit type 'long long'.
- * Fix errors in some function prototypes in dirent.h
- * Add eZ80F91 EMAC driver
- * Fix recvfrom() compilation error: only noted under ZDS
- * Updated all ARM Make.def files to work with gcc 2.4.2 (However, there are
- still some build issues associated with that toolchain in use of arm-elf-objcopy
- -- see the TODO.txt list for details)
- * Fix problems with Z16F and eZ80 compilation introduced with recent changes.
- 0.4.2 2009-02-28 Gregory Nutt <gnutt@nuttx.org>
- * M16C: Add support for the Renesas M16C MCU and the SKP16C26 StarterKit. However,
- the target cannot be built because the GNU m16c-elf-ld link fails with
- the following message:
- m32c-elf-ld: BFD (GNU Binutils) 2.19 assertion fail /home/Owner/projects/nuttx/buildroot/toolchain_build_m32c/binutils-2.19/bfd/elf32-m32c.c:482
- Where the reference line is:
- /* If the symbol is out of range for a 16-bit address,
- we must have allocated a plt entry. */
- BFD_ASSERT (*plt_offset != (bfd_vma) -1);
- No workaround is known at this time. This is a show stopper for M16C.
- * eZ80Acclaim!: Fix interrupt vectors positioning; they were being positioned
- wrong by 64 bytes (Kevin Franzen).
- * eZ80Acclaim!: Corrected some stack handling errors during interrupt handling
- context save and restore (Kevin Franzen).
- * eZ80Acclaim!: Corrected vector initializeation logic (Kevin Franzen).
- * eZ80Acclaim!: Corrected overflow problem in the calculation of UART baud rate
- divisor, the system timer divisor, and the EMAC poll timer.
- * eZ80Acclaim!: Fixed GPIO pin configuration get serial output
- * eZ80Acclaim!: Correct stack overflow in ostest example configuration
- * eZ80Acclaim!: Fixed restoration of interrupts state on interrupt level context swith.
- 0.4.3 2009-03-04 Gregory Nutt <gnutt@nuttx.org>
- * z8Encore! and eZ80Acclaim!: Fixed the serial driver initialization sequence
- * eZ80Acclaim!: Fixed error in vector table: Missing space set aside for the
- "unused" vectors. As a result, all vectors above timer4 were skewed.
- * eZ80Acclaim!: Fixed logic error in UART interrupt handler.
- * Many fixes in FAT file system and in NSH for correct compilation with ZDS-II
- * eZ80Acclaim!: Added and verified a NuttShell (NSH) configuration.
- * eZ80Acclaim!: Correct endian-ness; defconfig files said BIG endian.
- * Restructured parts of the uIP port for correct compilation with ZDS-II
- * eZ80Acclaim!: Complete basic integration of the eZ80F91 EMAC driver. The
- driver is basically functional and should mature prior to the 0.4.3 release.
- * Implemented priority inheritance logic for POSIX semaphores. Because the pthread
- mutexes are built on semaphores, they will have this property as well.
- 0.4.4 2009-03-29 Gregory Nutt <gnutt@nuttx.org>
- * examples/nsh: A debug option was left on that can (and does) cause
- infinite loops and stack overflows.
- * net/uip: Correct calculation of checksum on ICMP ping response.
- * examples/dchpd: Added a tiny DHCP server example
- * net/uip: Correct UDP bind behavior. It should select a valid port number
- if it receives a port number of zero.
- * netutils/dhcpd: correct for ZDS compiler. Fix issue with re-use of a
- port number. Fixed a number of broadcast-related problems.
- * eZ80Acclaim!: Add a tiny webserver configuration
- * eZ80Acclaim!: Fixed an important bug in the EMAC Tx timeout logic. It was
- always timing out when the load was heavy and worse, for some reason,
- resetting the Tx function caused unexpected registers to be reset in
- the Rcv function was well.
- * Z80: Patch incorported: "[2696648] Z80: interrupt flag stored in parity bit"
- (submitted by JPelletier). The is the same fix that was needed for the
- eZ80 and fixed in 0.4.2.
- * netutils: Added logic to support a simple wget() function
- * examples/wget: Added a test for wget() (untested -- see NOTE)
- * lib/strncasecmp: Fix cut'n'paste error in function name.
- * NSH: Added wget command (untested -- see NOTE).
- * examples/sendmail: A simple sendmail example (untested -- see NOTE)
- NOTE: Features related to wget and sendmail are not tested on the target platform
- in this release and, hence, most likely have problems. I don't have the correct network
- setup to perform that testing now (I'm in a hotel).
- 0.4.5 2009-04-19 Gregory Nutt <gnutt@nuttx.org>
- * Add an enumeration argument to the SPI chip select and status methods so
- that the interface can handle more than one device.
- * eZ80Acclaim!: Add a generic SPI driver for all eZ80 boards.
- * Add a setmode() method to the SPI interface to handle parts with differing
- mode requirements.
- * include/nuttx/i2c.h: Defined a standard I2C interface
- * eZ80Acclaim!: Add an I2C driver.
- * eZ8Encore!: Add an I2C driver.
- * Add support for the Freescale i.MX1/L architecture and a configuration for
- the Freescale MX1ADS development board.
- * examples/helloxx: Added a simple C++ hello world example
- * include/css: Added std header files
- * libxx: New C++-only directory provides support for minimal C++ applications
- 0.4.6 2009-05-19 Gregory Nutt <gnutt@nuttx.org>
- * Change SPI interface so that is can accomodate interfaces where the
- number of bits per word is greater an 8 (such as with many 9-bit display
- interfaces). -- this might have broken a few things which will need to
- be retested!
- * arch/arm/src/imx: Added i.MX SPI driver
- * SPI: Add a method to set the number of bits per word. Also add an
- alternative interface for so that (eventually) I can phase the sndblock
- and recvblock methods and replace them with a single exchange method
- * Build: objcopy fails with toolchains that use newer GCC and binutils. The
- following arguments need to be included in the objcopy command line "-R .note
- -R .note.gnu.build-id -R .comment" This has been fixed in arch/arm/src/Makefile,
- but other architectures may have the same problem. Thanks to Dave Marples
- for verifying this.
- * configs/eagle100/ostest: Added support for the MicroMint Eagle100 board.
- This board has a Luminary LM3S6918 Cortex-M3. Added a configuration to build
- examples/ostest.
- * arch/arm/src/lpc214x: Add configuration option to enable fast GPIO (vs.
- legacy, "slow" GPIO) for LPC214x.
- * arch/arm: Restructured the arch/arm directory structure to better support ARM
- and Cortex-M3.
- * sched/: pthread_create() must return a (non-negated) errno value on failure.
- * configs/eagle100/nsh: Add a NuttShell (NSH) configuration for the Eagle-100
- 0.4.7 2009-05-29 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lm3s: Added an Ethernet driver for the LM3S6918
- * configs/eagle100/nettest: Added an examples/nettest configuration for the
- Micromint Eagle100 board.
- * Documentation/NuttxPortingGuide.html: Added a section on NuttX device drivers.
- * configs/eagle100/httpd: Added an examples/uip configuration for the
- Micromint Eagle100 board.
- * arch/arm/src/lm3s: Added an SSI driver for the LM3S6918
- * examples/nsh: Added MMC/SD support for the LM3S6918
- * arch/arm/src/lm3s: Fix logic for setting and clearing output GPIOs (critical
- fix!).
- * drivers/mmcsd: Found numerous errors in current MMC/SD SPI driver. Bad frequency
- calculation based on CSD settings, inappropriate timeouts, odd code that looks like
- a bad search and replace. Also needs support for SDHC ver 2.x. New MMC/SD is
- largely redesigned and probably non-functional in the first check-in.
- * drivers/mmcsd: Changes verified on 4Gb Kingston microSHDC card and on a 2Gb
- SanDisk microSDC card on the Eagle100 platform.
- * fs/fat: With the 4Gb card, the first tests of FAT32 were (finally) performed.
- Found and corrected a problem that prevented use of FAT32: It was not updating
- the sector cache before checking the FAT32 FSINFO sector.
- * configs/eagle100/*/Make.defs: Added configuration options that should make
- it possible to build NuttX for the Eagle100 using CodeSourcery 2009q1 toolchain
- and the devkitARM GNU toolchain.
- * configs/mcu123-lpc214x/src: Corrected some logic in the LPC2148 SPI receive block
- logic. Re-verified SDC ver1.x support with 1Gb Toshiba SDC, 1Gb PNY SDC, and
- 4Gb Kingston SDHC. There are CMD0 issues with the 2Gb SanDisk SDC on this board.
- * fs/fs_mount.c: Corrected error handling that could cause a deadlock on certain
- mount() failures.
- 0.4.8 2009-06-13 Gregory Nutt <gnutt@nuttx.org>
- * lib/lib_*stream.c: Extend internal stream logic to support incoming streams.
- * arch/arm/src/str71x: Serial output is now correct and timer interrupts are
- working. The test at configs/olimex-strp711/ostest passes. This means that
- the basic STR-P711 port is complete.
- * configs/olimex-strp711/nsh: Add and verified a NuttShell (NSH) configuration
- for the STR-P711.
- * arch/arm/str71x/str71x_serial.c: The STR711 interrupt driven serial driver
- finally works after some extradinary measures to handle missed interrupts.
- NSH is fully functional on the Olimex STR-P711 board.
- * example/nsh: Moved architecture specific files from NSH directory to board-
- specific directories.
- * config/olimex-strp711/src/up_nsh.c: Add an NSH board specific directory for
- for the Olimex STR7P11 board.
- * Fixed build of LM3X6918 using the CodeSourcery Windows native toolchain. There
- were lots of issues with Cygwin paths and Cygwin symbolic links. These changes
- may work with the devarmKIT as well, but that remains untested.
- * The NXP LPC2148 and STR711 targets can now also be built using the CodeSourcery
- or devkitARM Windows native toolchains.
- 0.4.9 2009-06-26 Gregory Nutt <gnutt@nuttx.org>
- * Add strtoll() and strtoull(); Add macros for atol() and atoll().
- * dup() and dup2() will now clone socket descriptors
- * All socket descriptors are now cloned when a new task is started via
- task_create().
- * Add configuration options to suppress or eliminate cloning of file
- and/or socket descriptors when a new task is started by task_create():
- CONFIG_FDCLONE_DISABLE, CONFIG_FDCLONE_STDIO, CONFIG_SDCLONE_DISABLE.
- * Use of C++ reserved word 'private' in C header files causes problems
- for C++ that include them.
- * Added 'binfmt' support to allow execution of programs in a file system,
- binding to NuttX symbols. A custom format call NXFLAT is used; this
- derives from http://xflat.sourceforge.net. At present is supports on
- XIP execution from ROMFS file systems. Initial check-in is untested
- and probably breaks many builds.
- * examples/lib: Added qsort()
- * examples/nxflat: Added support for symbol tables
- * Correct logic that creates compiler include paths. On Cygwin, the
- include paths for Cygwin-based GCC were being converted to windows
- native paths. That causes many problems -- breaking dependencies
- for one.
- * Fixed an important bug in ROMFS. The initial XIP offset was set
- incorrectly so if sector zero was read first, there was a bad read.
- I don't know how it worked before.
- * arch/arm/src/common/up_use_stack.c. Fixed a fatal stack setup error.
- This file has been around for a long time, but I don't think it has
- every been used before (i.e., prior to the NXFLAT logic)
- 0.4.10 2009-08-08 Gregory Nutt <gnutt@nuttx.org>
- * lib/: Added some basic regex-subset, pattern matching functions
- * lib/: Greatly simplified mktime() and gmtime_r(). The Gregorian and
- Julian time calculations were interesting, but not necessary in the
- typical embeddd system.
- * sched/: Added gettimeofday(). This implementation is simply a thin
- wrapper around clock_gettimer().
- * lib/: Add gmtime(), localtime(), and strftime()
- * binfmt/: Add exec(). This is just a wrapper that executes both
- load_ and exec_module() in a more familiar manner. It is not consistent
- with more standard exec() functions, however, because (1) it returns
- and (2) it requires symbol table arguments.
- * lib/: Add fileno()
- * examples/ostest: Several of the tests used a big, hard-coded stack size
- when creating test threads (16K stacksize). The stack size should
- be controlled by the .config file or the OSTest won't work on platforms
- with memory constraints.
- * netutils/thttpd: An initial port of Jeff Poskanzer's THTTPD HTTP server.
- See http://acme.com/software/thttpd/.
- * examples/thttpd: A basic test program for THTTPD
- * configs/eagle100/thttpd: A build configuration for THTTPD on the Micromint
- Eagle-100 LMS6918 (Cortex-M3) board.
- * configs/ntosd-dm320/thttpd: A build configuration for THTTPD on the Neuros
- DM320 platform.
- * lib/: Added strstr() and strpbrk().
- * net/recvfrom.c and net/accept(): Sockets now support some non-blocking
- operations, specifically for (1) TCP/IP read operations when read-ahead
- buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
- connection backlog is enabled.
- * fs/fs_fcntl.c and net/net_vfcntl.c: Minimal support provided for fcntl().
- It can, at least, be used to mark sockets as blocking or non-blocking.
- * net/net_close.c: Fix bug in close(). If reference count not set to zero
- then uip_tcpfree() will assert when DEBUG is enabled.
- * net/accept.c: Fix bug in accept(). The logic expected parts of the
- return address structure to be initialized or it would return an error.
- 0.4.11 2009-09-16 Gregory Nutt <gnutt@nuttx.org>
- * fs/fs_read.c and fs/fs_write.c. read() and write() to socket is the
- same as recv() and send() with flags = 0. Fixed!
- * net/recvfrom.c: Fix errors in return value from non-blocking socket read.
- * lib/lib_strcasecmp.c and lib/lib_strncasecmp.c. Use of post-incremented
- argument to macro caused strcasecmp() and strncasecmp() to fail.
- * lib/lib_strstr.c: Length of substring off by one causes false alarm
- sub-string matches.
- * arch/arm/src/lm3s/lm3s_ethernet.c: Fix errors in LMS6918 FIFO length
- handling. (1) The incorrect size of the Ethernet header was being
- subtracted on outgoing messages (4 vs 14), which caused outgoing messages to
- be a little too long. (2) The size of incoming FIFO messages is 6 bytes
- larger than it expected (2 for the length and 4 for the FCS). The unhandled
- extra two bytes of length cause the driver to sometimes read one too many
- words from the received FIFO (corrupting the next queued receive packet,
- if any).
- * net/net_poll.c and net/uip/uip_tcpbacklog.c. Fixed an important race condition
- bug in polling for connections. The logic worked if the poll was inplace
- before the connection was received; but the poll failed to awaken if the
- connection was already pending in the backlog when poll() was called.
- * net/net_close.c. Fixed another important TCP/IP race condition bug: If
- the host closes the TCP connection just before the target calls close(), then
- the close operation may hang indefinitely!
- * net/net_tcppoll.c. Removed an unnecessary check for outstanding, un-ACKed
- data. The NuttX socket layer keeps track of ACKs and doesn't need this check;
- removing the check should improve write throughput
- * Add DEBUG configuration option to enable debug console output without disabling
- optimization (and vice versa)
- * Changed lots of occurrences of debug macro dbg() to lldbg(). dbg() uses
- stdout to output debug data. That works fine unless (1) the dbg() macro
- is interrupt logic and the interrupted task has redirected stdout! Most
- changes were in uIP.
- * net/uip/uip_tcpinput.c. Connection reference count was not being set correctly
- when a socket is created by accepting a new connection. Since the reference
- count is bad, such sockets are not successfully duplicated when being passed
- to new tasks.
- * net/net_clone.c. Similarly, after a socket is cloned, its reference count
- was not being initialized.
- * lib/lib_strstr.c. Improperly incremented pointer could cause comparison
- failures.
- * net/. Connection reference count must always be set to zero before calling
- uip_tcpfree() or it could trigger a DEBUGASSERT that verifies that the
- reference count is zero before freeing a connection structure.
- * net/uip/uip_listen.c. uip_accept() consulted the wrong list to find the
- listener on a socket. The previous logic worked most of the time, but
- occasionally picked the wrong listener.
- * net/net_close.c and net/net_sockets.c. Sockets were not being closed
- when a task exits. If many server tasks are created and exit without closing
- sockets (such as with CGI tasks), then eventually, you will run out of sockets.
- * netutils/thttpd. Basic functionality of THTTPD is complete. This includes
- serving up files from a file system and executing NXFLAT-based CGI programs
- and pipe the stdout back to the HTTP client.
- 0.4.12 2009-10-17 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32 and configs/stm3210e-eval. Added 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.
- * configs/stm3210e-eval/RIDE. Added 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).
- * configs/stm3210e-eval/ostest. The STM32 now passes the basic NuttX OS test
- at examples/ostest. The rest should be a piece of cake.
- * configs/stm3210e-eval/nsh. Added NuttShell (NSH) example.
- * configs/stm3210e-eval/src/stm32102e-internal.h. Fix on-board LED GPIO definitions.
- * arch/arm/src/stm32/src/stm32/stm32_dma.c. Added DMA channel support for the STM32
- * arch/arm/src/stm32/src/stm32/stm32_spi.c. Added a DMA-based SPI driver for the STM32.
- * arch/arm/src/stm32/src/stm32/stm32_serial.c. Finished interrupt-driven,
- USART console driver. This makes NSH work perfectly.
- * Things left to do for the STM32 deferred to the 0.4.13 release: USB device driver,
- LCD driver and NX bringup on the eval board's display and MicroSD support. An SPI
- driver was included in the 0.4.12 release, but is not yet tested.
- 0.4.13 2009-11-04 Gregory Nutt <gnutt@nuttx.org>
- * include/nuttx/mtd.h. Added a simple interface definition to support some
- FLASH, EEPROM, NVRAM, etc. devices.
- * driver/mtd/m25px.c. Added a driver for SPI based FLASH parts M25P64 and M25P128.
- * configs/stm3210e-eval/usbserial. Add a USB serial configuration for the STM32.
- Depends on the STM32 USB driver.
- * arch/arm/src/cortexm3/up_switchcontext.S & up_svccall.c. Made an improvement
- to context switching. There are two types of context switches: interrupt
- context switches and background/user context switches. This change should
- improve the performance of those background/user context switches by a factor
- of about two.
- * arch/arm/src/stm32/: Fix several typos in the serial logic. It turns out
- that these typose don't make any difference as long as you use only one
- serial port and all uarts are configured the same. But the typos are bugs
- waiting to happen in any other configuration.
- * arch/arm/src/stm32/: You have to configure CTS/RTS function pins for USART
- 2 and USART 3 even if you are not using flow control.
- * arch/arm/src/stm32/stm32_usbdev.c: Added a USB device-side driver for the
- STM32. NOTE: This is an early release of the USB driver. There is at least
- one known issue. The examples/usbserial test only executes correctly under
- certain conditions (see the full bug description in the TODO list).
- * arch/arm/src/stm32/stm32_rcc.c: Fixed an error in clock initialization.
- On some boards (none of mine), the HSE (high speed external clock) delay
- loop times out if the optimization level is high. The STM32 then falls
- back to the HSI (internal clock), and the system clock is too slow by a
- factor of 11.1%. This was fixed by simply add the volatile storage class
- to the timeout loop counter
- * arch/arm/src/stm32/stm32_irq.c: Fixed a critical bug in the interrupt
- control logic. The wrong register was being used for interrupts in a
- certain range. Worked fine until you try to use an interrupt in that
- range!
- 4.14 2009-12-02 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/stm32_gpio.c: Add support for configure an input GPIO
- to generate an EXTI interrupt.
- * config/stm3210e-eval/src/up_buttons.c: Add support for on-board buttons.
- * include/nuttx/rwbuffer.h: Add generic support for read-ahead buffering
- and write buffering that can be used in any block driver.
- * include/nuttx/wqueue.h: Added a generic worker thread that can used to
- defer processing from an interrupt to a task.
- * include/nuttx/sdio.h: Defines a generic SD/SDIO interface can can be
- bound to a MMC/SD driver to provide SDIO-based MMC/SD support.
- * drivers/mmcsd/mmcsd_sdio.c: Provides an SDIO-based MMC/SD driver.
- * arch/arm/src/stm32/stm32_sdio.c: Provides an STM32 implementation of
- the SDIO interface defined in include/nuttx/sdio.h.
- * fs/fs_mount.c: Correct error handling logic. If the bind() method
- fails, then a reserved node is left in the tree. This causes subsequent
- attempts to mount at the location to fail (reporting that the node
- already exists). This is a problem for block drivers for removable
- media: The bind method could fail repeatedly until media is inserted.
- * arch/arm/src/stm32/chip.h & stm32_dma.c: Fixed several definitions
- that can cause compilation errors when DMA2 is enabled.
- * arch/arm/src/stm32/stm32_dma.c: Integrated and debugged STM32 DMA
- functionality that was added in 0.4.12.
- * configs/stm3210e-eval/usbstorage: Add a configuration to exercise
- the STM32 with the USB mass storage device class example
- (examples/usbstorage).
- * configs/mcu123-lpc214x/up_usbstrg: Move LPC-specific code from
- examples/usbstorage to configs/mcu123-lpc214x.
- * configs/stm321e-eval/up_usbstrg: Add STM32-specific logic for the
- examples/usbstorage test.
- * arch/arm/src/stm32/stm32_usbdev.c: Fix bugs in STM32 USB device-side
- driver: (1) Need to disconnect after reset received, (2) Status setup
- to recover from stall on TX endpoint.
- 5.0 2009-12-21 Gregory Nutt <gnutt@nuttx.org>
- * arch/hc: Adding framework to support m68hc11/12
- * configs/demo9s12ne64: Configuration to support Freescale DEMO9S12NE64
- development board (MC9S12NE64 m68hcs12 processor).
- * drivers/mtd/ftl.c: A FLASH translation layer (FTL) has been implemented.
- This layer will convert a FLASH MTD interface into a block driver that
- can be used with any file system. Good performance of this layer will
- depend upon functioning write buffer support!
- NOTE: FTL support is untested as of the initial check-in.
- * Numerous minor changes for m68hc12 to eliminate compilation errors and
- warnings due to the fact that it uses 16-bit integer types and for casts
- between uint32 (32-bits) and an mc68hc12 pointer (16-bits).
- * sys/types: Size of off_t and blkcnt_t should not depend on size of
- int in the architecture; Removed non-standard type STATUS
- * include/: Added header files stdint.h, stdbool.h, cxx/cstdint, and
- cxx/cstdbool
- * Changed ALL references to non-standard fixed-size types (like uint32,
- ubyte, etc.) to standard types (like uint32_t, uint8_t, etc.) from
- stdint.h. Use type bool and {true, false} from stdbool. This effected
- most of the files in the system! Almost all configurations have been
- re-built and many have been re-verified in order to get confidence in
- these changes.
- * graphics/ and examples/nx: Fix numerous build errors that have been
- introduced lately. NXGL has suffered some bit-rot from not being used
- in some of the most recent ports.
- * The misc/pascal NuttX add-on package has been updated to use the new
- standard types from stdint.h and stdbool.h and re-integrated with NuttX.
- The released pascal-2.0 will be the first version that contains the
- compatible changes.
- * arch/arm/src/lm3s/lm3s_ethernet.c: Fixed an important bug in the LM3S
- Ethernet driver: If full packet is received, the packet-too-big check
- will fail because it needs to subtract 6 from the packet size (to
- account for the 2-byte packet length and the 4-byte packet FCS in the
- FIFO).
- * net/accept.c: Fixed a bad assertion (only happens when debug is enabled).
- * net/send.c net/uip/uip_tcpseqno.c: Fixed a critical error in the TCP/IP
- logic. The NuttX port of uIP imcludes logic to send data ahead without
- waiting for ACKs from the recipient; this greatly improves throughput.
- However, the packet sequence number was not being updated correctly and,
- as a result, packets were not be ACKed by the recipient and transfers
- would sometimes stall. This is a very important bug fix (in fact, I
- don't understand how TCP/IP worked at all without this fix???)
- * include/nuttx/arch.h and arch/*/common/up_udelay.c: Change argument
- of up_udelay() to type useconds_t to avoid warnings when sizeof(int)
- is 16-bits.
- * drivers/mmcsd/*: Add casts in constant expressions to avoid warnings
- when sizeof(int) is 16-bits.
- 5.1 2010-01-30 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lpc313x and arch/arm/include/lpc313x: Added framework
- to support the NXP LPC3131.
- * Add configs/ea3131. The LPC3131 port for the Embedded Artist EA3131
- (LPC3131) is code complete and waiting for me to get hardware in
- hand.
- * arch/arm/src/sam3u, arch/arm/include/sam3u, and configs/sam3u-ek -
- Added the basic framework needed to begin a port for the SAM3U-EK
- development board.
- * lib/lib_crc32.c: Add CRC32 logic by Gary S. Brown to lib/. This is
- the larger (but faster) table look-up version of the CRC32 algorithm.
- * configs/ea3131/tools: Added a tool to create a image suitable for
- use with the LPC313x bootloader.
- * configs/sam3u-3k/ostest: Completed verification of the basic NuttX
- OS test for the SAM3U.
- * arch/arm/src/common/up_createstack: stack was always been cleared
- when it was allocated. This is a good feature for monitoring the
- stack during debug, but really hurts thread start-up performance.
- Clearing is now done if CONFIG_DEBUG=y only. Changes was only made
- for arm, but really should be made for all architectures.
- * configs/sam3u/nsh: Added NSH configuration for SAM3U
- 5.2 2010-03-18 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/sam3u/sam3u_pio.c: Fix an address calculation error
- that caused ports B & C to get mapped to the PIOA base address.
- This is an important bugfix! (a patch is available)
- * arch/arm/src/lpc313x/lpc313x_boot.c: Fix an error in the vector
- initialization was causing a memory fault.
- * lib/lib_strtod.c: Add strtod()
- * lpc3131/ea3131: Several bring fixes submitted by David Hewson. The
- lpc3131 is almost there! Thanks David!
- * arch/arm/src/arm/up_head.S: Corrected backward conditional compilation
- that selects if vectors are located at 0x0000:0000 or 0xffff:f000.
- This fixes the last show stopper bug in the lpc313x bring-up.
- * configs/ea3131/nsh: Added a NuttShell (NSH) configuration for the
- EA3131.
- 5.3 2010-04-11 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lpc313x/lpc313x_usbdev.c: USB driver for the LPC313x
- contributed by David Hewson.
- * configs/ea3131/src/up_ubstrgc.c, configs/ea3131/usbserial,
- configs/ea3131/usbstorage: USB storage and USB serial example support
- contributed by David Hewson.
- * Several important compilation error fixes in lpc313x and (dualspeed) USB
- code also contributed by David Hewson.
- * arch/arm/src/sam3u/sam3u_dmac.c: DMA support for the AT90SAM3U.
- * arch/arm/src/sam3u/sam3u_hsmci.c: SD memory card support for AT90SAM3U
- (Neither the DMA nor the HSMCI driver are functional on the initial checkin).
- * drivers/usbdev: Several important fixes to the USB mass storage driver
- submitted by David Hewson.
- * configs/olimex-lpc2378, arch/arm/include/lpc2378, and arch/arm/src/lpc2378 -
- Basic port of the NXP 2378 on the Olimex board contributed by
- Rommel Marcelo.
- * arch/arm/src/sam3u/sam3u_internal.h: Fixed a critical bug in the AT91SAM3U
- PIO decoding. No PIOs greater than 15 could be used on any port! Obviously,
- no one has been using this port.
- 5.4 2010-04-23 Gregory Nutt <gnutt@nuttx.org>
- * include/nuttx/lcd.h: Defines an LCD interface.
- * graphics/nxglib/fb and lcd: Support LCD and framebuffer rasterizers for NX.
- * configs/sam3u-ek/src/up_lcd.c: LCD driver for LCD on SAM3U-EK development
- board.
- * configs/sam3u-ek/nx: NX graphics configuration for the SAM3U-EK
- 5.5 2010-05-09 Gregory Nutt <gnutt@nuttx.org>
- * drivers/net/enc28j60.c: Microchip ENC28J60 SPI Ethernet chip driver.
- (untested on original check-in).
- * configs/olimex-str7p11/nettest: examples/nettest configuration using
- the ENC28J60 driver on the Olimex STMicro STR-P711.
- (unverified on original check-in)
- * configs/olimex-str7p11/src/up_enc28j60.c: Add ENC28J60 initialization
- logic.
- * configs/olimex-str7p11/src/up_spi.c: Fixed some bugs; added support
- for ENC28J60.
- * arch/arm/src/str7x/str7x_xti.c: Add basic XTI support (external
- interrupts).
- * arch/arm/src/lm3s and arch/arm/include/lm3s: Add definitions for
- LM3S6965
- * configs/lm3s6965-ek: Add configuration for Stellaris LM3S6965
- Evaluation Kit (including basic examples/ostest configuration)
- * lib/lib_dtoa.c and lib/lib_dtoa.c: printf will not print floating
- point values if you select CONFIG_LIBC_FLOATINGPOINT in your
- configuration file. Contributed by Yolande Cates. NOTE: these
- floating point operations have not been well tested and may not
- be portable to all floating point implementations.
- * configs/lm3s6965-ek/nsh: Added NuttShell (NSH) configuration for
- the LM3S6965 Evaluation Kit. Includes both serial and telnet
- interfaces.
- * net/net_close.c: Correct a UDP reference counting error
- 5.6 2010-06-05 Gregory Nutt <gnutt@nuttx.org>
- * drivers/lcd/p14201.c: Driver for RiT P14201 series 128x96 4-bit OLED.
- * configs/lm3s6965-ek/nx: NX graphics configuration for the LM3S6965
- Ethernet Evaluation Kit.
- * graphics/: Numerous fixes to get the P14201 4-bpp grayscale display
- working (there may still be some minor issues .. see the TODO list).
- * arch/arm/include/lpc17xx and arch/arm/src/lpc17xxx: Began port for
- NXP LPC1768. As of the 5.6 release, there is a complete set of
- LPC17xx header files defining all bits in all LPC17xx registers,
- but little else (I still do not have hardware in hand).
- * drivers/mtd/m25px.c: Add support for M25P1 flash part (See NOTE)
- * include/nuttx/i2c.h: Extended I2C interface definition to handle
- multiple transfers (See NOTE).
- * include/nuttx/usbdev.h: Corrected an important macro definition
- needed to correctly handle USB null packet transfers (See NOTE).
- * arch/arm/src/lpc313x: New drivers: I2C and SPI. Plus several
- important LPC313x USB bug fixes (See NOTE).
- NOTE: Contributed by David Hewson.
- 5.7 2010-06-22 Gregory Nutt <gnutt@nuttx.org>
- * configs/nucleus2g: Add ostest configuration for the Nucleus 2G
- LPC1768 board from 2G Engineering (http://www.2g-eng.com/)
- * arch/arm/src/lpc17xx: Added basic LPC17xx boot-up logic,
- interrupt handling, and GPIO configuration.
- * configs/nucleus2g/ostest: Completed bring-up of LPC1768 on
- the Nucleus2G board using the examples/ostest
- * configs/nucleus2g/nsh: Added and verified a NuttShell (NSH)
- configuration for the LPC1768 on the Nucleus2G board.
- 5.8 2010-07-18 Gregory Nutt <gnutt@nuttx.org>
- * configs/nucleus2g/src/up_nsh.c and up_ssp.c: Add support
- for SPI-based MMC/SD cards and integrate into the NSH example.
- * arch/arm/src/lm3s/lm3s_vectors.S: Correct vectors for GPIOC & D
- interrupts.
- * arch/arm/src/lpc17xx/lpc17_clockconfig.c: Power was not being
- provided to GPIO module. This is a critical bugfix!
- * arch/arm/src/lpc17xx/lpc17_serial.c: Improved logic to handle
- missed TX interrupts.
- * arch/arm/src/lpc17xx/lpc17_ssp.c: Fix a hard fault during SSP
- initialization.
- * configs/nucleus2g/src/up_led.c: Change how LEDs are controlled
- so that they can be used both for NuttX instrumentation and
- by application software.
- * include/net/uip/igmp.h and uip-igmp.h: Add header files ini
- preparation for NuttX IGMP support
- * net/uip/uip_igmp*.c: Add IGMP support (untested on initial
- checkin).
- * examples/igmp: Add a trivial test for IGMP (much more is needed)
- * configs/nucleus2g/usbserial and usbstorage: Add USB configurations
- for testing purposes.
- * arch/arm/src/common/up_internal.h, cortexm3/up_assert.c,
- */*_vectors.S: Correct compilations errors when CONFIG_ARCH_INTERRUPTSTACK
- is enabled (feature still not tested)
- 5.9 2010-08-25 Gregory Nutt <gnutt@nuttx.org>
- * examples/nsh/nsh_telnetd.c: Fix compilation errors that happen
- when both DHCPC and TELNETD are enabled in the Nuttshell.
- * graphics/nxglib/fb/nxglib_moverectangle.c: Fix a logic error
- that caused an uninitialized variable warning. I still don't
- have a test to prove that the changes are correct.
- * configs/olimex-lpc2378: Add support for the CodeSourcery toolchain
- under Linux (contributed by Alan Carvalho de Assis).
- * arch/arm/src/lpc17xx/lpc17_gpio.c: Fix an important GPIO configuration
- bug: When attempting to set no pull-up or pull-down (floating),
- it would, instead, select pull-down.
- * arch/arm/src/lm3s/lm3s_gpioirq.c: Fix warning for returning a value
- from functions returning void (contributed by Tiago Maluta).
- * netutils/dhcpc/dhcpc.c: lease_time was not in host order
- * examples/uip/main.c: if DHCPC is selected, this example now shows
- the assigned IP address.
- * arch/arm/src/lm3s and arch/arm/include/lm3s: Definitions for the
- TI LM3S9B96 contributed by Tiago Maluta.
- * arch/arm/src/lm3s/lm3s_gioirq.c: Fix a logic error in the address
- table lookup.
- * arch/arm/src/lm3s/lm3s_gioirq.c: Also needs to enable the global
- GPIO interrupts.
- * arch/arm/src/lm3s/lm3s_internal.h and lm3s_gpio.c: Fixed the encoding
- of GPIO port number that limited support for GPIO ports to 8
- * sched/pg_*.c and *.c and include/nuttx/page.h: Implemented the
- common, core logic for on-demand paging. See
- http://www.nuttx.org/NuttXDemandPaging.html for details.
- * drivers/usbdev/usbdev_serial.c: Correct compilation errors that
- occur if CONFIG_USBDEV_DUALSPEED is selected.
- * configs/ea3131/pgnsh: Add an NSH configuration with on-demand paging
- enabled. This is not expected to be a functionality configuration (at
- least not yet); it was created in order to debug the on-demand paging
- feature.
- * configs/ntosd-dm320/*/Make.defs: Codesourcery and devkitARM toolchains
- now supported for the Neuros OSD.
- * configs/ntosd-dm320 and arch/arm/src/dm320: Add support for the
- Neuros production OSD (changes contributed by bf.nuttx).
- 5.10 2010-09-07 Gregory Nutt <gnutt@nuttx.org>
- * configs/ea3131/locked: Create logic to support a two pass build
- process: The first pass forces critical logic into the locked text
- region, the second pass builds the NuttX executable more-or-less as
- normal.
- * Makefile, arch/arm/src/Makefile, configs/ea3131: Add logic to
- support a two-pass final link. This logic is only in place in
- the arch/arm/src/Makefile for now.
- * arch/arm/src/lpc17xx/lpc17_internal.h: Add missing parentheses in
- macros definitions (patch submitted by Tiago Maluta).
- * Documents/NuttxPortingGuide.html, configs/README.txt, etc. -
- Replaced CONFIG_EXAMPLE with CONFIG_APP_DIR (see documents for
- description). This allows NuttX application code to be built
- outside of the examples/ directory.
- 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.
- * arch/arm/src/lpc313x/lpc313x_spi.c: Fix compilation error when
- when CONFIG_DEBUG is enabled.
- * arch/arm/src/lm3s and arch/arm/include/lm3s: Support for the
- lm3s8962 contributed by Larry Arnold.
- * configs/lm328962-ek: Support for the TI/Stellaris EKC-LM3S8962
- board (also contributed by Larry Arnold).
- * arch/arm/src/lpc313x/lpc313x_boot.c: The call to lpc313x_boardinitialized()
- should not be conditioned on CONFIG_ARCH_LEDs being defined!
- * arch/arm/src/lpc313x/: APB0 and APB1 cannot lie in different
- sections; they are too close together.
- * arch/arm/src/lpc313x/lpc13x_boot.c: Resetting all of the clocking
- had a side effect of wiping out the first 6 words of memory where the
- interrupt vectors are located (and also not resetting the fractional
- dividers). This is not usually noticeable because the IRQ vectors
- are after this point, but really causes problems if you want to handle
- data and prefectch aborts which are within this zeroed region.
- 5.11 2010-10-01 Gregory Nutt <gnutt@nuttx.org>
- * configs/ea3131/src/up_fillpage.c: Added new configuration item
- CONFIG_PAGING_BINPATH. If CONFIG_PAGING_BINPATH is defined, then it
- is the full path to a file on a mounted file system that contains
- a binary image of the NuttX executable. Pages will be filled by
- reading from offsets into this file that correspond to virtual
- fault addresses. up_fillpage.c implements logic to perform page
- files using the CONFIG_PAGING_BINPATH file.
- * configs/mbed: Add configuration to support the mbed.org LPC1768
- board (Contributed by Dave Marples).
- * sched/sem_wait.c and sem_waitirq.c: Eliminate a race condition
- that can occur when a semaphore wait is interrupt by a signal.
- (see email thread: https://groups.yahoo.com/neo/groups/nuttx/conversations/messages/530)
- * drivers/mtd/at45db.c: Add a driver for the Atmel AT45DB161D 4Mbit
- SPI FLASH part (untested on initial check-in).
- * arch/arm/src/lm3s and arch/arm/include/lm3s: Corrections for the
- lm3s8962 port contributed by Larry Arnold. That port is purported
- to work correctly with these changes in place.
- * examples/ostest/prioinherit.c: Need to reinitialize globals if
- test is ran repeatedly in a loop.
- * configs/ez80f910200zco: Updated to used ZDS-II 4.11.1
- 5.12 2010-10-26 Gregory Nutt <gnutt@nuttx.org>
- * arch/avr: Add a place to support AVR family processors.
- * arch/avr/include/avr32 and arch/avr/src/avr32: Add support for AVR32
- (all of the AVR32 is a work in progress).
- * arch/avr/include/at32uc3 and arch/avr/src/at32uc3: Add support
- for the AVR32 UC3A/B family of AVR32 MCUs.
- * configs/avr32dev1: Add support for the Atmel AVR32DEV1 board featuring
- the AT32UC3B0256 MCU. This board is produced by www.mcuzone.com.
- * include/stdlib.h, lib/Makefile, lib/lib_abs.c, lib/lib_labs.c,
- lib_labs.c, lib_llabs.c, lib_imaxabs.c: Add abs(), labs(), llabs(), and
- imaxabs().
- * Add include/inttypes.h
- * arch/hc/src/mc9s12ne64: This hcs12 port grew a few more files. But it
- is still a long way from complete.
- * arch/*/src/*/*_sigdeliver.c: Fixed a serious 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 propogated 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.
- 5.13 2010-11-09 Gregory Nutt <gnutt@nuttx.org>
- * lib/lib_strnlen.c: Added POSIX 2008 strnlen() function. Contributed
- by Michael Hrabanek.
- * Fix wild, consistent naming error. For some reason, I called the at32uc3*
- parts at91uc* everywhere. Fixed by changing lots of files and directories.
- * configs/avr32dev1/ostest: The AVR32 port now successfully passes the
- examples/ostest. We have a good AVR32 port!
- * configs/avr32dev1/nsh: Added a configuration to support the NuttShell
- (NSH). As of this writing, here is a problem receiving serial data (this
- is, very likely, my hardware setup).
- * lib/lib_open.c: Fix an error in fdopen when a valid file descriptor does
- not refer to an open file.
- * configs/olimex-lpc1766stk: Add support for the Olimex LPC1766-STK
- development board. The OS test and NSH configurations (only) have been
- verified.
- 5.14 2010-11-27 Gregory Nutt <gnutt@nuttx.org>
- * configs/olimex-lpc1766stk/nettest: Add examples/nettest configuration to
- verify the LPC17xx Ethernet driver currently under development.
- * arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h: Began development of
- the LPC17xx Ethernet driver. Driver in CVS functional after 2010-11-23.
- * sched/timer_settime.c: Fix an error in set-up of a one-shot POSIX timer. It
- was using the repititive timer value (which is zero in the one-shot case),
- always resulting in a 10Ms timer! Found and fixed by Wilton Tong.
- * arch/arm/src/lpc17xx/lpc17_vector.S, stm32/stm32_vector.S, lm3s/lm3s_vector.S,
- sam3u/sam3u_vector.S: Fixed a hard fault problem that can occur if certain
- types of interrupts are pending at the time another interrupt returns
- (SYSTICK). This has not been verified on all plaforms, but is a critical
- fixed that is needed by all Cortex-M3 NuttX users.
- * configs/olimex-lpc1766stk/thttpd: Add a THTTPD configuration for the
- Olimex LPC2766-STK board. Verified successfully.
- * net/uip/uip_tcpappsend.c: Correct an important logic bug in some uIP state
- data the is used to manage retransmissions. The uIP logic was incompatible
- with the retransmission logic of net/send.c in one place. The final error
- was that the final packet in a sequence of packets was too large! In the
- THTTPD example, this would leave some garbage at the bottom of the display
- (or worse). I don't know why I haven't see this bug before???
- * net/uip/uip_tcpinput.c: The change to uip_tcpappsend.c unmasked an
- additional error in the TCP sequence number handling. This sympom was that
- the send() function would hang with outstanding, unacknowledged data (with
- no re-transmit requests). The 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.
- 5.15 2010-12-12 Gregory Nutt <gnutt@nuttx.org>
- * net/uip/uip_tcpaddsend.c and net/send.c: Another place where the TCP sequence
- number problem "fixed" in 5.14 might occur.
- * net/send.c: Check if the destination IP address is in the ARP table. If
- not, then don't consider the packet sent. It won't be, an ARP packet will go
- out instead. This improves behavior, for example, on the first GET request
- from a browser.
- * arch/arm/src/lpc17xx/lpc17_emacram.h and lpc17_allocateheap.c: The Ethernet
- logic 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. configs/olimex-lpc1766stk/nettest
- now uses only 8K at the beginning of Bank0; the 8K at the end of Bank0 is
- included in the heap
- * arch/arm/src/lpc17xx/lpc17_ssp.c: Fix compilation errors when SSP1 is
- selected.
- * configs/olimex-lpc1766stk/nsh: Enable network and SD/MMC card support in
- NSH. Networking and telnetd interface as well as SPI-based microSD are
- now functional.
- * examples/nsh/nsh_netinit.c: Fix NSH bug. If CONFIG_NET is selected, but
- CONFIG_EXAMPLES_NSH_TELNETD is not selected, then the network is never
- initialized and bad things happen if you try to ping.
- * drivers/lcd: Add header files for the Phillips PCF8833 LCD controller and
- for the Epson S1D15G10 LCD controller. A driver for the Nokia 6100 LCD is
- coming.
- * include/nuttx/spi.h and almost all other SPI files: 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. This is typical, for example, in "9-bit" displays where the 9th bit
- is the CMD/DATA bit. The cmddata method provides selection of command or data.
- * drivers/lcd/p14201.c: Now uses the cmddata() method of the SPI interface.
- * arch/arm/src/lpc17xx/lpc17_usbdev.c: LPC17xx USB driver now appears to
- to be fully functional. examples/usbstorage configuration verified (the
- examples/usbserial configuration is untested).
- * drivers/usbdev/usbserial.c and usbstorage.c: 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.
- * drivers/lcd/nokia6100.c: A driver for the Nokia 6100 LCD. This driver
- has not be verified as of the initial check-in.
- * configs/olimex-lpc1766stk/nx: A NX graphics configuration for the Olimex
- LPC1766-STK board using the Nokia 6100 LCD driver. This configuration has
- not been verified as of the initial check-in.
- * include/nuttx/spi.h: the SPI_SETBITS macro was calling the setmode method.
- This is a very important bug-fix in some usages.
- 5.16 2011-01-10 Gregory Nutt <gnutt@nuttx.org>
- * include/nuttx/usb: Created new directory. Moved all usb-related header
- files to this new directory. Created a skeleton for a new USB host header
- file
- * drivers/usbhost: Add USB host "registry" where connect devices can be
- matched with the correct USB class driver.
- * arc/arc/src/lpc17xx/lpc17_usbhost.c: Add a simple USB host driver for
- the NXP lpc17xx.
- * drivers/usbhost: Add generic USB device enumeration logic.
- * drivers/usbhost: Add a USB host class driver for the (Bulk-Only) USB
- Mass Storage Class.
- 5.17 2011-01-19 Gregory Nutt <gnutt@nuttx.org>
- * include/nuttx/usb: rename usb_storage.h to storage.h.
- * arch/arm/src/lpc17xx/lpc17_usbhost.c: Add support for low-speed devices.
- * drivers/usbhost/usbhost_skeleton.c: Template for new class drivers
- * include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c: New
- files for HID keyboard support.
- * arch/arm/src/lpc17xx/lpc17_usbhost.c: Will now handle multiple
- concurrent transfers on different endpoints (still only one TD per
- endpoint). All methods are protected from re-entrancy; lots of re-
- structuring in preparation for interrupt endpoint support.
- * arch/arm/src/lpc17xx/lpc17_usbhost.c: Add support for periodic
- interrupt transfers.
- * examples/hidkbd: Added a simple test for the USB host HID keyboard
- class driver.
- * configs/olimex-lpc1766stk/hidkbd: Added a configuration to build the
- USB host HID keyboard class driver test for the LPC17xx.
- * Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and
- fixed several errors in the code identified by the tool.
- 5.18 2011-02-27 Gregory Nutt <gnutt@nuttx.org>
- * Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
- - Lost SYNACK causes connection reset
- - Fix missing UDP stats for sent/received packets
- - Added support for Cygwin as development/test platform.
- * configs/demo9s12ne64: Integrate new buildroot-1.9 m8s12x toolchain.
- * 'uname -o' is used throughout the build logic in bash scripts and also in
- Make.defs files in order to distinguish between Cygwin and Linux. However,
- the -o option is not standard and is not supported under, for example, OS-X or
- Solaris. This was solved by changing all 'uname -o' references to the more
- complex: 'uname -o 2>/dev/null || echo "Other"'
- * drivers/usbhost/usbhost_enumerate.c: Add logic to get the VID and PID. This
- is necessary in order to support vendor-specific USB devices.
- * examples/wlan, configs/olimex-lpc1766stk/wlan, drivers/usbhost/usbhost_rtl8187.c,
- Add infrastructure to support RTL18187 wireless USB.
- * configs/nucleus2g: backed out USB host changes... wrong board.
- * Renamed arc/hc/include/mc9s12ne64 and src/mc9s12ne64 to m9s12. That name is
- shorter and more general.
- * The NuttX repository has been converted to SVN and can now be found here
- http://svn.code.sf.net/p/nuttx/code/trunk/
- * configs/mbed/hidkbd: Added USB host support for the mbed LPC1768 board; add
- a USB host HID keyboard configuraion.
- * drivers/usbhost/hid_parser.c: Leverages the LUFA HID parser written by
- Dean Camera.
- * examples/nsh: Correct an usage of getopt(): If you stop calling getopt()
- before all parameters are parsed, you can leave getopt() in a strange state.
- * include/nuttx/video/fb.h: Restore missing RGB type that was accidentally removed
- when Nokia 6100 support was added.
- * Rename arch/pjrc-8051 to arch/8051
- * configs/ne64badge: Add a configuration for the Future Electronics Group
- NE64 Badge development board (Freescale MC9S12NE64)
- * Changes contributed by Uros Platise:
- - Add support for the STM32F103RET6
- - configs/vsn: Support for the ISOTEL NetClamps VSN V1.2 ready2go sensor
- network platform
- * arch/hc, configs/ne64badge: Development is complete for the Freescale
- mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
- this port remains untested until I figure out this BDM / Code Warrior
- and paged build thing
- * Added a new 'kill' command to NSH that will support sending signals to
- running NuttX tasks.
- 5.19 2011-03-12 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/stm32/stm32_idle.c: During idle times, the STM32 now uses the
- WFI instruction to sleep in a reduced power mode until the next interrupt
- occurs (Contributed by Uros Platise).
- * NSH: 'mem' command renamed to 'free'. Output is now more similar to the
- Linux 'free' command.
- * NSH: Correct a redirection bug in NSH. The following would not work; it
- resulted in a hang after the 'cat /dev/fifo':
- nsh> mkfile /dev/fifo
- nsh> cd /tmp # /tmp is a mounted RAM disk
- nsh> cat /dev/fifo > test.txt &
- nsh> echo "This is a test" > /dev/fifo
- The error was caused because (1) there was a path that resulted in stdout
- being closed (the "hang") and also (2) the 'cat' command was always outputting
- to stdout, not to the redirected file descriptor. Now:
- nsh> cat test.txt
- This is a test
- * drivers/pipes/pipe_common.c: Driver open method was not returning an EINTR
- error when it received a signal. Instead, it just re-started the wait. This
- makes it impossible to kill a background pipe operation from NSH.
- * include/stdint.h: Correct some errors in conditional compilation (submitted
- by Johannes Hampel).
- * arch/arm/lpc17xx/lpc17_idle.c: Uses the same logic as the STM32: uses the
- WFI instruction to sleep in a reduced power mode until the next interrupt
- occurs.
- * configs/olimex-lpc1766stk: Added an LED encoded to indicate if the LPC1766
- is in sleeping.
- * examples/mm: This is a simplified version of the "built-in" memory manager
- test of mm/mm_test.c. It is simplified because it does not have access to
- the internals of the memory manager as does mm/mm_test.c, but it has the
- advantage that it runs in the actual NuttX tasking environment (the
- mm/mm_test.c only runs in a PC simulation environment).
- * drivers/mmcsd_sdio.c/h: Several corrections submitted by Uros Platise.
- * arch/x86: Provide support for x86 architectures. Support for the i486
- architecture under QEMU is provided under arch/x86/include/i486,
- arch/x86/include/qemu, arch/x86/src/i486, and arch/x86/src/qemu.
- * configs/qemu-i486: "Board" support configurations for verifying the QEME
- i486 port.
- * arch/arm/src/stm32/stm32_spi.c: Correct base address of SPI3 (reported by
- Uros Platise).
- * drivers/mmcsd/mmcsd_sdio.c: Correct a loop termination condition (also
- reported by Uros Platise).
- * drivers/mtd/ramtron.c: Driver for SPI-based RAMTRON NVRAM devices FM25V10
- (and others). Contributed by Uros Platise.
- * examples/nsh and tools/mkromfsimg.sh: Add support for platform-specific
- ROMFS-based NSH start-up scripts.
- * drivers/serial/uart_16550.c and include/nuttx/serial/uart_16550.h: Support
- for a generic 16550 UART.
- * configure/qemu-i486/nsh: QEMU NSH example.
- * ../apps: The apps directory add-on was created by Uros Platise. It
- supports a set of end-user applications than can be executed 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/ addon
- (and NSH hooks) was contributed by Uros to accomplish just that.
- * sched/sched_waitpid() and include/sys/wait.h: Provides a simple and
- very incomplete implementation of waitpid(). waitpid() is only available
- if CONFIG_SCHED_WAITPID is defined in your configuration file.
- * sched/atexit.c and sched/exit.c: The atexit function is not frequently
- used. In order to save a few bytes, it is now conditioned on
- CONFIG_SCHED_ATEXIT. It your application is currently using atexit(),
- you will need to add CONFIG_SCHED_ATEXIT to your configuration file.
- * drivers/net/slip.c: Add a SLIP driver (untested on initial check-in).
- * configs/olimex-lpc1766stk/slip-httpd: An example that uses SLIP to
- provide a serial-port based THTTPD web server.
- 6.0 2011-03-21 Gregory Nutt <gnutt@nuttx.org>
- * lib/lib_fopen(): fopen() was not returning the correct errno value
- when the underlying open() failed.
- * include/net/uip/uip-arch.h: The uIP interface has been extended
- slightly so that drivers can be concurrenly filling and sending
- packet buffers. This capability was needed by the SLIP driver.
- * drivers/net/slip.c: Several corrections and some re-design of
- of the driver.
- * apps/ChangeLog.txt: the apps/ directory now has its own ChangeLog.
- * configs/vsn:
- - IDLE LED blinking fix
- - Added board power off function
- * arch/arm/src/stm32/stm32_gpio.c and stm32_internal.h: Fixed
- PullUp/Down Input Configuration.
- * arch/arm/src/lpc17xx/lpc17_serial.h: Now supports Auto-RTS and
- Auto-CTS modes. This is needed to support SLIP.
- * drivers/net/slip.c: SLIP is now basically functional on the
- LPC17xx with some caveats as described in the TODO list under
- LPC17xx.
- * arch/x86/include/i486/irq.h: Fix irqrestore() macro... it was not
- correctly re-enabling interrupts.
- * arch/x86/src: Fix numerous problems with i486/QEMU context
- switching. Basically, the logic was missing the cases to handle
- the differing stack frames when a priority change occurs and when
- no priority change occurs.
- * configs/qemu-i486/ostest and nsh: The QEMU i486 port is complete.
- it now passes the OS test and supports the NuttShell (NSH).
- * misc/drivers: Created a new directory to hold non-BSD licensed
- drivers that may be added into NuttX via an installation script.
- * drivers/usbhost/usbhost_rtl8187.c: A decision was made to
- incorporate code taken from the Linux kernel. That changes the
- licensing on this module to GPL. To avoid licensing contamination,
- this driver was moved to misc/drivers/rtl8187x *prior* to adding
- any of the GPL logic. There is an INSTALL.sh script at the location
- where the GPL driver(s) can be re-installed into the NuttX source
- tree. By re-installing the driver, you agree to the GPL licsensing
- and all of its implications.
- * Makefile, apps/Makefile, tools/configure.sh: Add logic to copy
- configs/<board>/<config>/appdir to apps/.config and to simply the
- application configuration logic.
- * examples/nsh and apps/nshlib: Move the core NuttShell (NSH) logic
- out of the exemples directory and into the apps/ directory where
- it belongs.
- * apps/Makefile and configs/*/appconfig: Use '=' as the delimiter
- instead of '/' so that sub-directories in apps/ can be used.
- * apps/vsn: Move all VSN apps to apps/vsn.
- * nuttx/examples moved to apps/examples
- 6.1 2011-04-11 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/include/lpc17xx/irq.h and arch/arm/src/lpc17xx/lpc17_gpio*.c:
- Fix several bugs in the GPIO interrupt logic. Submited by
- Decio Renno.
- * Initialization for the CONFIG_APPS_DIR is now supported during the
- earlier, 'context' build phase.
- * arch/arm/src/lpc17_gpioint.c: Finish coding of the LPC17xx GPIO
- interrupt logic.
- * net/netdev_unregister.c: Add capability to un-register a network
- device.
- * drivers/mmcsd/mmcsd_sdio.c: extra effort to correctly handle cases
- without the SDcard (but one issue still exists in STM32)
- * arch/arm/src/stm32/stm32_tim.*: Added basic timer support TIM1..TIM8
- with output PWMs and interrupt logic
- * config/vsn/src: Added basic support for Sensor Interface (GPIO and
- PWM Power Output, and the sif utility program)
- * fs/: Reorgnize header so that file systems can be built outside
- of the nuttx source tree
- * apps/namedapp/binfs.c: Create a tiny filesystem that can be used
- to show the internal named apps under /bin.
- * fs/fs_opendir.c: Correct an error that occurs when a file system is
- mounted in the root directory. This was discovered while mounting
- the named app's /bin directory.
- * lib/: Move all source files into a subdirectory of lib/ named after
- the header file in which the library function is prototyped.
- * sched/ and lib/pthread/: Move pthread attribute-related interfaces
- from sched/ to lib/pthread where they more appropriately belong.
- * sched/ and lib/semaphore/: Move some semaphore-related interfaces
- from sched/ to lib/pthread where they more appropriately belong.
- * syscall/: The beginnings of an optional syscall Kernel interface.
- * tools/mksyscall.c: Add a tool that will auto-generate syscall proxies
- and stubs from a comma-separated-value (CSV) data file.
- * arch/arm/src/cortexm3/mpu.h: Add a header file describing the Cortex-M3
- MPU registers.
- * Numerous modifications to the build system. Various people have reported
- build problems since the re-organization and release of NuttX-6.0. I am
- unable to replicate the build problems in my environment, but the changes
- have be incorporated in hope of correcting the build issues in other
- environments.
- * drivers/i2c/st_lis331dl.c: I2C-based driver for the LIS331DL MEMS
- motion sensor. Contributed by Uros Platise.
- * Makefile: The NuttX build system will now supported building NuttX as two
- separately linked images: (1) a kernel-mode RTOS image, and (2) a user-
- mode application image that communicates to the RTOS kernel via system
- calls. A lot more still must be done.
- * user_initialize(): Eliminated the user_initialize() initialization hook.
- It is difficult to maintain and redundant: Board level initialization
- an up_initialize() provide the same kind of capability.
- * arch/*/include/*/type.h: On some compilers, char defaults as unsigned.
- Explicitly add signed to integer types if signed is what is required.
- * arch/*: For all architectures -- Global register state save structure
- (usually called g_current_regs) should be marked volatile; Added general
- capability to support nested interrupts (not fully realized for all
- architectures).
- * sched/task_create.c: Add support for starting kernel-mode thread.
- * drivers/usbdev/usbdev_serial.c: Fix reported by Sheref Younan. USB
- was being reset after serial driver was closed. As a result, you could
- no reopen the serial driver.
- * configs/lpcxpresso-lpc1768: Add a board configuration for the Embedded
- Artists LPCXpresso LPC1768 board.
- 6.2 2011-05-06 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lpc17xx/lpc17_gpioint.c: Correct errors in logic that maps
- and IRQ number into a register bit number.
- * Makefile: Fix an error introduced in the top-level Makefile in NuttX-6.1.
- This error only shows up if you have a /tftpboot directory. Then the
- make will fail with an obscure error about not being able to stat pass2.
- * configs/lpcxpresso-lpc1768/nsh: Add an NSH configuration for the
- LPCXpresso board.
- * configs/*/ld.script: Removed 'sh_link not set for section .ARM.edix' for
- a few of the builds. In you have this warning, it can be removed with the
- following change to the ld.script file:
- + __exidx_start = ABSOLUTE(.);
- .ARM.exidx : {
- - __exidx_start = ABSOLUTE(.);
- *(.ARM.exidx*)
- - __exidx_end = ABSOLUTE(.);
- } >sram
- + __exidx_end = ABSOLUTE(.);
- * arch/arm/src/lpc17xx: Correct some typos/bugs in configuration of LPC17xx
- UART2 and UART3.
- * nuttx/clock.h: Replace all references to the global variable g_system_timer
- with clock_systemtimer() (currently just a macro that that returns g_system_timer).
- * lib/string/strrch.c: Would fail if the searched-for character were the first
- character in the string.
- * tools/version.sh and mkversion.c: Tools to manage a NuttX version number
- file
- * sched/clock_getutc() and lib/time/lib_time.c: Add support for 1 second UTC
- interface.
- * net/net_dup2.c and include/nuttx/net.h: The conditional compilation for
- '#if CONFIG_NFILE_DESCRIPTOR > 0' was wrong in both of these files. It should
- be '#if CONFIG_NFILE_DESCRIPTORS > 0'. This causes a dup2() failure in THTTPD
- and a failure to get a CGI page. The consequence can be a very serious bug!
- * configs/lpcxpresso-lpc1768/usbstorage, thttpd, and dhcpd: Add an USB storage,
- THTTPD web server, and DHCP server configurations for the NXP LPCXpresso board.
- * drivers/lcd/ug-9664hswag01.c and ssd1305.h: Add support for Univision UG-9664HSWAG01
- OLED with Solomon Systech SD1305 LCD controller.
- * configs/lpcxpresso-lpc1668/nx: Add a NX graphics configuration for the LPCXPRESO
- board.
- * graphics/nxglib/nxglib_nonintersecting.c: Fix some single bit errors in
- calculation of non-intersecting regions. This was causing an anomaly
- in examples/nx in column 0.
- * drivers/mtd/rammtd.c: Added a RAM based MTD driver. This RAM driver simulates
- FLASH and is useful for testing purposes.
- * arch/arm/src/arm/up_head.S: Fix backward conditional compilation. This cause
- the configs/mx1ads configuration to fail to build but does not appear to affect
- any other ARM9 build.
- * fs/nxffs: Adding a tiny, wear-leveling FLASH file system for NuttX. This
- file system is intended to be small and will have some limitations. The
- implementation is incomplete on initial checkin.
- * apps/examples/nxffs and configs/sim/nxffs: Add a test a a configuration that
- will be used to verify NXFFS.
- * fs/fat/fs_fat32.c and fs_fat32util.c: Incorpated two bugs with fixed provided
- by Sheref Younan. Thanks!
- * fs/nxffs: After a couple of weeks of testing and bug fixes, NXFSS appears
- stable and functional.
- 6.3 2011-05-15 Gregory Nutt <gnutt@nuttx.org>
- * Remove clock_getutc(). It is replaces with clock_gettime(CLOCK_ACTIVETIME).
- Add other RTC related changes provided by Uros Platise.
- * arch/arm/src/stm32/stm32_flash.c: Add support for access to on-chip STM32
- FLASH; beginning of integration with NXFFS (Uros Platise).
- * arch/mips: Added directory structure for PIC32 support
- * configs/pcblogic-pic32mx: Add directory structure for PCB Logic PIC32MX board
- * apps/include: Move include/apps to apps/include. A symbolic link is created at
- build time
- * Makefile: Removed support for Pascal pcode interpreter. Support for that
- interpreter has been moved to apps/interpreter/Makefile.
- * tools/mkdep.sh: Should not report an error if there are no files on the command
- line. This happens normally in certain configurations.
- * drivers/usbhost: Sheref Younan reported an error in the error handling when
- connection to a USB device fails. In certain fail cases, the logic would try
- to free the device class instance twice, the first was okay, but the second
- caused a crash.
- * graphics/nxbe/nxbe_colormap.c: Fix error noted by Bassem Fahmy. The function
- nxbe_colormap was change to nxbe_configure... apparently "search-and-replace"
- error. This error was not noticed before because most NX platforms do not use
- colormapping.
- * arch/rgmp and configs/rgmp. Add 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.
- * lib/stdio/lib_fclose.c: Must flush all buffered data when the file is closed.
- Instead, it was discarding the buffered data.
- * lib/stdio: All output stream logic was modified to support CONFIG_STDIO_LINEBUFFER.
- If standard C buffered I/O is enabled (CONFIG_STDIO_BUFFER_SIZE > 0), then this
- option may be added to force automatic, line-oriented flushing the output buffer
- for putc(), fputc(), putchar(), puts(), fputs(), printf(), fprintf(), and vfprintf().
- When a newline is encountered in the output string, the output buffer will be
- flushed. This (slightly) increases the NuttX footprint but supports the kind of
- behavior that people expect for printf.
- 6.4 2011-06-06 Gregory Nutt <gnutt@nuttx.org>
- * lib/drivers/cc1101: Add initial, functional CC1101 wireless driver
- (contributed by Uros Platise)
- * arch/mips and configs/pcblogic-pic32mx: The MicroChip PIC32MX port is now
- code complete and ready to begin testing. Unfortunately, it looks like
- testing will be delayed due to tool issues (My PICkit 2 will not work the
- the MPLAB debugger on PIC32; I will need to get a PICkit 3).
- * drivers/net/e1000.c/h: A PCI-based E1000 Ethernet driver submitted
- by Yu Qiang.
- * lib/net/lib_inetaddr.c: An implementation of the inet_addr() function
- submitted by Yu Qiang.
- * arch/arm/src/lpc31xx and arch/arm/include/lpc31xx: Renamed from lpc313x
- to make name space for other famiy members.
- * arch/arm/*/lpc31xx: Added support for the LPC315x family (untested).
- * sched/task_exithook.c: Functionality performed when a task exits or is
- deleted has been moved to a common file task_exithook.c. Now exit()
- functionality (like flushing I/O and calling registered atexit()
- functions, etc.) will be performed when a task is deleted as well.
- * mm/: Added support for CONFIG_MM_SMALL. Each memory allocation has a
- small allocation overhead. The size of that overhead is normally
- determined by the "width" of the address support by the MCU. MCUs
- that support 16-bit addressability have smaller overhead than devices
- that support 32-bit addressability. However, there are many MCUs
- that support 32-bit addressability *but* have internal SRAM of size
- less than or equal to 64K. In this case, CONFIG_MM_SMALL can be
- defined so that those MCUs will also benefit from the smaller, 16-
- bit-based allocation overhead.
- * lib/string/lib_strndup.c: Add standard strndup() library function.
- * net/getsockname.c: Added standard getsockname() to return the local
- address associated with a socket.
- * lib/stdio/lib_asprintf.c: Add asprintf()
- * configs/olimex-lpc1766stk/ftpc: Add a configuration to support
- testing of the FTP client shell.
- * fd/fs_fdopen.c and net/net_checksd.c: Add support so that fdopen may
- be used with socket descriptors.
- * net/recvfrom.c: Fix an error found in receiving small files via FTP:
- The small file is received a buffered in the readahead buffer, then the
- socket is disconnected. When the app calls recvfrom, the socket is
- already disconnected and the buffered data is stranded. Now, recvfrom
- will continue to return success after the socket is disconnected until
- the readahead buffer is drained.
- * olimex-lp1766stk/ftpc/defconfig: Many configurations have the MTU
- (CONFIG_NET_BUFSIZE) set to very small numbers, less then the minimum
- MTU size that must be supported -- 576. This can cause problems in
- some networks: CONFIG_NET_BUFSIZE should be set to at least 576 in
- all defconfig files. This has only been fixed in this defconfig file.
- 6.5 2011-06-21 Gregory Nutt <gnutt@nuttx.org>
- * arch/avr/src/avr and arch/avr/include/avr: Adds general support for
- the Atmel 8-bit AVR family.
- * arch/avr/src/atmega and arch/avr/include/atmega: Adds support for the
- Atmel AVR ATMega family.
- * arch/avr/src/at90usb and arch/avr/include/at90usb: Adds support for the
- Atmel AVR AT90USB family.
- * configs/micropendous3: Adds a board configuration for the Opendous
- Micropendous 3 board. This board may be populated with several different
- members of the Atmel AVR AT90USB family.
- * configs/amber: This is a placehold for the Atmel ATMega128 Amber Web
- Server from SoC Robotics. Not much present in this directory on initial
- check-in.
- * configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 board
- that features an Atmel AT90USB1286 MCU.
- * fs/fat: Offsets, sector numbers, etc. need to be off_t, not size_t. size_t
- is intended to be the maximum size of a memory object, not a file offset. This
- does not make any difference except on systems (like the AVR) where size_t
- is only 16-bits.
- 6.6 2011-07-11 Gregory Nutt <gnutt@nuttx.org>
- * drivers/mtd/ramtron.c, net/net_checksd.c, fs/fs_fdopen.c, and include/nuttx/mii.h:
- Several structural changes made to get a clean compile under the ez80 ZDS-II
- toolchain (no design changes).
- * drivers/usbhost/usbhost_storage.c: Incorpated bugfixes reported by Sheref H.
- Younan: (1) Read capacity logic read largest block, not the number of blocks
- and was, therefore, off by one, and (2) Some devices stall of get Max LUN request
- if they support only a single LUN. Logic now assumes a single LUN if the get
- Max LUN request fails.
- * include/nuttx/arch.h, lib/stdio/lib_libvsprintf.c, lib/stdio/lib_fputs.c: Add
- a new configuration option to support extracting strings from FLASH or EEPROM
- or other memories where the string data cannot be accessed by simply de-referencing
- a string pointer.
- * arch/sim/src/up_romgetc.c: Used to test the basic logic to access strings
- without directly de-referencing a string pointer.
- * arch/avr/src/avr/up_romget.c: Used to access strings that lie in the first
- 64K of FLASH (But I still haven't figured out how to get strings to reside in
- FLASH without using the PROGMEM attribute).
- * configs/teensy/src/up_spi.c: Correct reading of SD CD and WP pins (was reading
- the wrong register. AVR SPI now appears to be functional.
- * arch/avr/src/at90usb/at90usb_usbdev.c: Correct USB initialization. Interrupts
- were being enabled BEFORE the interrupt handler was attached.
- * configs/sure-pic32mx: Add a configuration for the Sure Electronics, "Advanced USB
- Storage Demo Board," Model DB-DP11215 (http://www.sureelectronics.net/goods.php?id=1168).
- This board features the MicroChip PIC32MX440F512H MCU. (Untested on initial
- check-in).
- * configs/stm3210e-eval/nsh2: Add another NSH configuration for the STM32 with
- some different properties.
- * CONFIG_NSH_CONDEV: Add a configuration option to allow using a different character
- device (such a a different UART) for the NSH interface. This allows, for example,
- debug output to come from the console device while using another device for NSH.
- There are some issues on initial check-in: NuttX doesn't have termios and the
- console device has special properties that make using NSH awkward. Examples:
- No CR-LF expansion, no character echoing, no command line editting.
- * arch/arm/src/stm32/stm32_lowputc.c and stm32_serial.c. Correct several bugs
- involving serial port configuration. These bugs are only critical if you
- are trying to using multiple UARTs on STM32.
- * configs/stm3210e-eval/src/up_lcd.c: Add a driver for the STM3210E-EVAL's LCD.
- * configs/stm3210e-eval/nx: Add NX configuration for the STM3210E-EVAL.
- * configs/nuttx/arch.h (and arch/arm/src/stm32, configs/*/src/up_buttons.c):
- Standardize interfaces exported for button support and button interrupts.
- * configs/stm3210e-eval/src/up_buttons.c: Add interrupting button support.
- Also fixes a few errors in STM3210E-EVAL button decoding.
- * configs/stm3210e-eval/buttons: Add a configuration to exercise STM3210E-EVAL
- buttons.
- * arch/arm/src/stm32/stm32_gpio.c: GPIO interrupt handling for pin
- numbers were being aliased: 5-9 together and 10-15 together. Extended
- the logic to peform decoding of GPIO interrupts and unique dispatching
- for all 16 pins.
- * configs/stm3210e-eval/nxtext: Add a configuration for the apps/examples/nxtext
- example. This example 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.
- * arch/arm/src/common/up_checkstack.c: ARM stack overflow checking submitted
- by Hal Glenn.
- * arch/arm/src/lpc17xx: Changes to compile successfully with no serial console
- (also submitted by Hal Glenn).
- * graphics/nxfonts/nxfonts_convert.c: Fixed a critical bug that caused
- when renderer some fonts with bits-per-pixel > 8
- * graphics/nxbe/nxbe_move.c: Fixed an error in the graphics move logic (This
- was a previously untested interface). Basically, there is some confusion
- between use of (x,y) as a relative offset or as an absolute position.
- * graphics/nxbe/nxbe_close.c: Fixed an important graphics system bug:
- When a window is closed, the display was not being updated. The old
- window graphic was left on the display for a time.
- 6.7 2011-08-02 Gregory Nutt <gnutt@nuttx.org>
- * Makefile: Added a export target that will bundle up all of the NuttX
- libraries, header files, and the startup object into an export-able
- tarball.
- * arch/arm/src/lpc17xx/lpc17_can.h: Correct some typos in the CAN
- register definitions.
- * drivers/serial/serialirq.c: Correct an error that can occur if the
- serial RX buffer becomes full. Data is now discarded in that case;
- before, leaving data in the hardware would cause infinite interrupts
- one most MCUs since you must read the data in order to clear the
- interrupt.
- * arch/arm/src/lpc17xx/lpc17_can.c: Added a CAN driver contributed by
- Li Zhuoyi (Lzyy).
- * include/stddefs.h and sys/types: Added type wchar_t.
- * fs/fat/fat_fat32dirent.c: Move all FAT directory operations to this
- new file; Implement VFAT long file name support.
- * fs/fat/fat_fat32dirent.c: The configuration CONFIG_FAT_LCNAMES has
- been around for some time but never tested until now. This setting
- will mimic the NT 8.3 file name behavior: File names or extensions
- may be all upper or all lower case (but not mixed). If
- CONFIG_FAT_LCNAMES is not selected, all filenames are strictly upper
- case.
- * configs/stm3210e-eval/nsh2: Console is back on UART1; Added
- examples/nx as an NSH "built-in" command as a demonstration.
- * fs/fat/fs_fat32dirent.c: Fix an important bug in the directory
- allocation (fat_allocatedirentry()). I looks like it could be
- initializing the wrong sectors! NOTE: This function was in
- fs_fat32utils.c in earlier releases.
- * arch/arm/src/stm32_sdio.c: Correct an important DMA-related bug;
- SDIO transfer completion events and DMA completion eventes were
- not being coordinated correctly.
- * configs/stm3210e-eval/nsh2: Enable FAT long file name support
- * sched/sem_timedwait.c: Add the standard sem_timedwait() interface.
- * graphics/nxfonts/nxfonts_getfont.c, nxfonts_bitmap.c,
- Makefile.source, and include/nuttx/nxfonts.h: Support for multiple
- fonts included. A new interface, nxf_getfonthandle() takes a font
- ID and returns a handle that is now used at all other font interfaces
- to specify which of the multiple fonts to use.
- * arch/arm/src/lpc17xx/lpc17_syscon.h: Fix typo (reported by Li Zhuoyi).
- * configs/stm3210e-eval/nsh2: Extended to support two new commands:
- 'msconn' will connect the USB mass storage device; 'msdis' will
- disconnect the USB storage device.
- * tools/bdf-converter.c. This C file is used to build the bdf-converter
- program. The bdf-converter program be used to convert fonts in Bitmap
- Distribution Format (BDF) into fonts that can be used in the NX graphics
- system.
- * include/nuttx/nx: Move all NX header files from include/nuttx to
- include/nuttx/nx.
- * drivers/usbdev/usbdev_usbstorage.c and arch/arm/src/stm32/stm32_usbdev.c:
- Correct a memory leak when the USB mass storage driver is connected and
- then disconnected from the target. The write requests were not being
- freed. NOTE that the unregister logic in the STM32 needed to call
- stm32_reset() in order to return the write requests to the USB mass
- storage driver; it is possible that a similar but could exist for other
- architectures.
- * graphics/nxfonts/nxfonts_*.h: Add serveral more new fonts
- * arch/z80/src/ez80/ez80_serial.c: Fix some errors in serial driver
- setup for UART1 (submitted by Paul Osmialowski).
- * drivers/input/tsc2007.c and include/nuttx/input/*: Add a generic NuttX
- touchscreen interface. Add a driver for the TI TSC2007 touchscreen
- controller.
- * graphics/nxglib/lcd and fb: Add low level routines to set single pixels.
- * lib/math/lib_b16atan2.c: Add a fixed precision atan2() function
- * graphics/nxglib/nxglib_splitline.c: Add logic to divide a wide line into
- trapezoidal components.
- * graphics/nxmu/nx_drawline.c, graphics/nxsu/nx_drawline.c,
- graphics/nxtk/nxtk_drawlinewindow.c, graphics/nxtk/nxtk_drawlinetoolbar.c:
- Add new line drawing interfaces (untested).
- 6.8 2011-08-19 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lpc17xx/chip.h: Fix some chip memory configuration errors
- for the LPC1764, LPC1756, and LPC1754 (submitted by Li Zhuoy (Lzyy))
- * arch/arm/src/lpc17xx/lpc17_can.h: Revised CAN driver submitted by
- Li Zhuoy (Lzyy). The driver now supports both CAN1 and CAN2.
- * arch/arm/sim/up_lcd.c: Add a simulated LCD driver.
- * configs/stm3210e-eval/nxlines: Added a configuration to build
- examples/nxlines.
- * arch/graphics: Used apps/examples/nxlines to (finally) verify the NX
- trapezoid drawing functions and (wide) line drawing functions.
- * arch/rgmp and configs/rgmp. Yu Qiang has ported RGMP to the OMAP4430 (arm)
- pandaboard and release the new RGMP 0.3 version. The main changes are: (1)
- Separate configs/rgmp/x86 and configs/rgmp/arm configuration directory, and
- (2) Extract architecture dependent code in arch/rgmp/include and
- arch/rgmp/src into corresponding x86/ and arm/ directories.
- * arch/arm/src/kinetis, arch/arm/include/kinetis, configs/kwikstick-k40:
- Add a directory structure to support the port to the Kinetis KwikStik-K40.
- There is no real substance in the initial check-in; only the directory
- structure and skeleton files (Code complete on 8/15/11).
- * arch/arm/include/armv7-m, arch/arm/src/armv7-m, etc.: Rename all cortexm3
- directories and files to armv7-m; Change name of of all CORTEXM3 constants
- to ARMV7M. This is a major namespace change needed to cleanly support the
- ARM Cortex-M4 which is also in the ARMv7 M Series (specifically, ARMv7E-M).
- * sched/sig_initialize.c, sig_received.c, and mq_waitirq.c. 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. In
- the first two files, errors would prevent proper allocation of signal-related
- structures from interrupt handlers. In the second, there was missing
- "clean-up" logic after a signal occurred, leaving the message queue in
- a bad state and resulting in PANICs. All are important. (submitted by
- hkwilton).
- * arch/arm/src/kinetis: Added header files defining all Kinetis registers
- and bit fields within all Kinetis registers.
- * configs/twr-k60n512: Add support for the Kinetis K60 Tower board
- (TWR-K60N512).
- * drivers/can.c: Fixed a semaphore overflow problem in the CAN driver
- (reported by Li Zhouy (Lzyy)).
- * 8/18/2011: The basic port to the FreeScale Kinetis TWR-K60N512 board is
- now functional.
- * configs/twr-k60n512: Add Kinetis TWR-K60N512 NSH configuration.
- * drivers/analog and include/nuttx/analog: Add ADC driver infrastructure
- and TI ADS1255 driver developed and submitted by Li Zhouy (Lzyy)).
- * arch/arm/stm32/stm32_sdio.h and drivers/mmcsd/mmcsd.c: Add logic to
- multiplex usage of the GPIO pins (contributed by Uros Platise).
- * configs/twr-k60n512/nsh: Added and verified a NuttShell (NSH)
- configuration for the Freescale, Kinetis TWR-K60N512 board.
- 6.9 2011-09-11 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/kinetis/kinetis_sdhc.c: SDHC driver for Kinetis parts.
- Initially check-in is just a crude port of the STM32 SDIO driver.
- Much more work is needed.
- * graphics/, include/nuttx/nx: Add new NX interfaces for drawing
- circles -- both circular outlines and filled circles.
- * graphic/nxglib/nxglib_spitline.c: Add a "fudge factor" that eliminates
- some problems for rendering nearly horizontal, wide lines. Hmm...
- but I suspect this fudge factor also leads to new problems rendering
- very thin, nearly horizontal lines. More tuning is needed.
- * drivers/analog, include/nuttx/analog, arch/arch/src/lpcxx: (1) Add
- updates to the ADS1255 driver, (2) fix errors from my last merge (sorry),
- (3) Add DAC infrastructure, (4) add AD5410 DAC driver, and (5) add
- LPC17xx ADC and DAC drivers. All contributed by Li Zhuoyi (Lzyy).
- * tools/mkexport.sh: Extended the script that implements the top-level
- 'make export' logic. The script now also finds and bundles up all of
- the architecture-specific header files as well.
- * drivers/arch/arm/src/stm32/stm32_i2c.c: Add a reset to the I2C
- initialization logic to prevent spurious interrupts when the I2C
- interrupts are enabled (submitted by Uros Platise).
- * Scripts/makefiles/documents. Several adjustments, corrections and
- typo fixes so that NuttX will build correctly on FreeBSD using the
- ASH shell (submitted by Kurt Lidl).
- * drivers/mtd/flash_eraseall.c: Add a callable function that accepts
- the path to a block driver and then erases the underlying FLASH memory
- (assuming that the block driver is an MTD driver wrapped in the FTL
- layer). Hmmm... this is probably not the best long term solution;
- flash_eraseall() should be a user-callable function that operates
- one driver interfaces; not an internal, OS function that operates
- on directly on block drivers.
- * drivers/bch: Fixed some important bugs in the BCH driver (noted by
- Li Zhuoyi (Lzyy)). This would have effected any large reads or writes
- (larger than the hardware sector size).
- * arch/*/src/Makefile: Use of -print-libgcc-file-name to get path to
- libgcc.a may select the wrong libgcc.a if a multilib toolchain (like
- CodeSourcery) is used. This can be a serious problem and can cause
- crashes on Cortex-M3 if the ARM libgcc is used, for example. The fix
- is to include ARCHCPUFLAGS on the gcc command line when asking it to
- -print-libgcc-file-name.
- * lib/time/lib_gmtimer.c: Correct several calculations that could lead
- to errors in dates.
- * drivers/pm: Add the beginnings of a NuttX power management sub-system.
- * arch/arm/src/stm32/stm32_irq.c: Fix a error introduced in 6.8.
- Timeout calculation uses clock_settime() instead of clock_gettime().
- Pretty gross error, but actually it works with the side effect of setting
- a bad time.
- * drivers/mtd/at24xx.c: Driver for I2C-based at24cxx EEPROM submitted by
- Li Zhuoyi (Lzyy).
- * arch/arm/src/lpc17xx/lpc17_i2c.c: I2C driver for the NXP LPC17xx family
- submitted by Li Zhuoyi (Lzyy)
- * arch/arm/src/stm32_i2c.c: Correct two issues with the STM32 I2C driver:
- (1) Clocking needs to be based on PCLK1, not HCLK and fast speed settings
- need some additional bits; and (2) Correct a hang that will occur on
- I2C1 if FSMC is also enabled.
- * drivers/sensors/lm75.c and include/nuttx/sensors/lm75.h: Add an LM-75
- temperature sensor driver.
- * configs/stm3210e-eval/src/up_lm75.c: Add support for the LM-75 on the
- STMicro STM3210E-EVAL board.
- * sched/clock_gettime.c: Correct an error in the tv_nsec calculation
- that happens only config CONFIG_RTC is enabled.
- * arch/arm/src/stm32/stm32_i2c.c: Correct some bugs related to waiting
- for the I2C STOP condition to be cleared.
- 6.10 2011-10-06 Gregory Nutt <gnutt@nuttx.org>
- * lib/stdio/lib_fopen.c: Fix an error in fopen(); the file pointer was not
- being positioned at the end of the file when the "a" and "a+" modes are
- used. There are other issues with the "a+" modes (see the top-level TODO
- list).
- * drivers/usbdev/cdc_serial.c and include/nuttx/usb/cdc.h and cdc_serial.h:
- Add support for the CDC ACM serial device class.
- * fs/fat/fs_fat32.c: Fix a critical bug in the write logic: It a tiny write
- cross a sector boundary, then two sector writes will occur. The first part
- in the first sector may be written to the wrong sector number.
- * fs/fat/fs_fat32util.c: Fix a stray write into the FAT (always sector 964 on
- FAT32). This bug will cause some lost chains. I'm sure this bug could
- corrupt files but at present, the only thing I have seen is that before
- fixing this bug, the Windows chkdsk utility would report these lost chains.
- * arch/arm/src/stm32/stm32_i2c.c: Driver can now operate in a faster polled
- mode (at the expense of using more cpu cycles).
- * arch/arm/src/stm32/stm32_i2c.c: Add trace debug capability. Enabled with
- CONFIG_I2C_TRACE.
- * arch/arm/src/stm32/stm32_i2c.c: Fix another bug where I2C conflicts with FSMC
- being enabled. That time at the tail end of the transaction where there is
- an unfinished stop condition.
- * sched/mq_timedreceive.c and sched/mq_timedsend.c: The count of threads
- waiting on the message queues was not being decremented after a timeout.
- This would cause the accounting logic to become out of sync and the, perhaps,
- an assertion to be triggered. This is an important bug and fixes a
- potential crash when using mq_timedreceived() and mq_timedsend().
- * sched/mq_sndinternal.c: Related to the above, the send logic was incrementing
- the wrong counter when it waited as part of the mq_timedsend.c logic.
- * fs/fat: Fix an error in the long file name logic: If the long file name
- is an even multiple of 13 bytes in length, then it should not include a
- NULL terminating character. Fix contributed by Kaushal Parikh.
- * configs/sim/nx11: Created a separate configuration to build the NX
- example using the a simulated framebuffer driver on an X11 window. This
- example has been verified on Ubuntu 9.09 (it does not work on Cygwin).
- * arch/sim/src/up_touchscreen.c and up_x11eventloop.c: Adds support for a
- simulated NuttX touchscreen device using mouse/pointer feedback from an
- x11 window.
- * configs/sim/touchscreen: Adds a configuration to verify the simulated
- touchscreen driver (Does not work on Cygwin).
- * configs/sam3u/touchscreen: This is the configuration that I plan to use
- to verify the SAM3U-EK touchscreen driver. However, as of this writing,
- there is no touchscreen driver for the board.
- * CONFIG_RTC_HIRES: Add an option to support either a high-resolution RTC
- that completely replaces the system timer tick but may overflow and lose
- time when the MCU is off and also for a low-resolution (1 sec/tick) RTC
- that can run until 2106 with no overflow. But in this latter case, higher
- resolution time must come from the system timer.
- * CONFIG_SYSTEM_UTC: Removed support for the UTC system timer. It just
- doesn't do enough to be worth the CPU cycles or the complexity.
- * CONFIG_SYSTEM_TIME16: Added support for an optional 64-bit system timer.
- * fs/fat/fs_fat32util.c: Add support for FAT date/time stamps; Enabled via
- CONFIG_FS_FATTIME.
- * arch/arm/src/sam3u/sam3u_spi.c: Add an SPI driver for the AT91SAM3U.
- * drivers/input/ads7843e.c and include/nuttx/input/ads7843e.h: Add a
- driver for the TI ADS7843E touchscreen controller.
- * fs/nxffs/nxffs_open.c: Fix an error when a file is open for writing; since
- the file will get deleted it is already exists, there must be a check if
- there are other open references to the file.
- * arch/arm/src/stm32/stm32_sdio.c: Fixed an error where during SDHC
- initialization interrupts were not being re-enabled. Caused more subtle
- errors than you would think.
- * arch/arm/src/stm32/stm32_i2c.c: Fixed an error where I2C timeouts appeared
- to be successful transfers.
- * configs/sim/nsh2: Add another simulated NSH configuration. This one
- supports X11 graphics, C++, and exercises graphic functions as built-in
- commands.
- 6.11 2011-11-12 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/stm32/Make.defs: Don't build stm32_rtc.c if CONFIG_RTC is not
- selected. Doing so will cause errors if other configuration dependencies
- are not met.
- * configs/stm3210e-eval/src/up_lcd.c: Color corrections for SPFD5408B LCD
- do not work with R61580 LCD.
- * configs/pic32-starterkit: Beginning of a configuration for the Microchip
- PIC32 Ethernet Starter Kit. Hmmm.. I don't have a clue how to test this
- with no serial port?!
- * lib/stdio/lib_fclose.c: fclose() always returns an error (EOF) when it
- closes a read-only file. This is because it calls flush() which will
- fail on read-only files. No harm is done other that a bad value is
- returned.
- * arch/sim/src/Makefile: Correct build issue for sim/nsh2 target. Old
- libboard.a was not being cleaned.
- * arch/mips/src/pic32mx/pic32mx-gpio*.c: Add GPIO support for the PIC32MX.
- * configs/sure-pic32mx/src/up_leds.c and up_buttons.c: Add button and LED
- support for the Sure Electronics PIC32MX board.
- * configs/ea3152: Add a configuration for the Embedded Artists LPC3152
- daughter board (with the same base-board used with configs/ea3131)
- * graphics/nxmu/nx_getrectangle.c, graphics/nxsu/nx_getrectangle.c,
- graphics/mxtk/nx_getwindow.c, graphics/nxmu/nx_gettoobar.c: New
- interfaces to read from graphics memory
- * graphics/nxbe/nxbe_bitmap.c: Fix an error in the error handling that
- can cause valid bitmaps to fail to render.
- * include/nuttx/video/rgbcolors.h: Fix errors in some 16- and 8-bit color
- conversion macros.
- * tools/incdir.sh: Fix issues when g++ is used as the compiler. It was
- not being recognized and handled properly.
- * graphics/nxsu/nx_releasebkgd.c: Fix a bad cast that was causing
- problems with the background window was released.
- * fs/nxffs/nxffs_pack.c: Correct a critical bug in the NXFFS file system:
- When repacking the filesystem, there was a missing check to see if an
- inode structure would fit at the end of a block. This is a rare case
- if the block size is large, but can be common for tiny block sizes
- and results in a crash and file system corruption.
- * fs/nxffs/nxffs_initialize.c: Fix an initialize error. If the FLASH
- is full on power-up, NXFFS will fail to initialize correctly.
- * fs/nxffs/nxffs_write.c and nxffs_pack.c: Fix an error that can occur
- when attempt to write to FLASH volume that is completely full but
- has no value inodes on it.
- * drivers/mtd/at24xx.c: Now supports a configurable block size that
- supports using "clusters" of AT24 pages as blocks. This allows bigger
- block sizes and more efficient use of EEPROM when the AT24 is used to
- support a file system (such as NXFFS). (Contributed by Hal Glenn).
- * include/nuttx/video/rgbcolors.h: More fixes to RGB color conversion
- macros.
- * arch/arm/src/common/up_createstack.c and up_usestack.c: For ARM EABI
- the stack must be aligned to 8-byte boundaries. This is necessary for
- passing aligned floating point values under EABI. Fix contributed by
- David Sidrane.
- * Numerous changes and fixes to the PIC32 interrupt handing logic. The
- PIC32 port is almost complete but still not ready for prime time.
- 6.12 2011-12-06 Gregory Nutt <gnutt@nuttx.org>
- * fs/fat/fs_fat32util.c and fs_fat32.h: Logic extended to look in up to
- four partitions for a valid FAT file system.
- * drivers/input/tsc2007.c: Add support for 8-bit conversions; make sure
- that A/D converters are active before requesting conversions.
- * drivers/mmcsd0/mmcsd_sdio.c: Increase capacity variable from size_t
- to uin64_t (if available) so that SD cards with capacities greater
- than 4Gb can be supported.
- * fs/fat/fs_fat32dirent.c: The root directory structure is different
- from other directories. When formatted by Windows, it is not initialized
- at all. Some additional special handling is required to initialize the
- root directory entry to interoperate correctly with windows.
- * fs/fat/fs_fat32util.c: In fat_systime2fattime(void) should be
- clock_gettime() and not clock_gettime(). Also, there is a place where
- FAT date is used instead of FAT time. (Thanks to David Sidrane).
- * arch/arm/src/stm32 and arch/arm/include/stm32: Add support for the
- STM32F40xxx family of MCUs.
- * configs/stm3240g-eval: Add framework for the STMicro STM3240G-EVAL
- board.
- * include/sys/types.h: wchar_t is a builtin type in C++ and its
- declaration can cause errors with certain C++ compilers.
- * sched/sig_timedwait.c: Fix signal handling when the returned info
- is NULL. Before this change, it would derefence a NULL pointer
- in this case.
- * graphics/nxfonts/nxfonts_sans17x22.h and nxfonts_sans20x26.h: Add
- some very small sans serif fonts.
- * graphics/nxfonts/nxfonts_sans17x23b.h and nxfonts_sans20x27b.h: Add
- corresponding sans serif bold fonts.
- * drivers/input/ads7843e.c and tsc2007.c: Fix some errors in the poll
- setup error checking that was cloned into both drivers.
- * sched/mq_notify.c: Set errno appropriately on failures. There are
- still several message queue functions that do not set errno!
- * arch/arm/src/stm32: Fixes to several STM32F40xxx files (contributed by
- Mikhail Bychek).
- * configs/stm3210e-eval/src/up_lcd.c: Fix banding problem on the R61580
- LCD
- * configs/stm3240g-eval/ostest: The basic STM32F40xx bringup is functional
- (11/12/06) for the STM3240G-EVAL board and passes the OS test.
- * configs/stm3240g-eval/nsh: Adds a NuttShell (NSH) configure for the
- STM3240G-EVAL board.
- 6.13 2011-12-26 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/stm32f40xxx_dma.c: Add DMA support for the STM32 F4
- family (untested on initial check-in)
- * arch/arm/src/armv7-m/up_fpu.c: Add logic for saving an restoring VFP
- floating point registers on context switches (but also disable the FPU
- because CodeSourcery doesn't support hard flowing point!)
- * arch/arm/src/stm32/chip/stm32_eth.h: Add Ethernet register definitions
- for the STM32 F4.
- * arch/arm/srcm/stm32/stm32_eth.c: Adds an Ethernet driver for the STM32 F4.
- * arch/arm/srcm/stm32/stm32_dac.c and stm32_adc.c: "Skeleton" files for STM32
- DAC and ADC drivers. The actual logic will come later.
- * arch/arm/srcm/stm32/stm32_eth.c: There may be a few more lurking bugs, but
- the STM32 Ethernet driver appears to be fully functional on the STM3240G-EVAL.
- * arch/arm/srcm/stm32/stm32_eth.c: Fix an error in clearing abnormal interrupt
- events.
- * configs/stm3240g-eval/dhcpd: Add a DCHP daemon configuration for the
- STM3240G-EVAL board.
- * configs/stm3240g-eval/nettest: Add a network test configuration for the
- STM3240G-EVAL board.
- * arch/arm/srcm/stm32/stm32_rtc.c, stm32f10xxx_rtc.c, and stm32f40xxx_rtc:
- Broke out separate drivers to handle the very different RTC implementations
- in the STM32 F1 and F4 family.
- * arch/arm/srcm/stm32/stm32f10xxx_rtc.c: STM32 F4 RTC is functional (12/14/2011)
- * net/uip-arp.c: Fix compilation issue with CONFIG_NET_ARP_IPIN
- * include/nuttx/pwm.h and drivers/pwm.c: Add an interface definition and a
- "upper half" driver for PWM output.
- * arch/arm/src/stm32/stm32_pwm.c: Added a PWM "lower half" driver for the
- STM32. The initial check-in is little more than a framework for the driver.
- * arch/arm/src/stm32/stm32_usbdev.c: Corrected two CRITICAL errors in the USB
- device-side driver: (1) Handling of data overrun condition was wrong. When
- there was no further memory to accept further OUT endpoint data, the driver
- would hang with infinite interrupts; (2) the logic in setting toggle bits
- was not correct. However, this driver has functioned for a long time until
- the particular condition that revealed the bug occurred. My impression is
- that this latter bugfix also fixes some STM32 USB performance problems.
- * configs/hymini-stm32v: A configuration for the HY-Mini STM32v board contributed
- by Laurent Latil. These changes also include support for the STM32F103VCT6.
- * arch/configs/stm3240g-eval/src/up_pwm.c: Add hooks needed to use the new
- apps/examples/pwm test of the STM32 PWM driver.
- * drivers/mtd/mp25x.c: Add ability to use different SPI modes and different
- manufacturers codes. Fix a error in the wait for not busy (submitted by
- Mohammad Elwakeel.
- * arch/arm/src/stm32/stm32_can.c: Add a low-level STM32 CAN driver. (Initial
- check is incomplete). Add loopback support to the driver.
- * arch/arm/src/stm32/stm32_adc.c: The ADC is now functional. A more complete
- driver would require DMA support. I have some questions still about the
- accuracy of the timer-driven sampling.
- * configs/sure-pic32mx/nsh: The PIC32 port is (finally) functional. Add an
- NSH configuration for the Sure PIC32MX board.
- * configs/sure-pic32mx/*/defconfig. Calibrated all PIC32 delay loops.
- * configs/pcblogic-pic32mx/nsh: Add an NSH configuration for the PCBLogic
- PIC32 board.
- * Both PIC32 OS test and NSH configurations have now been verified.
- 6.14 2012-01-15 Gregory Nutt <gnutt@nuttx.org>
- * tools/Makefile.export, mkexport.sh, and configure.sh: Changes submitted
- by Mike Smith to support configuration and 'make export' on MAC OS.
- * arch/arm/src/stm32/stm32_gpio.c: Disabled interrupts while configuring
- GPIO pins so that we have exclusive access to the GPIO configuration
- registers.
- * arch/mips/src/pic32mx/pic32mx_usbdev.c: Add a USB device-side driver
- for the PIC32MX family.
- * arch/arm/src/stm32/stm32_gpio.c: Correct an error in some of the GPIO
- initialization logic. Fix submitted by Mike Smith.
- * configs/olimex-lpc1766stk/src/up_leds.c: Add new interfaces so that is
- CONFIG_ARCH_LEDS are not set, the LEDs may be controlled from application
- logic.
- * configs/olimex-lpc1766stk/src/up_buttons.c: Add support for the buttons
- on the Olimex LPC1766-STK board.
- * Makefile: Added 'apps_clean' and 'apps_distclean' target to simplify
- managing the state of the application directory while in the NuttX directory
- * Documentation/NuttXGettingStarted.html: Added a "Getting Started" Guide
- for NuttX. At present, this is just a stub and it refers to the NuttX
- top-level README.txt file which is the only, real "Getting Started" Guide
- that exists at the time being.
- * arch/arm/src/lpc17xx/lpc17_gpioint.c: Correct an value used as the lower
- end of an IRQ number range test.
- * arch/arm/src/lpc17xx/lpc17_gpio.c: Fix a integer flow problem in shift.
- This error would prevent pins > 15 from being used as interrupt sources.
- * arch/arm/src/stm32/stm32_can.c: The CAN driver has been verified in
- loopback mode on the STM3240G-EVAL board.
- * configs/stm3240g-eval/src/up_adc.c: Complete coding of ADC support for the
- potentiometer on board the STM3240G-EVAL.
- * arch/arm/src/lpc17_can.c: Several CAN driver improvements. Adds support for
- testing in loopback mode. now uses all three transmit buffers for better
- performance.
- * configs/olimex-lpc1766stk/nsh: Now supports the CAN loopback test as an
- optional "built-in" application.
- * sched/irq_attach.c: Fix an issue with disabling interrupts when they are
- detached. For the PIC32, this can't be done because there is a 1-to-many
- relationship between vector numbers and interrupt numbers or different.
- Added a new configuration option CONFIG_ARCH_VECNOTIRQ to at least flag
- the architectures that have this issue and to (at least) avoid doing
- something too wrong.
- * drivers/can.c: Fix a test for buffer full in the generic, "upper half",
- can driver.
- * arch/arm/src/lm3s: Add support for the LM3S6432S2E (Contributed by Mike Smith)
- * configs/lm3s6432-s2: Add support for the TI RDK-S2E (LM3S6432S2E) board
- (Contributed by Mike Smith)
- * configs/stm3240g-eval/src: Add APIs support to support user access to the
- LEDs
- * arch/arm/src/lpc17xx/lpc17_can.c: Add logic to change the CAN bit rate based
- on the NuttX configuration.
- * arch/arm/src/lpc17xx/lpc17_can.c: PCLK divisor is now a configuration
- option.
- * arch/arm/src/stm32/stm32_serial.c and stm32_lowputc.c: Support for
- UART4-5 and USART6 added by Mike Smith. Also includes a more flexible
- way of managing UART pin configurations.
- * include/nuttx/pwm.h, drivers/pwm.c, arch/arm/src/stm32/stm32_pwm.c: Add
- support for pulse count in order to better support stepper motors.
- * arch/arm/src/stm32/stm32_dumpgpio.c: Checking wrong register to see if
- GPIO is enabled. Also not adding the GPIO base address to several offsets.
- * configs/stm32f4discovery: Port to the STMicro STM32F4Discovery board
- (Contributed by Mike Smith).
- * fs/fat/fs_fat32util.c: On a failure to recognize a FAT file system, the
- mount logic should return -EINVAL, not -ENODEV.
- * arch/arm/src/stm32/stm32_tim.c: Support for STM32 F4 32-bit timers
- (Contributed by Mikhail Bychek)
- * lib/stdio/lib_vsprintf.c: Add support for fixed-size fields with floating
- point numbers (Contributed by Mikhail Bychek)
- 6.15 2012-02-12 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/stm32_pwm.c: Pulse count was limited to 128; now is
- (essentially) unlimited.
- * configs/stm3240g-eval/include/board.h: Input frequencies wrong for all but
- one APB2 timer.
- * arch/mips/src/pic32mx/pic32mx-ethernet.c: The PIC32 Ethernet driver is
- code complete, but still untested.
- * configs/sim/*/Make.defs and arch/sim/src/Makefile: Add support for building
- a 32-bit executable on a 64-bit Linux target.
- * configs/sure-pic32mx/src/up_leds.c: Correct GPIOs used for LEDs. The wrong
- pins were being used.
- * arch/arm/src/stm32/chip/stm32f10xxx_gpio.h: Correct offset to one AFIO EXICR
- register.
- * arch/arm/src/lpc17xx/lpc17_can.c: Added "advanced" configuration options
- to specify the CAN TSEG1 and TSEG2 clock counts specifically.
- * include/nuttx/can.h and drivers/can.c: Add support for extended (29-bit)
- CAN IDs.
- * arch/arm/src/lpc17xx/lpc17_can.c: Add support for extended (29-bit) CAN IDs.
- * arch/arm/src/stm32/stm32_can.c: Add support for extended (29-bit) CAN IDs.
- * include/nuttx/power/pm.h: Move include/nuttx/pm.h into a sub-directory named
- power.
- * drivers/power: Rename the drivers/pm directory to power
- * include/power/battery.h and drivers/battery.c: Add the interface definitions
- for an upper and lower half battery driver. Add the implementation of the
- common upper half battery driver.
- * drivers/power/max1704x.c: Add a driver for MAX17040x battery "fuel gauge"
- * arch/arm/src/stm32/stm32_i2c.c: Add support for I2C3
- * drivers/usbdev/: Lots of name changes: cdc_serial->cdcacm, usbstrg->usbmsc,
- usbser->pl2303
- * drivers/usbdev/composite: Fleshed out support for a composite USB device.
- * drivers/stm3210e-eval/composite and drivers/stm3210e-eval/src/up_composite.c:
- Add a configuration test the USB composite device.
- * include/nuttx/usb/usb.h, drivers/usbdev/composite_descriptors.c, and
- drivers/usbdev/cdcacm_descriptors.c: Add support for the USB Interface
- Association Descriptor (IAD)
- * arch/arm/src/stm32/stm32_i2c.c: Correct a typo in STM32 I2C3 support
- (submitted by Mike Smith)
- * arch/*/src/Makefile: Candidate solution for dependency issue in the board
- sub-directory: By making libboard.a a "phony" target, libboard.a should
- always rebuilt (the end result is worth the small increase in build time)
- (submitted by Mike Smith).
- * include/net/psock.h: Added a new low level socket interface that allows the
- OS to use the socket interface without having a socket descriptor.
- * include/net/psock.h: Removed psock.h. The new interfaces are moved into
- nuttx/net.h which already has similar logic.
- * include/nuttx/usb/usb.h: Can't use 'class' as a field name in USB structures.
- This upsets C++ if usb.h is included. 'class' -> 'classid' in this header
- file and all places that referenced 'class'
- * drivers/usbdev/usbmsc.c: Fixed some backward conditional compilation.
- * sched/on_exit.c: Add support for the on_exit() function.,
- * sched/exit.c, task_exithook.c, task_delete.c, sched_releasetcb.c: Move
- the logic that closes file descriptors sooner in the task shutdown sequence.
- When drivers are closed, they may need to do things that require a fully
- up-and-running task. Some things cannot be done later when the task is
- crippled.
- * lib/dirent: Moved readdir_r() and telldir() from lib/misc to this new
- directory where they belong.
- * lib/termios. Implemented tcsetattr() and tcgetattr().
- * lib/stdio/lib_fgets.c: The old fgets includes some terminal related
- functionality: It handles VT-100 commands, includes a command line editor
- and echo characters back to the terminal. This old, overloaded fgets()
- was renamed readline() and moved to apps/system/readline. The version
- of fgets() in lib/stdio was them simplified and stripped down so that it
- *only* gets a string -- as its description implies.
- * arch/arm/src/lpc214x/lpc214x_usbdev.c: Add corrections suggested by
- David Hewson many, many months ago.
- * configs/mcu123-lpc214x/composite and configs/mcu123-lpc214x/src/up_composite.c:
- Add a configuration to test the USB composite device.
- * configs/stm3240g-eval/Telnetd: Add a configuration for testing the
- Telnet daemon.
- * configs/stm3240g-eval/nsh2: This is another NSH configuration. It differs
- from the original nsh configuration because it does not have an RS-232
- console (only a Telnet console) and SDIO is enabled. This configuration is
- required because the STM3240G-EVAL board cannot simultaneously support
- RS-232 and SDIO due to pin conflicts.
- * lib/string/lib_strcasestr.c: Add strcasestr().
- * lib/stdio/lib_avsprintf.c: Add avsprintf().
- * lib/net/lib_inetntop.c: Add inet_ntop().
- * lib/net/lib_inetpton.c: Add inet_pton().
- * include/pthread.h: Correct PTHREAD_MUTEX_INITIALIZER.
- * fs/fat/fs_fatfs.c: Fix an error in the FAT statfs() implementation that
- was causing some block counts to be reported incorrectly (reported by
- David Sidrane).
- * drivers/ramlog.c: Add a character driver that can substitute
- for /dev/console and or be used for logging debug output when there
- is no serial port available (such as when a Telnet console is used).
- * lib/stdio/lib_syslogstream: Add a stream object that will be used to
- re-direct all debug output to the RAM log if CONFIG_SYSLOG and
- CONFIG_RAMLOG_SYSLOG are defined.
- * lib/misc/lib_dbg.c: Add an interface enabled with CONFIG_DEBUG_ENABLE that
- can be used to turn debug output on and off.
- 6.16 2012-03-10 Gregory Nutt <gnutt@nuttx.org>
- * drivers/sensors/qencoder.c and include/nuttx/sensors/qencoder.h: Add an
- implementation for a quadrature encoder upper half driver.
- * arch/arm/src/stm32/stm32_qencoder.c/.h: Add a initial implementation of
- a lower-half quadrature encoder driver for the STM32. On initial check-in,
- this is little more than a "skeleton" file.
- * Various files: CAN ISO-11783 support contributed by Gary Teravskis.
- * net/recv.c and net/recvfrom.c: Correct a bug in return value: The the peer
- gracefully closes the connections, needs to return zero and not ENOTCONN.
- * arch/arm/src/stm32/stm32_eth.c: Fix an error in the STM32 ethernet driver.
- The received buffer size must be two bytes larger to account for the two byte
- checksum that is appended to the packet. Otherwise, the last two bytes of
- real data in the packet will get clobbered.
- * arch/arm/src/stm32f40xx_dma.c: The STM32 F4 DMA has (finally) been verified
- * arch/arm/src/stm32_sdio.c: STM32 F4 SDIO DMA is now supported
- * configs/stm3240g-eval/nsh/defconfig: This configuration now supports SDIO
- with DMA (see configs/stm3240g-eval/README.txt for some issues).
- * arch/arm/src/armv7-m/up_vectors.S and arch/arm/src/armv7-m/up_vectors.S: New,
- streamlined Cortex-M exception handling (with FPU supported). Contributed byh
- Mike Smith
- * net/accept.c, connect.c,and net_monitor.c: Correct an error in the accept
- logic. After a new connection is made via accept(), monitoring for losses
- of TCP connection must be set up (just as with connect()). The new file
- net_monitor.c holds the common TCP connection monitoring logic used by both
- the accecpt() and connect() logic. Contributed by Max Nekludov.
- * net/recvfrom.c and net/uip/uip_tcpcallback.c: Fix a leak in the TCP
- read-ahead logic. This is a *critical* bug fix!
- * net/uip/uip_tcpinput.c: Correct an error in the TCP stack. It was
- incrementing the received sequence number BEFORE determining if the
- incoming data could be handled. If the data was dropped (usually because
- there is insufficient buffering space), then no ACK will be sent and the
- sequence number will be wrong. The end consequence of the bad sequence
- number was that the when the dropped packet was re-transmitted, it was
- was ignored because its sequence number looked wrong. Fix was, obviously,
- to only increment the recevied sequence number if the TCP data was
- accepted.
- * configs/stm3240g-eval, configs/stm32f40discovery, and arch/*/src/Makefile:
- Add changes to support building with the Atollic "Lite" toolchain.
- * fs/fs_select.c: Correct select(), in the case of loss of network
- connection (POLLHUP), select() must report a read-ready event. This
- is how the standard select() interface is supposed to work: In the case
- of loss-of-connection, select() reports read-ready. The next time you
- read from the socket, you detect the end-of-connection event. Change
- submitted by Max Nekludov.
- * arch/arm/src/armv7-m/up_fpu.S and arch/arm/src/stm32/stm32_vectors.S: Fix
- lazy FPU register saving with CONFIG_ARCH_FPU is set in the configuration.
- * arch/arm/src/armv7-m: Lazy saving of floating point registers on context
- switches now seems to be functional.
- * net/uip/uip_tcpinput.c: Fix a TCP protocol error reported by Max Nekludov.
- * configs/stm3240g-eval, configs/stm32f40discovery: Add changes to support
- building with the Atollic "Pro" toolchain.
- * Makefile: Use the more common .hex extension for Intel hex files instead of
- more precise .ihx extension. This change has ripple effects to many build-
- related scripts and programs and could cause some short-term problems.
- * configs/stm3240g-eval/, arch/arm/src/stm32/up_allocateheap.c: Add support
- for the 16-mbit SRAM on-board the STM3240G-EVAL board.
- * drivers/usbdev/cdcacm.c and include/nuttx/usbdev/cdcacm.h: The CDC/ACM
- driver can now be dynamically connected and disconnected from the host
- under software control.
- * include/nuttx/arch.h, configs/stm3240g-eval/src/up_cxxinitialize.c, and
- configs/stm3240g-eval/src/up_cxxinitialize.c: Add support for C++ static
- initializers.
- * net/setsockopt.c, net/getsockopt.c, net/bind.c, net/socket.c: Add more
- low level, thread-independent socket interfaces for use within the OS.
- Some of these are currently used by the FTP controlling terminal. More will
- be used to support the NFS file system currenly underwork.
- * include/nuttx/net/: Major re-organization of networking headerf files.
- Moved all non-standard, NuttX-specific header files from include/net and
- include/nuttx into include/nuttx/net.
- * arch/mips/src/pic32mx/pic32mx_usbdev.c: The PIC32 USB driver now appears to
- be fully functional.
- * configs/sure-pic32mx/usbnsh and configs/sure-pic32mx/src: Add support for
- NSH using only USB serial I/O to support the console. This is useful on
- devices that have USB, but no serial port.
- * arch/mips/src/pic32mx/pic32mx_spi.c: Add a PIC32 SPI driver. Initial
- checkin is primitive, incomplete (lacks interrupt logic), and untested.
- * configs/pic32-startkit/nsh: Completed verification of the PIC32 Ethernet
- Starter Kit port. Added and verified the NuttShell (NSH) on the PIC32
- Ethernet Starter Kit. I can now (finally) claim to have complete the
- basic port to this board.
- * configs/pic32-startkit/nsh/up_usbdev, up_nsh.c, and up_usbterm.c: Verified
- the USB (device) driver on the PIC32 Ethernet Starter Kit.
- * arch/mips/src/pic32mx/pic32mx_ethernet.c: Verified the PIC32 Ethernet
- driver on the PIC32 Starter Kit. Status: It is occasionally functional
- but not stable enough for use.
- * arch/arm/include/stm32, arch/arm/src/stm32: Add general support for
- the STM32 F2 family. Contributed by Gary Teravskis,
- * configs/stm3220g-eval: Add support for the STMicro STM3220G-EVAL board.
- Contributed by Gary Teravskis,
- 6.17 2012-04-14 Gregory Nutt <gnutt@nuttx.org>
- * configs/sure-pic32mx: Add support for the Sure DB-DP11212 PIC32 General
- Purpose Demo Board
- * arch/arm/src/stm32/stm32_usbhost.c/.h: Add files that will (eventually)
- hold an STM32 USB host driver (the initial check-in is the NuttX LPC17
- USB host driver with name changes only).
- * arch/arm/src/stm32/chip/stm32_otgfs.h: STM32 USB OTG FS register
- definitions (not complete on initial check-in).
- * net/connect.c: Add another low level, thread-independent socket interface
- for use within the OS.
- * arch/mips/src/pic32mx/pic32mx_ethernet.c: The PIC32 Ethernet driver
- is now stable on the PIC32 Starter Kit.
- * configs/pic32-starterkit/nsh2: Add a PIC32 Ethernet Starter Kit NSH
- configuration that has no serial console; all interaction is done via
- Telnet.
- * net/netdev_sem.c: Correct a deadlock condition by making a seamphore
- recursive. To my knowledge this deadlock only occurs when running the
- NSH command ifconfig over Telnet. In that case the function netdev_foreach
- takes the network device semaphore, but so does the telnet logic causing
- the deadlock.
- * arch/arm/src/stm32/stm32_pm*.c: Add basic STM32 power management logic
- that will eventually be used to implement low power states.
- * arch/arm/src/stm32/stm32f*0xx_rcc.c: In order to use CAN2, both CAN1 and
- CAN2 clocking must be enabled.
- * arch/mips/src/pic32mx/picm32mx-usbdev.c: Several stall-related fixes so that
- the USB device driver can used the mass storage class (which does a LOT
- of stalling as part of its normal protocol). The PIC32 USB Mass Storage
- device is, however, still non-functional when debug is OFF.
- * include/nuttx/fs: Move all file-system related files from include/nuttx to
- include/nuttx/fs.
- * include/nuttx/serial: Move all serial-driver related files from include/nuttx to
- include/nuttx/serial.
- * include/nuttx/clock.h and sched/clock_initialize.c: Add a new OS interface
- called clock_sychronize() that can be used to re-synchronize the NuttX
- system time with a hardware RTC. This function is called normally at power
- up but may also need to be called when recovering from certain low-power
- usage states where the system time is no longer accurate.
- * arch/arm/src/calypso and arch/arm/include/calypso: Support for the TI "Calypso"
- phone processor. Contributed by Denis Carilki and includes the work of Denis,
- Alan Carvalho de Assis, and Stefan Richter.
- * configs/compal_e88 and configs/compal_e99: Support for Compal e88 and e99 phones
- Contributed by Denis Carilki and includes the work of Denis, Alan Carvalho de
- Assis, and Stefan Richter.
- * arch/arm/src/lpc17xx: Several fixes for error that have crept in for the LPC17xx
- DAC. Contributed by by Lzyy.
- * graphics/nxconsole: Add a character driver that can be used as a console output
- device for text output (still under development on initial check-in).
- * graphics/nxmu: Fix several compilation errors that have crept into the multi-
- user NX server because of lack of use.
- * graphics/nxconsole: The NX text console is basically function (in multi-
- user NX mode only).
- * arch/arm/src/stm32/stm32_i2c.c: Correct a bug in the STM32 I2C driver. The
- behavior of I2C status bits seems to be different between F1 and F4.
- * configs/stm3210e-eval/nxconsole: New STM32 F1 configuration that runs the
- NuttShell (NSH) within an NX window.
- * graphics/nxconsole/nxcon_sem.c: Add protection from re-entrance with debug
- is enabled.
- * include/nuttx/ascii.h and vt100.h: Header files to centralize ASCII and
- VT100 escape sequence definitions.
- * graphics/nxconsole/nxcon_vt100.c: Add add framework to support VT100 escape
- sequences in NxConsole.
- * fs/fs_read.c: Fix read() return value for attempt to read from write-only
- file or device. Was returning EBADF, should return EACCES.
- * graphics/nxconsole.c: NxConsole now supports backspace and a cursor.
- * Kconfig and arch/sim/Kconfig: Beginnings of support for a NuttX
- configuration tool. Currently using the kconfig parser 'kconfig-frontend'
- available at http://ymorin.is-a-geek.org/projects/kconfig-frontends
- (version 3.3.0-1 is also available in the NuttX SVN at
- trunk/misc/tools/kconfig-frontends-3.3.0-1.tar.gz). Contributed by Lzyy.
- * */Kconfig: Added skeleton Kconfig files to all directories that
- may need them.
- * include/nuttx/math.h: Moved include/math.h to include/nuttx/math.h
- because it conflicts too often with the system math.h (and people aren't
- inclined to read the documentation on how to handle this). Now, if
- CONFIG_ARCH_MATH_H=y is defined, the top-level makefile will copy
- the redirecting math.h header file from include/nuttx/math.h to
- include/math.h. So for the architectures that define CONFIG_ARCH_MATH_H=y,
- include/math.h will be in place as it was before; for the architectures
- that don't select CONFIG_ARCH_MATH_H, the redirecting math.h header
- file will stay out-of-the-way in include/nuttx/.
- * Kconfig, sched/Kconfig, lib/Kconfig, libxx/Kconfig, arch/sim/Kconfig,
- drivers/Kconfig, drivers/mtd/Kconfig, drivers/input/Kconfig
- drivers/analog/Kconfig, drivers/lcd/Kconfig: Updated kernel
- configuration support provided by Lzyy.
- * Kconfig: Many more Kconfig updates (no longer tracking in the ChangeLog)
- * arch/arm/src/Makefile, arch/x86/src/Makefile, arch/avr/src/Makefile,
- arch/mips/src/Makefile, arch/sim/src/Makefile, arch/hc/src/Makefile,
- arch/sh/src/Makefile: The libgcc.a in newer versions of GCC now
- have an dependency on an external implementation of abort(). This
- required modification to the Makefiles that do the final link: Now
- libgcc.a must be included within the group of libraries that are
- search recursively.
- * arch/arm/srm/stm32/stm32_otgfsdev.c: A USB OTG FS device-side driver
- for the STM32 F4 (and maybe F2 and F1 connectivity line).
- * tools/cmpconfig.c: A tool for comparing two configuration files.
- * include/nuttx/usb/usbdev.h, drivers/usbdev/*, arch/*/src/*/*usb*.c:
- Extend the USB device side interface so that EP0 OUT data can be passed
- with OUT SETUP requests.
- * include/nuttx/watchdog.h: Add the definition of a standard watchdog
- driver interface.
- * drivers/watchdog.c: The "upper half" watchdog timer driver.
- 6.18 2012-05-19 Gregory Nutt <gnutt@nuttx.org>
- * Kconfig: Continued Kconfig file updates (no longer tracking on a per-file
- basis in the ChangeLog)
- * arch/arm/src/stm32/stm32_iwdog.c and stm32_wwdog.c: Add the STM32 IWDG
- and WWDIG watchdog timer driver.
- * configs/stm3240g-eval/src/up_lcd.c: Add LCD from for the STM3240G-EVAL (the
- initial check-in is just a stm3210e-eval driver with renaming).
- * sched/sched_setscheduler.c: Correct successful return value (Contributed
- by Richard Cochran).
- * include/fcntl.h and lib/stdio: Ignore CONFIG_STDIO_LINEBUFFER is the
- file was opened in binary mode.
- * lib/stdio/lib_fopen.c: Correct an error in parsing open mode string. The
- plus sign may not appear right after the basic mode. For example, "r+", "rb+",
- and "r+b" are all valid open strings and mean the same thing.
- * lib/stdio/lib_fopen.c: Correct return errno value from f_open() and
- f_fdopen() if the open mode string is invalid.
- * drivers/serial/serial.c: Do not disable Rx interrupts on each byte.
- Rather, only disable Rx interrupts when the Rx ring buffer may be empty.
- * include/nuttx/usb/audio.h: USB Audio 1.0 definitions (in progress).
- * arch/arm/src/stm32/stm32fxx_dma.c: STM32 F4 DMA now supports circular
- buffer mode (contributed by Mike Smith)
- * arch/arm/src/stm32/stm32_serial.c: The serial driver can now support
- Rx DMA into a circular buffer (contributed by Mike Smith)
- * configs/pic32mx7mmb: Beginning of a configuration for the Mikroelektronka
- PIC32MX7 Multimedia Board (MMB).
- * net/recvfrom.c: Fix a compilation problem. Some UDP logic was conditioned
- on TCP, not UDP.
- * drivers/usbdev/cdcacm.c: Fix an infinite loop that occurs when the serial
- device is unregisters.
- * arch/arm/src/stm32/stm32_otgfs.c: The driver needs to reset the software (in
- order to flush the requests) and to disable the software connection when the
- device is unregistered.
- * include/sys/prctl.h, sched/prctl.c, include/pthread.h: Add interfaces to
- support getting and setting of the thread or task name.
- * configs/ubw32: Added a configuration to support the Sparkfun UBW32 PIC32 board.
- * configs/ubw32/nsh: Added an NSH configuration for the Sparkfun UBW32 PIC32 board.
- * configs/ubw32/up_buttons.c: Added button support for Bit Whacker board.
- * configs/stm3240g-eval/nxconsole: Added a configuration to run the NSH
- shell in an NX window for the STM3240G-EVAL board.
- * include/cxx/cunistd: C++ header file to make sure that everything in
- unistd.h is in the std:: namespace.
- * configs/sim/nxwm: Added a configuration for testing the NuttX Window Manager
- (NxWM)
- * fs/fs_fcntl.h: On success, always returned OK. However, some fcntl commands
- require returning other values on success.
- * Various files. Fix warnings about variables that were initialized by not used.
- * configs/sim/*/defconfig: Changes to build a 32-bit simulation on a 32-bit
- platform did not make into all of the Make.defs files.
- * graphics/nxmu/nx_move.c: Wrong opcode was being used in the server message;
- Also there was an error in the offset calculation.
- * graphics/nxglib/fb/nxglib_moverectangle.c: Offset argument is really a
- position, not an offset.
- * graphics/nxtk/nxtk_drawframe.c: Framed windows are now drawn in three
- colors (instead of just two).
- * drivers/input/stmpe811_*: Added a driver to support the STMicro STMPE811
- IO Expander and touchscreen driver.
- * configs/stm3240g-eval/nxwm: Added to configuration for testing the NxWM
- window manager on the STM3240G-EVAL board.
- * graphics/nxtk/nxtk_toolbarbounds.c: Added an interface to get the toolbar
- bounding box.
- * graphics/nxtk/nxtk_drawframe.c: Fix an error in drawing the window frame.
- * NX, NxConsole: Replace CONFIG_NXCONSOLE_NOGETRUN to CONFIG_LCD_GETRUN. The
- inability to read from the LCD is a property of the LCD, not of NxConsole.
- Then add CONFIG_NX_WRITEONLY which is the more generic way of saying that
- no NX component should try to read from the underlying graphic device (LCD
- or other).
- * configs/stm3240g-eval/src/up_stmpe811.c: Add board-specific support for the
- the STMPE811 I/O expander on the STM3240G-EVAL board. Verfied that the
- STM3240G-EVAL touchscreen is now fully functional.
- * include/cxx/cfcntl: Added std:: header file.
- * graphics/nxbe/nxbe_filltrapezoid.c and graphics/nxglib/fb/nxglib_filltrapezoid.c:
- Fix several errors in the trapezoid fill logic.
- * include/nuttx/input/touchscreen.h, configs/hymini-stm32, configs/stm3240g-evel,
- * configs/sam3u-ek, configs/sim, arch/sim/src/up_touchscreen.c, and
- apps/examples/touchscreen: Standardize the board-specific, touchscreen
- initialization interfaces.
- * drivers/input/stmpe811_base.c and configs/stm3240g-eval: The STMPE811-based
- touchscreen seems to work better with edge (vs. level) interrupts
- * drivers/input/stmpe811_tsc.c: Fix some status checks so that the touchscreen
- interrupt handling logic does not read data if the fifo is not at the
- threshold level.
- * include/nuttx/wqueue.h: Add macro work_available() to determine if the
- previously scheduled work has completed.
- * drivers/stmpe811_tsc.c: Correct errors: (1) Since all interrupt logic is done on
- the worker thread, disabling interrupts does not provide protected; Need to
- disable pre-emption. (2) Fix handling of touch ID and (2) add some logic to
- prevent certain kinds of data overrun.
- * include/nx/nxtk.h and graphics/nx/nxtk/nxtk.h: Move setting
- of configuration defaults from the internal header file to a place where
- other logic can use the defaults.
- * graphics/nxtk/nxtk_events.c: Fixed an important but in the logic that
- translates the mouse/touchscreen position data for framed windows and toolbars.
- * drivers/input/stmpe811_tsc.c, tsc2007.c, and ads7843e.c: Need to keep track of
- when if positional data is valid. When the touch is released, the X/Y position
- of the release must be the same as the X/Y position of the last touch (se that
- the release occurs in the same window as the last touch).
- * graphics/nxtk/nxtk_events.c: Fix an error in mouse/touchscreen input logic:
- Was autoraising the window AFTER processing the mouse press. This raises havoc
- if the result of processing the mouse click was to raise some other window!
- * graphics/nxtk/nxtk_events.c: I had to disable the whole autoraise feature
- for multi-user case because it does not work correctly. In a scenario where (1) there
- are multiple queued touchscreen events for the same window and (2) the result of the
- first input was to switch windows, then the autoraise implementation will cause the
- window to revert to the previous window. Not good behavior.
- * sched/sched_mergepending.c: Add task switching instrumentation. There is a case
- here where instrumentation was missing. Contributed by Petri Tanskanen.
- * CONFIG_STMPE811_THRESHX, CONFIG_STMPE811_THRESHX, and drivers/stmpe811_tsc.c: Add some
- thresholding controls to all slow down processing of touchscreen samples.
- This is a problem with NX in multi-user mode: touchscreen data gets sent
- via a message and when the message queue gets full the sender blocks and
- touch events are lost. Basic data overrun. The badly effects touchscreen
- human factors.
- * include/sched.h: Fix a typo (missing semicolon) in prototype of on_exit();
- * sched/on_exit.c and include/nuttx/sched.h: Fix some old typos that caused
- compilation errors when CONFIG_SCHED_ONEXIT is defined.
- * configs/stm3240g-eval/nxwm/defconfig: The default NxWM now uses the STMPE811
- touchscreen.
- * include/cxx/csched: Added
- * graphic/nxmu/nxmu_sendserver.c, nxmu_sendwindow.c, and nxmu_sendclient.c:
- Refactor NX messaging logic in preparation for a new message control
- feature.
- * graphics/nxtk, graphics/nxmu, include/nuttx/nx: Add a new window communication
- to support blocking and flushing of client window messages. If there are
- stale, queue window messages at the time that a window is destroyed, very bad
- things happen.
- 6.19 2012-06-15 Gregory Nutt <gnutt@nuttx.org>
- * graphics/nxconsole/nxcon_kbdin.c: If selected, the NxConsole will take
- input from the NX keyboard input callback. If this option is set, then
- the interface nxcon_kdbin() is enabled. That interface may be driven by
- window callback functions so that keyboard input *only* goes to the top
- window. If CONFIG_NXCONSOLE_NXKBDIN is not selected, then the NxConsole
- will receive its input from stdin (/dev/console). This works great but
- cannot be shared between different windows. Chaos will ensue if you
- try to support multiple NxConsole windows without CONFIG_NXCONSOLE_NXKBDIN
- * graphics/nxmu/nx_kbdin.c: Fix pointer argument. This is a error
- introduced in changes leading up to the 6.18 release. This error will
- cause crashes or perhaps simply not work when you try to handle window
- keyboard data in multi-user mode.
- * graphics/nxconsole/nxcon_kdbind.c: Fixed unmatched sem_wait and sem_post.
- Fix some conditional compilation that included a few too many lines of code.
- * drivers/input/stmpe811_tsc.c and stmpe811.h: Add a timeout to catch missed
- pen up events. Now the STM3240G-EVAL touchscreen works very smoothly.
- * configs/stm3240g-eval/nxwm/defconfig: Enable support for NxConsole keyboard
- input. Increasing spacing of icons.
- * configs/stm3240g-eval/nxwm/defconfig: Use a larger font for the calculator.
- * include/nuttx/lcd/ssd1289.h, drivers/lcd/ssd1289.c and .h: Generic LCD
- driver for LCDs based on the Solomon Systech SSD1289 LCD driver. This
- of this as a template for an LCD driver that will have to be cusomized
- for your particular LCD hardware.
- * configs/stm32f4discovery/src/up_extmem.c and up_ssd1289.c: Add support to
- STM32F4Discovery for than an external, SSD1289-based LCD.
- * configs/stm32f4discovery/nxlines: Add an STM32F4Discovery configuration
- to thest the SSD1289-based LCD.
- * configs/stm3240g-eval/src: Add USB GPIO initialization logic needed
- in board-specific boot logic.
- * configs/stm32f4discovery/src: Add USB GPIO initialization logic needed
- in board-specific boot logic.
- * drivers/usbdev/pl2303.c and cdcacm.c: Fix the request size used for sending
- packets. It was not using the maximum request size, but instead the previous
- request size. As a result, packets get smaller, and smaller, and ... This
- is an important USB serial fix.
- * arch/arc/src/stm32_otgfsdev.c: Bug fix: Don't process TXFE if we have
- already processed an XFRC interrupt. We have already done what needs
- to done in that case.
- * arch/arc/src/stm32_otgfsdev.c: Fixed some status settings in queuing of write
- messages. Added a "hack" to work around missing TxFIFO empty interrupts. The
- hack is basically to poll for space in the TxFIFO instead of of setting up
- the interrupt.
- * arch/arm/src/stm32/stm32f2* and chip/stm32f2*: Update all STM32 F2 file so
- that they are equivalent to F4 files. This is kind of a maintenance nightmare.
- * configs/stm3220g-eval/: Update existing configurations to the same level
- as the corresponding STM3240G-EVAL configurations. This adds FSMC SRAM,
- touchscreen, and LCD support.
- * configs/stm3220g-eval/: Add a NxWM configuration for the STM3220G-EVAL.
- * stmpe11*: Fix a massive naming problem. All references to STMPE11 should be
- STMPE812.
- * arch/arm/src/stm32/stm32_otgfsdev.c: Need to enabled USB reset interrupt
- (contributed by Erik Van Der Zalm).
- * sched/sleep.c: Fix the return value from sleep(). The correct behavior is
- to return the number of unwaited seconds; the implementation was always
- returning zero.
- * sched/usleep.c and include/unistd.h: Was a void function, but should return
- 0 on success. usleep() needs to check the return value from sigtimedwait().
- sigtimewait() returns the signal number that awakened it and an error (EAGAIN)
- if the timeout expired (normal case).
- * sched/sig_timedwait.c: Fix sigtimedwait() return value. On a timeout, it was
- setting the 8-bit si_signo field to -1 and eded up reported successfully awakened
- by signal 255! Now detects the timeout and errors -1 with errno == EGAIN. If
- sigtimedwait() is awakened by an unblocked signal, but it is not one of the
- signals in the waited-for set, it will return -1 with errno == EINTR.
- * arch/arm/src/stm32_i2c.c: Fix STM32 F2 I2C. It is apparently bug-for-bug
- compatible with the F4 and needs the same work-around for the missing BTF
- signal that was needed for the F4.
- * drivers/lcd/ssd1289.*: Fix some of the initial register settings.
- * configs/stm32f4discovery/src/up_ssd1289.c: FSMC address bit 16 is used to
- distinguish command and data. But FSMC address bits 0-24 correspond to ARM
- address bits 1-25, se we need to set bit 17 in order generate output on
- FSMC_A16.
- * arch/arm/src/lm3s/lm3s_epi.h and lm3s_timer.h: LM3S header files
- (contributed by Max Neklyudov).
- * arch/arm/src/stm32/stm32_irq.c: Some of the interrupt priorities were
- not be initialized (F2 and F4 only). Thus, the very high numbered
- interrupts (like UART6) and cause nested interrupts. This leads to
- some very difficult to debug crashes. Fix contributed by Mike Smith.
- * arch/mips/src/pic32/pic32_head.S and pic32_config.h and
- configs/pic32mx7mmb/include/board.h: Extended PIC32 device configuration
- capabilities and change board.h to support unique clocking requirements
- of the Mikroelektronika PIC32MX7 MMB. That board now works!
- * configs/pic32mx7mmb/nsh: Added and verify a NuttShell configuration
- for the Mikroelektronika PIC32MX7 MMB board.
- * arch/mips/pic32/pic32mx-ethernet.c: Fix logic that guesses PHY address;
- the search loop missed the PHY address needed by the Mikroelektronika
- PIC32MX7 MMB board.
- * configs/pic32mx7mmb/nsh: Configuration now supports a network by default.
- * configs/pic32mx7mmb/src: Add support for the MMC/SD slot on board
- the Mikroelektronika PIC32MX7 MMB board (not working on initial check-in).
- * arch/mips/src/pic32/pic32mx-spi.c: Add support for very low-level,
- register access debug output.
- * configs//pic32mx7mmb/include/board.h: Reduced peripheral clock to
- 4MHz to match other PIC32 configurations.
- * configs/pic32mx7mmb/src/up_nsh.c: SD card needs to operate in SPI
- mode 2.
- * configs/pic32mx7mmb/nsh/defconfig: MMC/SD card support is now
- enabled by default in the PIC32MX7 MMB board configuration.
- * configs/pic32mx7mmb/nsh/defconfig: Verified the USB Mass Storage
- Class (MSC) using MMC/SD card as the logical unit. Updated the default
- PIC32MX7 MMB board configuration so that USB and the mass storage class
- are enabled by default.
- * drivers/lcd/mio283qt2.c and include/nuttx/lcd/mio283qt2.h: Add generic
- support for the MIO283QT2 LCD.
- * configs/pic32mx7mmb/src/up_mio283qt2.c: Add support for the MIO283QT2
- LCD on the PIC32MX7 MMB board.
- * configs/pic32mx7mmb/src/up_touchscreen.c: Add an ADC-based touchscreen
- driver for the PIC32MX7 MMB board. Kind of works, but needs more
- verification and tuning.
- * arch/mips/src/common/up_idle.c: Strange but important fix. For some still-
- unknown reason, interrupts are left in an unhealthy state in the IDLE
- when the work queue is enabled. This is partially because some interrupt
- related logic is not built in that case. Simply disabling then re-
- enabling interrupts restores the proper state.
- * graphics/nxglib/lcd/nxglib_filltrapezoid.c and fb/nxglib_filltrapezoid.c:
- Fix an error when the trapezoid is only 1 line high. In this case, a
- divide by zero error would occur. The fix is to draw the 1 line high
- trapezoid as a run.
- * drivers/usbdev/pl2303.c: Fix a cut'n'paste error that snuck into
- the PL2303 emulation driver several months back.
- 6.20 2012-07-12 Gregory Nutt <gnutt@nuttx.org>
- * configs/stm3210e-eval/src and arch/arm/src/stm32/: Add beginnings of
- power management support for the STM32 and the STM3210E-EVAL board, in
- particular.
- * Documentation/NfsHowTo.html: Add a How-To document for the new NFS
- client feature.
- * arch/mips/include/pic32mx and arch/mips/src/pic32mx: Add support for the
- PIC32MX1 and PIC32MX2 families.
- * configs/mirtoo: Add a board configuration to support the DTX1-4000L
- "Mirtoo" module from http://www.dimitech.com/
- * tools/pic32mx: All of the duplicate directories containing the same
- same PIC32 tools were move to this single location.
- * configs/mirtoo: The basic Mirtoo port is now functional.
- * configs/mirtoo/ostest: Added support for the microchipOpen toolchain
- (see http://sourceforge.net/projects/microchipopen/).
- * configs/mirtoo/nsh: Added a NuttShell (NSH) configuration for
- the Mirtoo module.
- * configs/mirtoo/scripts: Move all Mirtoo linker scripts to a common
- directory.
- * arch/mips/src/pic32mx/pic32mx-gpio.c: All digital inputs were being
- configured as outputs. This is a *critical* bug fix and needs to be
- incorporated by any PIC32 users.
- * drivers/mtd/sst25.c: Added a driver for the SST 25 SPI-based FLASH
- parts.
- * configs/mirtoo/src/up_nsh.c: The Mirtoo NSH configuration can now
- mount the SST 25 devices so that it can be used for a FAT file system.
- There are are, however, some NSH memory usage issues if this configuration
- enabled now. Some tuning is still needed.
- * configs/mirtoo/nxffs: Add an alternative NSH configure for the Mirtoo
- module for testing the on-module SST 25 chip using the NXFFS file system.
- * arch/arm/src/lpc43xx and arch/arm/include/lpc43xx: The NXP LPC43xx port
- is slowly evolving in these directories.
- * configs/stm3210e-eval/pm: Add a new configuration for testing STM32 power
- management.
- * configs/stm3210e-eval/scripts: Moved all of the duplicate ST3210-EVAL
- linker scripts into one set of linker scripts at this location.
- * configs/stm3210e-eval/src/up_buttons.c, up_lcd.c, and up_pm.c: New logic
- for testing STM32 power management.
- * configs/lincoln60: Add a configuration to support the Micromint Lincoln60
- board.
- * configs/ekk-lm3s3b96: Add a configuration to support the TI/Stellaris
- EKK-LM3S3B96 development board. Contributed by Jose Pablo Rojas V.
- * arch/arm/src/lpc43xx/chip: Created header files for *all* (really)
- lpc43xx registers and all bit-fields.
- * configs/lpc4330-xplorer: Added a configuration for the NXP LPC43XX
- Xplorer board. This is just to facilitate testing of the LPC43xx
- port but will, with any luck, become proper board support for that
- board.
- * arch/arm/src/lm3s/lm3s_syscontrol.c: Fix an optimization related problem
- by adding a volatile qualifier to a timing loop. Oddly, the consequence
- of the bug is that when debug was off, the LM3S platform too a long time
- to boot. It now boots rapidly whether debug is on or off.
- * arch/*/include/limits.h: Change all values in all limits.h for all
- architectures to signed decimal; the hex values were not sign extending
- appropriate in most uses (reported by Lorenz Meier).
- * arch/arm/src/stm32/chip/stm32f103/7vc_pinmap: Fix typographical error in
- two pinmap definition files.
- * lib/net/lib_inetntoa.c: Fix typographical error that cause compilation
- failure on platforms that do not support passing of structures as
- parameters.
- * arch/arm/*/lpc43xx and configs/lpc4330-xplorer and code complete and
- ready for testing. Hopefully, verified LPC43xx support will appear
- in NuttX-6.20.
- * include/nuttx/stdarg.h: If CONFIG_ARCH_STDARG_H=y is defined, the top-level
- makefile will copy the generic (GCC-only) stdarg.h header file from
- include/nuttx/stdarg.h to include/stdarg.h. So for the architectures
- that cannot use their GCC toolchain's stdarg.h file, they can use this
- alternative by defining CONFIG_ARCH_STDARG_H=y. If CONFIG_ARCH_STDARG_H,
- is not defined, then the redirecting stdarg.h header file will stay
- out-of-the-way in include/nuttx/.
- * configs/lpc4330-xplorer/nsh: Add an NSH configuration for the LPC4330
- Xplorer board.
- 6.21 2012-08-25 Gregory Nutt <gnutt@nuttx.org>
- * configs/lpc4330-xplorer/up_nsh.c: Add support for a basic SPIFI block
- driver for use by NSH. Does not work! Crashes on first SPIFI write.
- * configs/lpc4330-xplorer/*/defconfig: Calibrate delay loops (this is
- based on the current "slow" 72MHz M4 clock and will need to be
- re-calibrated when this is increased).
- * configs/stm3220g-eval/include/board.h and configs/stm3240g-eval/include/board.h:
- The SDIOCLK frequency in the F2 and F4 derives for PLL48CLK and not HCLK
- so that the SDIOCLK input frequency should always be 48MHz.
- * sched/os_internal.h, sched_setupidlefiles.c, sched_setuptaskfiles.c, and
- sched_setupidlefiles.c: Detangle some conditional compilation. Allow for
- a perverse configuration that has socket descriptors and streams but no file
- descriptors (sure, why not?).
- * sched/: Stylistic clean-up of all files. Some of these files are pretty old
- and do not follow current NuttX coding standards in detail.
- * fs/: More stylistic file clean-up.
- * mm/: More stylistic file clean-up.
- * drivers/ and drivers/serial/: More stylistic file clean-up.
- * arch/arm/src/lpc43xx/lpc43_clockconfig.c: Fix PLL1 bit manipulation logic.
- Critical bugfix! This would often cause the LPC43xx to fail to boot.
- * arch/arm/src/lpc43xx/lpc43_rgu.c: The soft reset logic called from the
- beginning of __start seems cause problems. A magic delay seems to improve
- the logic some. But I suspect that real fix is to get rid of all of the
- soft reset logic. This would also be a critical bugfix if I believed
- that it really fixed all of the issues.
- * arch/arm/src/lpc43xx/chip/lpc43_cgu.h: Fix a bit mask in the PLL1
- control register. Critical bugfix.
- * arch/arm/src/lpc43xx/lpc43_clockconfig.c and configs/lpc4330-xplorer/include/board.h:
- Implement PLL1 ramp-up logic; Now the LPC43xx is running at 204MHz.
- * configs/lpc4330-xplorer/*/defconfig: Re-calibrated delay loops using
- the 204MHz clock. The LPC43xx ripping rips! This calibration was performed
- with symbols enabled and all optimization disabled. It will need to be
- better recalibrated again down the road.
- * arch/arm/src/stm32/stm32_exti.c: Renamed to rch/arm/src/stm32/stm32_exti_gpio.c
- to make a little room in the file name space.
- * arch/arm/src/stm32/stm32_exti_alarm.c: Add initial logic to attached the
- RTC alarm EXTI interrupt. This is work be performed mostly by Diego Sanchez.
- * include/: More stylistic file clean-up.
- * arch/arm/src/lpc43xx/lpc43_spifi.c, lpc43_spifi.h, and chip/lpc43_spifi.h: Add
- logic to configure and initialize the SPIFI device (does not yet work).
- * configs/lpc4330-xplorer/include/board.h: Reduce SPI SCLK value.
- * arch/arm/src/lpc43xx/lpc43_spifi.c, lpc43_spifi.h, and chip/lpc43_spifi.h:
- Logic completely redesigned. It now creates an MTD driver to access SPIFI...
- but the driver still does not work.
- * arch/arm/src/stm32 and arch/arm/include/stm32: Make name of RTC ALARM interrupt
- common on STM32 F1,2,4
- * arch/arm/src/stm32 and arch/arm/include/stm32: Add support for the
- STM32F100x "Value Line" devices. This includes changes to stm32F10xx_rcc.c that
- add the ability to run the chip off the internal oscillator. There is no open
- board configuration for this part yet (the STM32VLDiscovery would be a candidate).
- Contributed by Mike Smith.
- * arch/arm/src/stm32: Fixed typos in conditional compilation in the CAN and DMA
- and some pin configuration. This would have caused problems for STM32 F107xx.
- Typos noted by Mike Smith.
- * arch/arm/src/lpc43xx/lpc43_serial.c: Add support for certain RS-485 features
- * lib/termios/lib_cfsetispeed.c, lib_cfsetospeed.c, lib_tcflush.c: Add
- simple implementations of cfsetispeed(), cfsetospeed(), and tcflush().
- * include/sys/str_tty.h, lib/lib_setspeed.c, lib_getspeed.c, and lib_resetspeed.c:
- Add APIs to support setting non-standard BAUD values not supported by POSIX
- termios. These are non-standard interfaces but have a precedence: There are
- similar interfaces in AIX.
- * include/sys/str_tty.h, lib/lib_setspeed.c, lib_getspeed.c, and lib_resetspeed.c:
- Sigh... removed. We don't need any more almost standard interfaces! (SVN
- revision 4968 if you want the short-lived code).
- * include/termios.h and lib/termios/*: Open the existing, standard termios
- interfaces to permit some non-standard baud settings. The new termios definitions
- still supports the POSIX standard except that it does not strictly enforce
- baud rate settings, permitting some non-portable, but useful baud rate settings
- (this is what the short-lived AIX-like interfaces would have accomplished as well).
- * include/termios.h and lib/termios/*: Redesigned yet again (this is getting
- painful. NuttX now supports the BOTHER baud setting just as Linux does. termios
- Bxxx definitions are again encoded; cf[set|get][o|i]speed now deal with only the
- encoded values. If the encoded baud is set to BOTHER, then the values in the (non-
- standard) c_ispeed and c_ospeed baud values may be accessed directly.
- * arch/arm/src/stm32/stm32_serial.c: Add minimal termios support for the STM32
- (BOTHER style baud settings only). Contributed by Mike Smith.
- * configs/lpc4343-xplorer/src: Clean up SPIFI-library based build to that it
- actually works.
- * arch/arm/src/lpc43xx/lpc43_spifi.c: Add support for verification to writes.
- Add debug option to dump buffers. Several bugfixes... almost works.
- * include/termios.h, lib/termios/*, and arch/arm/src/stm32/stm32_serial.c: :
- BOTHER is gone again.
- * arch/arm/src/stm32/stm32_sdio.c and chip/stm32f20xx_pinmap.h: STM32 F2 SDIO
- fixes from Gary Teravskis and Scott Rondestvedt.
- * include/termios.h and lib/termios/*: Replace cfsetispeed and cfsetospeed with
- cfsetspeed (with definitions for the input/outputs in termios.h).
- * configs/stm32f4discovery/src and configs/stm32f4discovery/pm: Add a power
- management configuration for the STM32F4Discovery and supporting logic. This
- check-in also includes some fixes for the F4 RTC alarm logic.
- * drivers/input/pga11x.c and include/nuttx/input/pga11x.h: Add support for the
- TI PGA112/3/6/7 amplifier/multiplexer parts.
- * configs/mirtoo/README.txt, nsh/defconfig, and nxffs/defconfig: Add support
- for the PGA117 on the Mirtoo module.
- * drivers/analog/pga11x.c and include/nuttx/analog/pga11x.h: These belong in
- the analog subdirectories, not input.
- * configs/compal_e99/src/ssd1783.c and /ssd1783.h: Drivers for the SSD1783
- LCD found in the Motorola C155 telephone. The driver is specific to the C155
- because it uses the uwire transport. Contributed by Denis Carilki and
- Alan Carvalho de Assis.
- * drivers/power/pm_changestate.c. Correct a case where interrupts were not
- being re-enabled. Found by Diego Sanchez.
- * configs/mirtoo/nxffs/defconfig: This Mirtoo NXFFS configuration now uses the
- open Pinguino toolchain by default. This is necessary because the free C32
- toolchain does not support any optimization and the unoptimized NXFFS image
- hits the PIC32MX2 FLASH size (128K). There is plenty of room to grow using
- the Pinguino toolchain with -O2 optimization.
- * configs/mirtoo/src/up_adc.c. This is just a stub for now, but this is
- where Mirtoo ADC logic will eventually need to go.
- * arch/mips/src/pic32mx/pic32mx-gpio.c: Now supports the PIC32MX1/2 ANSEL
- IOPORT register.
- * lib/string/lib_memchr.c: Add support for memchr() (contributed by Mike Smith)
- * lib/string/lib_memccpy.c: Add support for memccpy()
- * arch/arm/src/lpc17xx/lpc17_serial.c: Now supports ioctl commands to change
- the baud using tcsetattr() (contributed by Chris Taglia).
- * arch/*/src/*_serial.c: Fix ioctl method return values. These methods
- should return a negated errno value; they should not set the errno
- variable.
- * sched/on_exit.c, sched/task_exithook.c, and include/nuttx/sched.c: Add
- support for multiple registered on_exit() functions if CONFIG_SCHED_ONEXIT_MAX
- is defined.
- * drivers/syslog/ramlog.c: Move the RAM SYSLOG device into drivers/syslog
- so that it will be in the same directory as some new SYSLOGing devices
- in the works.
- * include/nuttx/syslog.h and drivers/syslog/ramlog.c: The SYSLOG putc function
- now has a common name that is independent of the device that provides the
- SYSLOG.
- * include/nuttx/syslog.h and drivers/syslog/syslog.c: This is a new, generic
- SYSLOG device that can redirect debug output to any character device or file.
- So you can log debug output to a file or you can put the console on /dev/ttyS0
- and the debug output on /dev/ttyS1.
- * arch/arm/src/lpc43xxl/lpc43_spifi.c: Correct an addressing error in the LPC43
- SPIFI MTD driver
- * drivers/syslog/syslog.c and fs/fs_syslog.c: Moved the generic syslog logic
- from drivers/syslog to fs/ where is belongs. Especially after realizing that
- the syslog logic is going to have to some internal FS operations in order
- to realize a totally thread-independent SYSLOG interface.
- * arch/arm/src/stm32/stm32*_rcc.c and .h: If CONFIG_PM is defined, add a
- function called stm32_clockenable() that can be used by PM logic to re-start
- the PLL after re-awakening from deep sleep modes.
- * fs/fs_foreachinode.c and fs/fs_foreachmountpoint.c: Add logic to traverse
- inodes and mountpoints in the NuttX pseudo-file system.
- * fs/fat/fs_fat32.c: Max. filename length reported by statfs() was wrong
- if FAT long file names were enabled.
- * lib/stdio/lib_libvsprintf.c: Fieldwidth and justification were not
- supported for the %s format. As a result, %s, %12s, and %-12s all
- produced the same output.
- * lib/stdio/lib_libdtoa.c: Fix several issues with presenting floating
- point numbers (conversions are fine, but presentation was bad). This
- is a critical bug fix if you use printf or sprintf to deal with floating
- point numbers.
- * lib/stdio/lib_libdtoa.c and lib_libvsprintf.c: Correct some floating
- point options.
- * arch/arm/lpc43xx/lpc43_usb0dev.c: Add framework for development of
- an USB0, device-side driver for the LPC43XX. The initial check-in,
- however, is simply for the LPC31xx driver with name changes. The
- LPC31xx has the same USB IP, but will require some additional initialization
- (and lots of testing) before it can be used with the LPC43xx.
- * nuttx/Documentation/NuttShell.html: Added a section covering ways to
- customize the behavior of NSH.
- * arch/arm/src/stm32/chip/stm32f1*_pinmap.h: STM32 CAN TX/RX pins reversed;
- inconsistent conditional compilation. Reported by Max Holtzberg.
- * arch/arm/*/stm32: Add support for STM32 F107 "Connectivity Line"
- Ethernet (contributed by Max Holtzberg).
- * configs/olimex-stm32-p107: Add board support for the Olimiex STM32-P107
- board (contributed by Max Holtzberg).
- * arch/arm/src/stm32/stm32f2xx_dma.c, stm32f4xx_dma.c, stm32_serial.c, and
- stm32_spic.c: DMA priority was getting zeroed by STM32 F2/F4 DMA drivers
- so that all DMAs ran at the lowest priority.
- * configs/stm3240g-eval/include/board.h and configs/stm3220: Drop SD card
- frequency from 24 to 16 MHz. Apparently 24 MHz is too fast for the board.
- This (plus the change to the STM32 DMA (above) fixes SDIO DMA on the
- STM3240G-EVAL (and probably STM3220G-EVAL -- untested).
- * arch/arm/src/stm32/stm32f2xx_dma.c and stm32f4xx_dma.c: Backed out the
- DMA priority change just above. The reduced SD card frequency was
- necessary and sufficient to resolve the problem.
- * drivers/serial/serial.c: open, read, write, and poll methods may now
- abort return EINTR (or a short transfer size) if a signal is received
- while waiting to receive or send serial data. This behavior is required
- by POSIX.
- * include/sys/types.h: Define NULL to be (0) if __cplusplus is defined.
- (contributed by Mike Smith)
- * include/ctype.h: Remove a stray semi-colon in a definitions (Thanks
- Mike Smith).
- * configs/.../Make.defs. Fix C++ include path set-up in Make.defs file
- for all 8-bit AVR platforms (Thanks Richard Cochran).
- * lib/stdio/lib_*stream.c: Revised to handle new error return values from
- serial.c.
- * arch/arm/src/stm32/stm32_spi.c: SPI driver can now service re-
- initialization (Mike Smith).
- * tools/mkconfig.c: If CONFIG_DRAM_END is not specified, this tool
- will provide default definition of (CONFIG_DRAM_START + CONFIG_DRAM_SIZE)
- * arch/arm/src/stm32/stm32_otgfshost.c: Renamed from stm32_usbhost.c.
- This is nearly code complete and, with any luck, will be available
- in NuttX-6.21.
- * configs/*/defconfig: Update all defconfig files to remove syntax
- that is incompatible with the mconf configuration tool.
- * arch/arm/src/stm32/stm32_otgfshost.c: This driver now appears to be
- functional (although more testing is necessary).
- 6.22 2012-09-29 Gregory Nutt <gnutt@nuttx.org>
- * include/semaphore.h, sched/sem_holders.c, and lib/semaphore/sem_init.c:
- Fix some strange (and probably wrong) list handling when
- CONFIG_PRIORITY_INHERITANCE and CONFIG_SEM_PREALLOCHOLDERS are defined.
- This list handling was probably causing errors reported by Mike Smith
- * sched/sched_waitpid.c: Fix a possible issue with logic logic that
- should be brought into a critical section (suggested by Mike Smith)
- * sched/sched_setuptaskfiles.c: Should be 'struct socket' not
- 'struct sockets'. How did this compile before? (found by Kate)
- * syscall/syscall.csv: Fix prototype for usleep() and prctl() (also
- from Kate).
- * arch/arm/src/lpc17xx/lpc17_ethernet.c: Conditionally elide setting PHY
- speed/duplex. This does not work for certain PHYs. Still some unresolved
- issues (also from Kate).
- * tools/Config.mk, Makefile, configs/*/Make.defs: Add a new Makefile
- fragment to de-quote certain strings from the Kconfig logic that
- need to be used at path segments (Richard Cochran).
- * arch/arm/src/stm32/stm32_usbotghost.c: The STM32 USB host driver only
- works with debug turned on. The problem appears to be that with debug
- OFF, there are more NAKs occuring in more places than before and this
- reveals a variety of errors. This check in improves NAK robustness
- for control transfers but does not resolve all of the issues.
- * configs/stm3220g-eval/*/defconfig: Calibrated delay loop. It had
- never been calibrated was way off.
- * sched/sem_holder.c: Add logic to handler some priority inheritance
- cases when sem_post() is called from an interrupt handler. The
- logic is clearly wrong, but it is not known if this is the
- cause of any known bugs.
- * lib/stdio/lib_perror(): Add perror(). Contributed by Kate.
- * lib/string/lib_strerror(): Add option CONFIG_LIBC_STRERROR that
- is now required to enabled strerror(). Add an option
- CONFIG_LIBC_STRERROR_SHORT that can be used to output shortened
- strings by strerror().
- * arch/arm/src/stm32/stm32_usbotghost.c: Finally... the USB OTG FS
- appears to handle NAKing correctly.
- * configs/stm32f4discovery/*: Added and verifed support for USB OTG FS
- host on the STM32F4Discovery board.
- * configs/*/defconfig: Remove configuration documentation from config
- files. It is redundant, error-prone, and difficult to maintain.
- Configuration documentation is available in configs/README.txt for
- common configurations and in configs/*/README.txt for board and MCU-
- specific configurations.
- * configs/stm3240g-eval: Add USB host support.
- * sched/os_bring.c, configs/*/defconfig, tools/mkconfig.c, and others: Added
- configuration variable CONFIG_USER_ENTRYPOINT that may be used to change
- the default entry from user_start to some other symbol. Contributed by
- Kate. NOTE: This change does introduce a minor backward incompatibility.
- For example, if your application uses NSH as its start-up program, then your
- build will now fail because it will be unable to find "user_start". The fix
- for this link failure is to add the following to your configuration file:
- CONFIG_USER_ENTRYPOINT="nsh_main".
- * libs/stdio/lib_libfread.c and lib_*flush*.c: Correct a couple of
- error cases where the lib semaphore was not be released on error
- exits (thanks Ronen Vainish). Also, improved some error reporting:
- the generic ERROR was being used instead of the specific errno
- value; the errno variable was not always set correctly.
- * tools/mkfsdata.pl: The uIP web server CGI image making perl script was
- moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl
- (Part of a larger change submitted by Max Holtzberg).
- * configs/stm3240g-eval/script/ld.script: All of the identical ld.script
- files for the STM3240G-EVAL were replaced by one version in this directory.
- * configs/stm3240g-eval/webserver: Configuration submitted by Max Holtzberg
- for testing the changes to the uIP web server (see apps/ChangeLog.txt).
- * lib/stdio/lib_perror.c: Remove CONFIG_LIBC_PERROR_DEVNAME. What was I
- thinking? Arbitrary streams cannot be shared by different tasks.
- * tools/mksyscall.c, csvparser.c, and csvparser.h: Separate CSV parsing
- logic from mksyscall.c into files where it can be shared.
- * tools/mksymtab.c: Add a tool that can be used to convert a CSV file
- into a NuttX-style symbol table.
- * sched/work_cancel.c: Fix a bad assertion (reported by Mike Smith)
- * configs/stm3210e-eval/src/up_idle.c: Correct some power management
- compilation errors (reported by Diego Sanchez).
- * include/nuttx/wqueue.h, sched/work*, and others: Added logic to support
- a second, lower priority work queue (CONFIG_SCHED_LPWORK).
- * arch/arm/src/stm32/stm32_dma.c, chip/stm32*_memorymap.h: FSMC SRAM is
- only 16-bits wide and the SDIO DMA must be set up differently.
- * arch/arm/src/stm32/stm32_dma.c: Back out the 16-bit DMA change. It
- is incorrect.
- * configs/: Make use of UART4/5 vs USART4/5 consistent in all places.
- * Kconfig: Serial 2STOP setting must be integer 0/1, not a boolean.
- * lib/misc/sendfile.c and include/sys/sendfile.h: Add a Linux style
- sendfile() (non-standard!)
- * Kconfig: Refactor serial settings (moved from chip to drivers/serial).
- AVR "teensy" now builds with Kconfig (contributed by Richard Cochran).
- * Kconfig: Add configuration settings for the LPC17xx
- * Kconfig: Add configuration settings for the LM3S (from Richard Cochran).
- * Kconfig: Verify configuration settings for the STM32. This includes
- changes in the way that the external SRAM is configured: Define
- CONFIG_HEAP2_SIZE (decimal) instead of CONFIG_HEAP2_END (hex).
- * tools/configure.sh: Don't append the apps directory path setting
- if the correct setting is already in defined in the defconfig file.
- * fs/fat/fs_utils.c: Improperly constructed bool expression. This
- would cause many unnecessary writes to FLASH (Thanks Ronen Vainish).
- * Kconfig: Verify configuration settings for the LPC43xx. This includes
- some corrections to configuration variable names and defconfig settings.
- * Kconfig: Add and verify configuration settings for the LPC31xx.
- * arch/arm/src/stm32/stm32_uart.h and stm32_serial.c: Add logic to
- re-initialize the console UART as needed to enable DMA on the
- console UART (contributed by Mike Smith).
- * net/recvfrom.c, net/Kconfig, include/nuttx/net/uipopt.h: Remove delay
- after receiving data. That has historical reasons to be there (it
- was needed before read-ahead buffering was added), but kills performance.
- (Noted by Max Holtzberg).
- * configs/shenzhou: Add beginnings of a board configuration for the
- Shenzhou STM32107 board (see www.armjishu.com). Very little is in
- place as of this initial check-in.
- * QEMU: Fixes from Richard Cochran to build QEMU with Kconfig files.
- * arch/*/src/Makefile: Remove some old logic that was kicked off
- when CONFIG_BOOT_RUNFROMFLASH=y. The old logic used to use
- objcopy to move sections. Newer logic changes the load position
- of sections in the linker script. As far as I can tell, there
- is nothing in the source tree now that depends on the old way of
- doing things (if I am wrong, they will need a change to the linker
- script).
- * configs/fire-stm32v2: Configuration for the M3 Wildfire board. I
- don't know very much about this board other than is has an
- STM32F103VET6 chip, LCD, touchscreen, and ENC28J60 network. Very
- little is in place on the initial check-in.
- * configs/shenzhou: Coding for the Shenzhou board port is complete,
- but tested has been deferred until I get the right tools.
- * arch/arc/include/stm32/chip.h and arch/arm/src/stm32/chip.h:
- Add support for the STM32F103VET6.
- * fs/fs_fdopen.c: Bad check for failure to allocate memory. (Noted
- by Ronen Vainish).
- * drivers/mmcsd/mmcsd_sdio.c: If the MMC/SD driver were ever
- uninitialized then there would be a double release of memory
- (Noted by Ronen Vainish).
- * fs/mmap/fs_rammap.c: Fix logic error and errno check (contributed
- by Kate).
- * arch/avr/src: Fixes from AVR32 build errors that have crept in
- over the time; incorporated Kconfig for AVR3 (Richard Cochran).
- * fs/fat and include/nuttx/fs/fat.h: The FAT file system allocates
- memory for sector I/O buffers used to exchange data with the
- configured block driver. In some contexts, the block driver may
- require DMA-capable memory. If CONFIG_FAT_DMAMEMORY is defined,
- then the FAT FS will use platform-provided DMA memory allocators
- to allocate the block driver I/O buffers.
- * CONFIG_NET_ENC28J60 renamed CONFIG_ENC28J60 to be consistent
- in all places.
- * drivers/enc28j60.c, include/nuttx/net/enc28j60.h, and
- olimex-strp711/src/up_enc28j60.c: No longer passes IRQ number
- as a parameter. Instead now passes a call table to manage
- ENC28J60 GPIO interrupts. That is because GPIO interrupts are
- handled in different ways by different MCUs and some do not
- support IRQ numbers for GPIO interrupts.
- * mm/mm_gran* and include/nuttx/gran.h: Add a simple granule-
- based allocator. The intent of this allocator is to support
- simple allocation of DMA I/O buffers. The initial check-in
- is code complete but untested (not event built into the
- mm/Makefile yet.
- * configs/fire-stm32v2: The board port is basically functional.
- Not all features have been verified. The ENC28J60 network
- is not yet functional.
- * configs/stm3240g-eval/discover: A configuration for testing
- the UDP discovery utility. Contributed by Max Holtzberg.
- * mm/README.txt: Add a new README file.
- * include/nuttx/usb/usb.h, arch/*/src/*usb.c, and arch/*/src/*otg*.c:
- Add hooks to to use common, external DMA buffer allocation
- implementation.
- * net/recvfrom.c: Don't block in recvfrom if (1) read-ahead buffering
- is enabled and (2) some data was obtained from read-ahead buffers.
- Blocking is a bad idea in that case because there is no timeout!
- (submitted by Max Holtzberg).
- * configs/stm3240g-eval/xmlrpc: An example configuration for the
- Embeddable Lightweight XML-RPC Server at apps/examples/xmlrpc.
- See http://www.drdobbs.com/web-development/
- an-embeddable-lightweight-xml-rpc-server/184405364 for more info.
- Contributed by Max Holtzberg.
- * configs/*/nxwm/defconfig and sched/task_exithook.c: Fixes for
- bugs that crept in during recent changes. (Submitted by Max
- Holtzberg).
- * arch/arm/include/armv7-m/irq.h: Fix a critical bug in irqsave().
- It looks like sometimes the compile will re-order some instructions
- inapproapriately. This end result is that interrupts will get
- stuck off.
- * drivers/mtd/w25.c: Beginning of a driver for the Windbond SPI
- FLASH family (W25x16, W25x32, and W25x64). The initial check-in
- is basically just the SST25 driver with some name changes.
- * arch/arm/include/armv7-m/irq.h and arch/arm/src/stm32/stm32_spi.c:
- Back out the last change in irq.h. It is (most likely) fine the
- way it was. The really interrupt related problem was in stm32_spi.c:
- When SPI3 is not enabled, then the irqrestore() falls in the
- else clause.
- * include/nuttx/compiler.h and other files: Moved always_inline
- and noinline __attributes__ here. Also replaced all occurrences
- of explicit __atributes__ in other files with definitions from
- this header file.
- * drivers/mtd/w25.c: The Windbond SPI FLASH W25 FLASH driver is
- code complete (but still untested).
- * arch/arm/src/stm32/stm32_i2c.c: I2C improvements from Mike Smith.
- Unified configuration logic; dynamic timeout calculations;
- I2C reset logic to recover from locked devices on the bus.
- * configs/*/*/Make.defs, tools/Config.mk, Makefile: Refactor all
- common make definitions from the various Make.defs files into
- the common tools/Config.mk. Add support for a verbosity options:
- Specify V=1 on the make command line in order to see the exact
- commands used in the build (Contributed by Richard Cochran).
- * drivers/net/enc28j60.c: The ENC28J60 Ethernet driver is
- now functional.
- * configs/fire-stm32v2: Add support or the fire-stm32v3 board as
- well (untested because I do not have a v3 board).
- * lib/stdio/lib_sscanf.c: Add %n pseudo-format (from Kate).
- * lib/stdio/lib_sscanf.c: There is an issue of handling input
- when (1) no fieldwidth is provided and (2) there is no space
- seperating the input values. No solutions is in place for this
- case now (either space or a fieldwidth must be provided). But
- at least some of the bad logic that attempted to handle this
- case has been removed (noted by Kate).
- * arch/arm/src/stm32/stm32_eth.c: DMA buffer sizes must be an
- even multiple of 4, 8, or 16 bytes.
- * arch/arm/src/stm32/stm32_idle.c: Fixes STM32F107 DMA issues:
- We cannot go into sleep mode while Ethernet is actively DMAing.
- * configs/shenzhou/src/up_ssd1289.c: Add infrastructure to support
- SSD1289 LCD. Initial checkin is just a clone of the
- STM32F4Discovery's FSMC-based LCD interface. The Shenzhou
- will need a completely need bit-banging interface; this
- initial check-in is only for the framework.
- * configs/shenzhou/src/up_ssd1289.c: Bit-banging driver is
- code complete.
- * configs/shenzhou/src/up_lcd.c: Oops. Shenzhou LCD does not
- have an SSD1289 controller. Its an ILI93xx. Ported the
- STM3240G-EVAL ILI93xx driver to work on the Shenzhou board.
- * configs/shenzhou/nxwm: Added an NxWM configuration for the
- Shenzhou board. This is untested on initial check-in. It will
- be used to verify the Shenzhou LCD driver (and eventually the
- touchscreen driver).
- * configs/shenzhou/src/up_touchscreen.c: Add ADS7843E touchscreen
- support for the Shenzhou board. The initial check-in is untested
- and basically a clone of the touchscreen support for the SAM-3U.
- * tools/cfgparser.c: There are some NxWidget configuration
- settings that must be de-quoted.
- * arch/arm/src/stm32/Kconfig: There is no SPI4. Some platforms
- support SPI3 and some do not (still not clear).
- * nuttx/configs/shenzhou: Various fixes to build new NxWM
- configuration.
- * configs/shenzhou: Oops. The Shenzhou LCD is and SSD1289,
- not an ILI93xx.
- * configs/shenzhou/src/up_ssd1289.c: The LCD is basically functional
- on the Shenzhou board.
- * graphics/nxmu: Correct some bad parameter checking that caused
- failures when DEBUG was enabled.
- * arch/arm/src/armv7-m/nvic.h: Add bit definitions for the AIRCR
- register.
- * drivers/input/ads7843.c: Need semaphore protection in logic
- that samples the position.
- * drivers/lcd/ssd1289.c: On some platforms we are unable to
- read the device ID -- reason unknown; workaround in place.
- * drivers/input/ads7843.c: Add thresholding options and an
- option to swap X and Y positions. Fix some logic errors in
- the SPI locking/selecting logic.
- * arch/arm/src/armv7-m/up_systemreset.c: Add logic to reset
- the Cortex-Mx using the AIRCR register. Contributed by Darcy
- Gong.
- * arch/arm/src/stm32/up_eth.c: Add logic specifically for the
- DM9161 PHY. If the DM9161 failed to initialize, then use the
- up_sysemreset() logic to reset the MCU. Contributed by Darcy
- Gong.
- * arch/arm/src/stm32/stm32_gpio.c: Add missing logic to set bit
- for SPI3 remap. This fixes the XPT2046 touchscreen driver using
- drivers/input/ads7843.c
- * configs/shenzhou/src/up_ssd1289.c: Fix naming error in
- conditional compilation.
- * configs/shenzhou/nxwm/defconfig: Disable reading from the LCD.
- This does not work. The hardware and the driver support the
- capability, but there is some bug that causes memory corruption.
- The work around for now: Just disable reading from the LCD.
- * drivers/lcd/ssd1289.c: Add some logic to reduce the amount of
- output when CONFIG_DEBUG_LCD is enabled.
- * configs/shenzhou/nxwm/defconfig: Bug found and fixed... The
- original configuration had too much stuff turned on. Reducing
- stack sizes, some features, and buffer sizes made the
- configuration reliable (Reading from the LCD is still disabled).
- * net/uip/uip_icmpping.c: Fix problem that prevented ping from
- going outside of local network. Submitted by Darcy Gong
- 6.23 2012-11-05 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/stm32_rng.c, chip/stm32_rng.h, and other files:
- Implementation of /dev/random using the STM32 Random Number
- Generator (RNG).
- * board.h file for shenzhou, fire-stm32v2, and olimex-stm32-p107:
- Add frequencies for HSE, HSI, LSE, and LSI. These are needed
- by the STM32 watchdog driver.
- * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences
- of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*.
- * drivers/mtd/w25.c and configs/*/src/up_w25.c: Several fixes for the
- W25 SPI FLASH.
- * configs/*/Make.defs: All buildroot tools now use the extension
- xxx-nuttx-elf- vs. xxx-elf-
- * configs/shenzhou/*/Make.defs: Now uses the new buildroot 4.6.3
- EABI toolchain.
- * lib/stdio/lib_libdtoa.c: Another dtoa() fix from Mike Smith.
- * configs/shenzhou/src/up_adc.c: Add ADC support for the Shenzhou
- board (Darcy Gong).
- * configs/shenzhou/thttpd: Add a THTTPD configuration for the
- Shenzhou board (Darcy Gong).
- * include/termios.h and lib/termios/libcf*speed.c: The non-standard,
- "hidden" c_speed cannot be type const or else static instantiations
- of termios will be required to initialize it (Mike Smith).
- * drivers/input/max11802.c/h, and include/nuttx/input max11802.h: Adds
- support for the Maxim MAX11802 touchscreen controller (contributed by
- Petteri Aimonen).
- * graphics/nxtk/nxtk_events.c: Missing implementation of the blocked
- method. This is a critical bugfix for graphics support (contributed
- by Petteri Aimonen).
- * drivers/usbdev/pl2303.c, drivers/usbdev/usbmsc.h, and
- include/nuttx/usb/cdcacm.h: USB_CONFIG_ATTR_SELFPOWER vs.
- USB_CONFIG_ATT_SELFPOWER (contributed by Petteri Aimonen).
- * arch/arm/src/armv7-m/up_memcpy.S: An optimized memcpy() function for
- the ARMv7-M family contributed by Mike Smith.
- * lib/strings/lib_vikmemcpy.c: As an option, the larger but faster
- implemementation of memcpy from Daniel Vik is now available (this is
- from http://www.danielvik.com/2010/02/fast-memcpy-in-c.html).
- * lib/strings/lib_memset.c: CONFIG_MEMSET_OPTSPEED will select a
- version of memset() optimized for speed. By default, memset() is
- optimized for size.
- * lib/strings/lib_memset.c: CONFIG_MEMSET_64BIT will perform 64-bit
- aligned memset() operations.
- * arch/arm/src/stm32/stm32_adc.c: Need to put the ADC back into the
- initial reset in the open/setup logic. Opening the ADC driver works
- the first time, but not the second because the device is left in a
- powered down state on the last close.
- * configs/olimex-lpc1766stck/scripts: Replace all of the identical
- ld.script files with the common one in this directory.
- * configs/stm3220g-eval/scripts: Replace all of the identical
- ld.script files with the common one in this directory.
- * configs/hymini-stm32v/scripts: Replace all of the identical
- ld.script files with the common one in this directory.
- * configs/lpcxpresso-lpc1768/scripts: Replace all of the identical
- ld.script files with the common one in this directory.
- * binfmt/elf.c, binfmt/libelf, include/elf.h, include/nuttx/elf.h: Add
- basic framework for loadable ELF module support. The initial check-
- in is non-functional and is simply the framework for ELF support.
- * include/nuttx/binfmt.h, nxflat.h, elf.h, and symtab.h: Moved to
- include/nuttx/binfmt/.
- * arch/sim/src/up_elf.c and arch/x86/src/common/up_elf.c: Add
- for ELF modules.
- * arch/arm/include/elf.h: Added ARM ELF header file.
- * include/elf32.h: Renamed elf.h to elf32.h.
- * configs/stm32f4discovery/ostest: Converted to use the new
- Kconfig-based configuration system.
- * configs/stm32f4discovery/elf and configs/stm32f4discovery/scripts/gnu-elf.ld
- Add a configuration for testing the ARM ELF loader.
- * binfmt/libelf: Can't use fstat(). NuttX does not yet support it. Damn!
- * binfmt/libelf: The basic ELF module execution appears fully functional.
- * configs/shenzhou/src/up_relays.c: Add support for relays from the
- Shenzhou board. Contributed by Darcy Gong.
- * lib/fixedmath: Moved the old lib/math to lib/fixedmath to make room for
- the math library from the Rhombus OS
- * lib/math: Now contains the math library from the Rhombus OS by Nick Johnson
- (submitted by Darcy Gong).
- * include/float.h: Add a first cut at the float.h header file. This
- really should be an architecture/toolchain-specific header file. It
- is only used if CONFIG_ARCH_FLOAT_H is defined.
- * lib/math: Files now conform to coding standards. Separated float,
- double, and long double versions of code into separate files so that
- they don't draw in so much un-necessary code when doing a dumb link.
- * binfmt/libelf: The ELF loader is working correctly with C++ static
- constructors and destructors and all.
- * Documentation/NuttXBinfmt.html: Add documentation of the binary loader.
- * configs/sim/ostest: Converted to use the mconf configuration tool.
- * configs/sim/cxxtest: New test that will be used to verify the uClibc++
- port (eventually).
- * include/nuttx/fs/fs.h, lib/stdio/lib_libfread.c, lib_ferror.c,
- lib_feof.c, and lib_clearerr.c: Add support for ferror(), feof(),
- and clearerror(). ferror() support is bogus at the moment (it
- is equivalent to !feof()); the others should be good.
- * configs/stm32f4discovery/include/board.h: Correct timer 2-7
- base frequency (provided by Freddie Chopin).
- * include/nuttx/sched.h, sched/atexit.c, and sched/task_deletehook.c:
- If both atexit() and on_exit() are enabled, then implement atexit()
- as just a special caseof on_exit(). This assumes that the ABI can
- handle receipt of more call parameters than the receiving function
- expects. That is usually the case if parameters are passed in
- registers.
- * libxx/libxx_cxa_atexit(): Implements __cxa_atexit()
- * configs/stm32f4discovery/cxxtest: New test that will be used to
- verify the uClibc++ port (eventually). The sim platform turned not
- to be a good platform for testing uClibc++. The sim example will not
- run because the simulator will attempt to execute the static
- constructors before main() starts. BUT... NuttX is not initialized
- and this results in a crash. On the STM324Discovery, I will have
- better control over when the static constructors run.
- * RGMP 4.0 updated from Qiany Yu.
- * configs/*/Make.defs and configs/*/ld.script: Massive clean-up
- and standardization of linker scripts from Freddie Chopin.
- * net/netdev_ioctl.c: Add interface state flags and ioctl calls
- to bring network interfaces up and down (from Darcy Gong).
- * config/stm32f4discovery: Enable C++ exceptions. Now the entire
- apps/examples/cxxtest works -- meaning that the uClibc++ is
- complete and verified for the STM32 platform.
- 6.24 2012-12-20 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32: Support for STM32F100 high density chips
- added by Freddie Chopin.
- * configs/stm32f100_generic: Support for generic STM32F100RC board
- contributed by Freddie Chopin.
- * arch/arm/src/stm32_otgfsdev.c: Partial fix from Petteri Aimonen.
- * drivers/lcd/ug-2864ambag01.c and include/nuttx/lcd/ug_2864ambag01.h:
- LCD driver for the Univision OLED of the same name (untested on
- initial check-in).
- * configs/stm32f4discovery/nxlines: Configure to use mconf/Kconfig
- tool.
- * configs/stm32f4discovery/src/up_ug2864ambag01.c: Board-specific
- initialization for UG-2864AMBAG01 OLED connecte to STM32F4Disovery.
- * libxx/libxx_stdthrow.cxx: Exception stubs from Petteri Aimonen.
- * configs/stm32f4discovery/src/up_ug2864ambag01.c: Driver has been
- verified on the STM32F4Discovery platform. Some tuning of the
- configuration could improve the presentation. Lower resolution displays
- are also more subject to the "fat, flat line bug" that I need to fix
- someday. See http://www.nuttx.org/doku.php?id=wiki:graphics:nxgraphics
- for a description of the fat, flat line bug.
- * libc: Renamed nuttx/lib to nuttx/libc to make space for a true lib/
- directory that will be forthcoming. Also rename libraries: liblib.a -> libc.a,
- libulib.a -> libuc.a, libklib.a -> libkc.a, liblibxx.a ->libcxx.a.
- (I will probably, eventually rename libxx to libcxx for consistency)
- * Makefile, lib/: A new, empty directory that will hold generated libraries.
- This simplifies the library patch calculations and lets me get rid of some
- bash logic. The change is functional, but only partially complete;
- additional logic is needed in the arch/*/src/Makefile's as well. Right
- now that logic generate multiple library paths, all pointing to the lib/
- directory.
- * arch/*/src/Makefile: Now uses only the libraries in lib/
- Replace bash fragments that test for board/Makefile.
- * Makefile.win: The beginnings of a Windows-native build. This is just
- the beginning and not yet ready for prime time use.
- * configs/stm32f4discovery/winbuild: This is a version of the standard
- NuttX OS test, but configured to build natively on Windows. Its only
- real purpose is to very the native Windows build logic.
- * tools/mkdeps.bat and tools/mkdeps.c: mkdeps.bat is a failed attempt
- to leverage mkdeps.sh to CMD.exe. It fails because the are certain
- critical CFLAG values that cannot be passed on the CMD.exe command line
- (like '='). mkdeps.c is a work in progress that will, hopefully,
- replace both mkdeps.sh and mkdeps.bat.
- * tools/Config.mk: Centralize the definition of the script that will be
- used to generated header file include paths for the compiler. This
- needs to be centralized in order to support the Windows native build.
- * tools/incdir.bat: A replacement for tools/incdir.sh for use with the
- the Windows native build.
- * Makefile.unix: The existing top-level Makefile has been renamed
- Makefile.unix.
- * Makefile: This is a new top-level Makefile that just includes
- either Makefile.unix or Makefile.win
- * configs/stm3240g-eval/src: Qencoder fixes from Ryan Sundberg.
- * arch/arm/src/stm32/stm32_qencoder.c: TIM3 bug fix from Ryan Sundberg.
- * tools/mkromfsimg.sh: Correct typo in an error message (Ryan Sundberg)
- * arch/*/src/Makefile: Remove tftboot install and creation of System.map
- for Windows native build. The first is a necessary change, the second
- just needs re-implemented.
- * configs/mirtoo: Update Mirtoo pin definitions for Release 2. Provided
- by Konstantin Dimitrov.
- * Fixed an uninitialized variable in the file system that can cause
- assertions if DEBUG on (contributed by Lorenz Meier).
- * Config.mk: Defined DELIM to be either / or \, depending upon
- CONFIG_WINDOWS_NATIVE. This will allow me to eliminate a lot of
- conditional logic elsewhere.
- * nuttx/graphics: One a mouse button is pressed, continue to report all
- mouse button events to the first window that received the initial
- button down event, even if the mouse attempts to drag outside the
- window. From Petteri Aimonen.
- * nuttx/graphics/nxmu/nx_block.c: One more fix to the NX block message
- logic from Petteri Aimonen.
- * include/nuttx/wqueue.h: Some basic definitions to support a user-
- space work queue (someday in the future).
- * graphics/nxmu: Add semaphores so buffers messages that send buffers
- will block until the buffer data has been acted upon.
- * graphics/nxmw: Extended the blocked messages to cover mouse movement
- and redraw events. These will also cause problems if sent to a window
- while it is closing.
- * arch/several: Change UARTs are enabled for i.MX, LM3S, ez80, and M16C to
- match how they are enabled for other architectures.
- * configs/ez80f910200kitg: Convert to use mconf configuration.
- * sched/pause.c: Implements the POSIX pause() function.
- * ez80: Lots of changes to ez80 configurations and build logic as I
- struggle to get a clean Windows build (still not working).
- * configs/cloudctrl: Darcy Gong's CloudController board. This is a
- small network relay development board. Based on the Shenzhou IV development
- board design. It is based on the STM32F107VC MCU.
- * arch/arm/src/stm32_serial.c and stm32_lowputc.c: Added optional RS-485
- direction bit control. From Freddie Chopin.
- * Lots of build files: ARMv7-M and MIPS32 Make.defs now include a common
- Toolchain.defs file that can be used to manage toolchains in a more
- configurable way. Contributed by Mike Smith
- * configs/stm32f4discovery/winbuild and configs/cloudctrl: Adapted to use
- Mike's Toolchain.defs.
- * tools/configure.sh: Adapted to handle paths and setenv.bat files correctly
- for native Windows builds.
- * More of build files: AVR and AVR32 Make.defs now include a common
- Toolchain.defs file that can be used to manage toolchains in a more
- configurable way. Contributed by Mike Smith
- * tools/incdir.sh and incdir.bat: Add -s option to generate system header
- file paths.
- * nuttx/arch/arm/src/arm/Toolchain.defs: Add support for more ARM toolchains
- (from Mike Smith).
- * arch/arm/src/stm32/stm32f40xxx_rcc.c: Enabled FLASH prefetch (from Petteri
- Aimonen).
- * graphics/nxtk/nxtk_filltrapwindow.c: Correct an offset problem (from
- Peterri Aimonen).
- * graphics/nxglib/nxglib_splitline.c: Fix error in drawing of near horizontal
- lines (from Peterri Aimonen).
- * sched/task_exithook.c: Missing right bracket with certain conditional
- compilation (thanks James Goppert).
- * arch/arm/srch/stm32/stm32_otgfshost.c: Replace timeout handling; use
- system tick instead of frame counter. The frame counter gets reset to
- zero at 0x3fff making it error prone.
- * arch/arm/src/stm32/stm32f20xx_rcc.c and stm32f40xx_rcc.c: Added option
- CONFIG_STM32_FLASH_PREFETCH. FLASH prefetch will now only be enabled
- if this option is selected.
- * configs/ez80f910200zco/ostest: Now uses Kconfig/mconf configuration
- tool. Updated to build in native Windows environment. Other ez80f910200zco
- build scripts also updated.
- * configs/z8f64200100kit/ostest: Update to same level as ez80 configurations.
- * nuttx/configs/z8f64200100kit/scripts/setenv.bat: Add support for native
- Windows build.
- * nuttx/arch/arm/src/lpc17xx/lpc17_i2c.c: Resources not being released when
- I2C is uninitialized.
- * cloudctrl/src/up_chipid.c and shenzhou/src/up_chipid.c: Add functions to
- get chip ID. Contributed by Darcy Gong. These should not be board-dependent,
- but should be in arch/arm/src/stm32 where they can be used from any board.
- * sched/work_thread.c: Fix backward conditional compilation. This might
- has caused a memory leak. From Freddie Chopin.
- * configs/<many>/Make.defs: Fix typo -wstrict-prototypes should be
- -Wstrict-prototypes (From Denis Carilki).
- * arch/arm/src/calapyso/calypso_keypad.c: Add Calypso keypad driver. From
- Denis Carilki.
- * z8encore000zco/ostest and z8f64200100kit/ostest: Converted to use Kconfig/
- mconf configuration tool.
- * arch/arm/src/armv7-m/up_exception.S: missing curly braces for push/pop
- From Freddie Chopin.
- * z8encore000zco/ostest and z8f64200100kit/ostest: Can now be modified to
- support the Windows native builds (see corresponding README.txt files).
- * configs/z16f2800100zcog - All configurations updated to use the ZDS-II
- 5.0.1 toolchain.
- * configs/z16f2800100zcog - All configurations updated to use Kconfig/mconf
- configuration tools.
- * configs/z16f2800100zcog/ostest - Now supports a native Windows build
- (other ZNEO configs may also support the native build, but this has not
- been verfiied).
- * include/nuttx/input/keypad.h, arch/arm/src/calypso/calypso_keypad.c, and
- configs/compal_e99/nsh_highram: First cut at a standard keypad interface
- definition. Contributed by Denis Carikli.
- * libc/stdlib/lib_rand.c: Always add one to result congruential generators
- to avoid the value zero. Suggested by Freddie Chopin.
- * tools/b16.c: Fixed precision math conversion utility.
- * graphics/nxglib/nxglib_splitline.c: Fix the "fat, flat line bug"
- * arch/z80/src/*/Toolchain.defs: Add dummy Toolchain.defs files for the
- z80 family.
- * configs/z80sim/ostest: Converted to build with the Kconfig/mconf tool.
- Current configuration failed to build for me (Ubuntu 12.10, SDCC 3.2.0
- pre-built for Linux) due to a glibc memory corruptionerror in SDCC.
- * configs/z80sim/ostest: Default is now the Windows native build. See
- configs/z80sim/README.txt for instructions to convert back to a Linux or
- or Cygwin build.
- * arch/z80/src/Makefile.sdccw: Renamed makefiles with extensions zdiil,
- zdiiw, sdccl, and sdccw for the ZDS-II vs SDCC compilers and for the
- POSIX vs Windows native builds.
- * nuttx/drivers/mtd/ftl.c: Fix for the flash translation layer. Short
- unaligned writes were buggy. From Petteri Aimonen.
- * nuttx/libc/math/lib_round*.c: Add rounding functions to the math
- library. Contributed by Petteri Aimonen.
- * include/cxx/cstdlib: Add stroul(). From Petteri Aimonen.
- * arch/*/include/limits.h: Change signed minimum values from, for example,
- (-128) to (-127 - 1) to avoid overflows under certain conditions. From
- Peterri Aimonen.
- * graphics/nxtk/nxtk_subwindowmove.c: Previously it was very difficult to
- do e.g. "scroll by dx, dy". When given the full window area, nxtk_subwindowmove
- would clip the offset always to 0,0. It makes more sense for it to clip the
- source area and not modify the offset. From Petteri Aimonen.
- * graphics/nxtk/nxtk_getwindow.c: Clipping would change the offset of returned
- data, and caller has no way to know what the new offset would be. This messes
- up font drawing when the text is partially out of window, e.g. when scrolling.
- Also from Petteri Aimonen.
- * include/stdbool.h: Can now be disabled for C++ files if CONFIG_C99_BOOL8 is
- defined. CONFIG_C99_BOOL8 indicates (1) that the sizeof(_Bool) is one in both
- C and C++, and (2) the C compiler is C99 and supports the _Bool intrinsic
- type. Requested by Freddie Chopin.
- * include/stdlib/lib_rand.c: Various additional changes so that the integer
- value zero can be returned. Requested by Freddie Chopin.
- * arch/z80/src/Makefile.sdcc*, z80/up_mem.h: Redesign Z80 build so that it
- no longer depends on Bash scripts.
- * configs/z80sim/nsh and pashello: Converted to (1) use the kconfig-frontends
- configuration tool, and (2) to build natively under Windows. The NSH
- configuration is verified; the pashello configuration needs a more TLC.
- * tools/copydir.sh: Rename tools/winlink.sh to tools/copydir.sh
- * tools/link.bat, unlink.bat, and copydir.bat: Add Windows counterparts
- to the link.sh, unlink.sh, and copydir.sh Bash scripts.
- * configs/z80sim/pashello: Now builds correctly.
- * configs/xtrs/ostest, nsh, and pashello: Converted to (1) use the kconfig-
- frontends configuration tool, and (2) to build natively under Windows.
- * drivers/serial/Kconfig and sched/Kconfig: Two names for same configuration:
- CONFIG_LOWLEVEL_CONSOLE is bogus and CONFIG_DEV_LOWCONSOLE is in the wrong
- Kconfig file. Moved to drivers/serial/Kconfig replacing CONFIG_LOWLEVEL_CONSOLE.
- * arch/z80/include/z180: Add header files for z180 chips. Initial versions
- are just clones of z80 header files.
- * arch/z80/src/z180: Add source files for z180 chips. Initial versions
- are just clones of z80 source files.
- * include/nuttx/arch.h: Add address environment control interfaces (for use
- with CPUs the provide MCUs and support process-like address environments).
- * arch/z80/src/z180/z180_mmu.*: Add MMU support for z180 tasks.
- * configs/p112: Add very basic board support and an examples/ostest
- configuration for the venerable P112 board.
- * sched/os_bringup.c: If CONFIG_PATH_INITIAL is defined, then the initial
- environment of the task started by os_bringup() will have the PATH
- environment variable defined to be that string.
- * binfmt/binfmt_exepath.c: If CONFIG_BINFMT_EXEPATH is defined, then this
- file will be built. It contains logic to search for regular files at
- the absolutes paths found in the current PATH environment variable
- setting. This is untested and not yet hooked into the binfmt exec()
- logic on initial check-in
- * binfmt/binfmt_loadmodule.c: load_module() will now traverse the PATH
- variable to locate files from their relative path.
- * include/nuttx/arch.h and arch/z80/src/z180/z180_mmu.c: Restructure the
- address environment interfaces so that they will better integrate with
- binfmt/.
- * binfmt/libelf/*, binfmt/libnxflat/* and other files: Integrate the
- address environment interfaces. If CONFIG_ADDRENV=y, then binfmt/
- will now create an address environment for new tasks (instead of
- just malloc'ing the task memory).
- * configs/stm32f4discovery/elf: Enable support/test of the PATH
- to find executables using a relative path.
- 6.25 2013-02-01 Gregory Nutt <gnutt@nuttx.org>
- * graphics/: Adds 5x8 monospace font. This tiny font is useful for graph
- labels and for small bitmapped display. Contributed by Petteri
- Aimonen.
- * configs/stm3220g-eval/nxwm: Converted to use the kconfig-frontends
- configuration tool.
- * configs/sim/nxwm: Converted to use the kconfig-frontends configuration
- tool.
- * include/pthread.h: In sys/prctl.h because it is needed by
- pthread_[set|get]name_np()
- * tools/kconfig.bat: Kludge to run kconfig-frontends from a DOS shell.
- * sched/sig_timedwait.c: Should always move the time up to the next
- largest number of system ticks. The logic was rounding. Noted by
- Petteri Aimonen.
- * arch/arm/src/up_head.S: Fix backward conditional compilation. NOTE
- there is a issue of ARM9 systems with low vectors and large memories
- that will have to be addressed in the future.
- * libc/misc/lib_kbdencode.c and lib_kbddecode.c: Add logic to marshal
- and serialize speical keyboard commands intermixed with normal ASCII
- data (not yet hooked into anything).
- * drivers/usbhost/usbhost_hidkbd.c: If CONFIG_HIDKBD_ENCODED is
- defined, this driver will now use libc/misc/lib_kbdencode.c to
- encode special function keys.
- * configs/olimex-lpc1766stk/hidkbd: This configuration has been
- converted to use the kconfig-frontends configuration tool.
- * drivers/lcd/ug-2864hsweg01.c and include/nuttx/lcd/ug-2864hsweg01.h:
- Driver for UG-2864HSWEG01 OLED contributed by Darcy Gong.
- * configs/stm32f4discovery/src/up_ug2864hsweg01.c: Support for the
- UG-2864HSWEG01 OLED for the STM32F4Discovery board.
- * drivers/usbhost/usbhost_hidkbd.c: Correct a logic error in how
- tasks waiting for read data are awakened.
- * libc/misc/lib_kbdencode.c and lib_kbddecode.c: Now handles keypress
- events too. However, the USB HID keyboard driver has not yet been
- updated to detect key release events. That is kind of tricky in
- the USB HID keyboard report data.
- * configs/mcu123-214x/nsh: Converted to use the kconfig-frontends
- configuration tool.
- * configs/zp214xpa: Add basic support for the The0.net ZP213x/4xPA
- board (with the LPC2148 and the UG_2864AMBAG01).
- * configs/sim/nxlines: Add an nxlines configuration for the
- simulator.
- * configs/zp214xpa/nxlines: Add an nxlines configuration for the
- ZP213x/4xPA (with the LPC2148 and the UG_2864AMBAG01). Working
- as of 2012-12-30.
- * configs/olimex-lpc1766stk/wlan: Remove non-functional
- configuration.
- * configs/stm32f4discovery/src and nuttx/drivers/lcd/ug-2864hsweg01.c:
- Updates and corrections for the UG-2864HSWEG01 from Darcy Gong.
- * configs/lm326965-ek: All configurations converted to use the
- kconfig-frontends configuration tool.
- * configs/Kconfig: NSH_MMCSDSPIPORTNO should depend on MMCSD_SPI,
- not just SPI (from Jose Pablo Carballo).
- * arch/arm/src/arm/Kconfig and armv7m/Kconfig: Add an option for
- buildroot toolchains: They may be EABI or OABI.
- * include/nuttx/progmem and arch/arm/src/stm32/stm32_flash.c:
- Fix a counting bug plus change interface to use either relative
- or absolute FLASH addressing (from Freddie Chopin).
- * libc/misc/Make.defs: Fix error in conditional for KBD CODEC.
- * libc/Kconfig and configs/*/defconfig (several): The default
- setting should be CONFIG_LIB_KBDCODEC=n
- * 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.
- * arch/arm/src/lpc17xx/lpc17_syscon.h: Correct some typos in bit
- definitions (from Rommel Marcelo).
- * libc/string/lib_strndup.c: strndup() should use strnlen(), not
- strlen(), to determine the size of the string.
- * sched/os_bringup.c: Remove support for CONFIG_BUILTIN_APP_START.
- This is not really a useful feature and creates a violation of the
- OS layered architecture.
- * include/unistd.h, arch/arch/src/*: Implement a simple vfork().
- On initial checkin, this API is available only for ARM platforms.
- * binfmt/binfmt_exec.c: exec() now sets the priority of the new task
- to the same priority as the current task (instead of the arbirtrary
- value of 50).
- * libc/unisted/lib_execv.c and lib_execl.c: New, somewhat flawed,
- implementations of execv() and execl().
- * tools/cfgdefine.c: Strips quotes from CONFIG_EXECFUNCS_SYMTAB
- value.
- * arch/arm/include/lm3s/chip.h: Move chip definitions into
- public include area for compatibility with other architectures.
- * arch/arm/src/lm3s/chip: Move register definition header files
- into a new chip/ sub-directory.
- * arch/arm/src/lm3s/lm3s_internal.h: Broke up into several
- smaller header files.
- * arch/arm/src/lm: Rename the arch/arm/src/lm3s directory to
- arch/arm/src/lm so that is can support other members of the
- Stellaris family.
- * libc/spawn: Add file action interfaces needed by posix_spawn().
- * sched/clock_time2ticks.c: Another case where time was being
- rounded down instead of up (from Mike Smith).
- * libc/spawn: Implementation of posix_spawn() is complete but
- untested and undocumented.
- * drivers/usbdev/pl2303.c: Fix typols in the PL2303 driver
- (from Max Holtzberg).
- * configs/stm32f4discovery/posix_spawn: Added a configuration
- that can be used for testing posix_spawn().
- * arch/arm/src/stm32: Bring F1 support for general DMA and serial
- DMA in paricular up to parity with F2/F4 (from Mike Smith).
- * libc/stdio/lib_libfread.c: Correct some error handling when
- lib_fread() was passed a bad stream. Needed to move the
- releasing of a semaphore inside of some conditional logic
- (cosmetic).
- * include/nuttx/sched.h, sched/task_setup.c, and sched/task_exithook.c:
- Add support for remembering the parent task and sending
- SIGCHLD to the parent when the task exists.
- * sched/task_exithook.c: Fixed a *critical* bug. Here is
- the 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.
- * sched/sched_waitpid.c: Use SIGCHLD instead of a semaphore. This
- is a much more spec-compliant implementation. However, there are
- some issues with overruning signals because NuttX does not support
- queueing of signals (POSIX does not require it). I think it may
- need to.
- * sched/sched_waitid.c and sched_wait.c: Add support for waitid()
- and wait(). See issues with waitpid() above.
- * include/nuttx/fs/fs.h and fs/fs_files.c: Add a dup() method to
- the struct mountpt_operations. When dup'ing a file that resides
- on a mounted volume, let the file system's dup() method do the
- work.
- * fs/romfs/fs_romfs.c: Implemented the dup() method for the ROMFS
- file system.
- * fs/fat/fs_fat32.c, fs/nxffs/nxffs_initialize, and
- fs/nfs/nfs_vfsops.c: Add hooks for dup() method (not yet
- implemented).
- * fs/romfs: Remove the rf_open flag. It looks good, but actually
- does nothing.
- * fs/fat: Remove the ff_open flag. Same story as for the ROMFS
- rf_open flag.
- * fs/fat/fs_fat32.c, fs/nxffs/nxffs_initialize, and
- fs/nfs/nfs_vfsops.c: Completed implementation of the dup() methods.
- There is still no good test available.
- * sched/sig_timedwait.c: sigtimedwait() would return a bad signal
- number if the signal was already pending when the function was
- called.
- * configs/ubw32/scripts: All common linker scripts moved to this
- scripts sub-directory
- * configs/ubw32/ostest: Configuration configured to use the
- kconfig-frontends tools.
- * arch/mips/src/mips32/up_vfork.c, up_vfork.h, and vfork.S:
- Implement vfork() for MIPS32 (no floating point support)
- * configs/ubw32/ostest: Enable the vfork() test.
- * fs/binfs: Move apps/builtin/binfs.c to fs/binfs/fs_binfs.c
- CONFIG_APPS_BINDIR rename CONFIG_FS_BINFS
- * include/nuttx/binfmt/builtin.h: Some of the content of
- apps/include/apps.h moved to include/nuttx/binfmt/builtin.h
- * binfmt/libbuiltin/libbuiltin_utils.c: Move builtin
- utility functions from apps/builtin/exec_builtins.c to
- binfmt/libbuiltin/libbuiltin_utils.c
- * binfmt/builtin.c and binfmt/libbuiltin: Add a binary "loader"
- that can be used to execute builtin programs from the BINFS
- file system.
- * configs/sim/nsh: Convert to use kconfig-frontends configuration
- tool.
- * binfmt/binfmt_schedunload.c: Add logic based on SIGCHLD to
- automatically unload and clean-up after running a task that
- was loaded into memory.
- * binfmt/libbuiltin: Extensions from Mike Smith
- * sched/task_reparent.c: Add internal interface to change the
- parent task.
- * sched/task_posixspawn(): Move libc/spawn/lib_ps.c to
- sched/task_posixspawn() now it requires internal, reparenting
- interfaces
- * include/nuttx/spawn(): Move libc/spawn.h to include/nuttx/spawn.h
- * arch/arm/include/lpc17xx/chip.h, irq178x.h: Integrate Marcelo
- Rommel's LPC1788 definitions into the base LPC17xx.
- * configs/olimex-lpc1766stk/nsh: Convert configuration to use
- the kconfig-frontends tools.
- * sched/task_reparent.c: Simplify reparenting interface.
- * arch/arm/src/[many]: More LPC1788 definitions from Rommel
- Marcelo incorporated.
- * configs/open1788: Board configuration for the Wave Share
- Open1788 board. Still fragmentary (contributed by Rommel
- Marcelo, adapted to use kconfig-frontends.
- * net/send(): Add logic to work around delayed ACKs by splitting
- packets (contributed by Yan T.).
- * net/recvfrom(): Fix a bug. When the host closes a connection
- (gracefully). recv[from]() returned success and the closure
- was never detected. Hmmm.. I don't know why the network monitor
- did not catch this event. This is an important bug fix.
- * net/recvfrom(): Fix a introduced with the last bugfix. If
- the peer does an orderly closure of the socket, report 0 not
- -ENOTCONN
- * configs/lm3s6965-ek/README.txt and tools/: Add an OpenOCD
- configuration for the LM3S (from Jose Pablo Carballo).
- * nuttx/lcd/hd4478ou.h and configs/pcblogic-pic32mx/src/up_lcd1602:
- Start of support of LCD1602 alphanumeric LCD. I need a few
- more parts before I can finish integrating this one.
- * arch/arm/src/*/chip.h and arch/arm/include/*/chip.h: Move all
- priority ranges from the src to the include chip.h header file.
- * arch/arm/include/armv7-m/irq.h: Add inline functions to enable
- and disable interrupts via the BASEPRI register.
- * arch/arm/Kconfig: Add new option CONFIG_ARM7VM_USEBASEI
- * arch/arm/src/*/*_irq.c: Set the priority of the SVCALL exception
- to the highest possible value.
- * arch/armv7-m/up_hardfault.c: Fail if a hardfault occurs
- while CONFIG_ARM7VM_USEBASEPRI=y.
- * arch/arm/src/stm32/stm32_serial.c: Add support for USART
- single wire mode (Contributed by the PX4 team).
- * sched/: Implement support for retaining child task status 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 support for keyboard encode to the keypad test (from
- Denis Carikli).
- * configs/olimex-lpc1766stk/nettest: Configuration converted to
- use the kconfig-frontends tools.
- * net/net_poll.c: Split net_poll() to create psock_poll() too.
- * net/net_poll.c: 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 know that the connection has been lost.
- * sched/group_create.c, group_join.c, and group_leave.c: Add
- support for task groups.
- * sched/group_signal.c and task_exithook.c: Send signal to all
- members for the parent task group.
- * include/nuttx/sched.h and sched/env_*.c: Move environment
- variables into task group structure.
- * sched/: Lots of file changed. Don't keep the parent task's
- task ID in the child task's TCB. Instead, keep the parent
- task group IN the child task's task group.
- * fs/, sched/, include/nuttx/sched.h, and include/nutts/fs/fs.h:
- Move file data from the TCB to the task group structure.
- * libc/stdio/, sched/, include/nuttx/lib.h, and include/nutts/fs/fs.h:
- Move stream data from the TCB to the task group structure.
- * net/, sched/, and include/nuttx/net/net.h: Move socket data
- from the TCB to the task group structure.
- * sched/task_starthook.c, sched/task_start.c, and include/nuttx/sched.h:
- Add a task start hook that will be called before the task main
- is started. This can be used to schedule C++ constructors to run
- automatically in the context of the new task.
- * binfmt/binfmt_execmodule: Execute constructors as a start hook.
- * sched/os_start.c: Fix ordering of group initialization.
- * configs/stm32f4discovery/usbnsh: Add an NSH STM32F4Discovery
- configuration that uses USB CDC/ACM for the NSH console.
- * configs/stm32f4discovery/nsh: Converted to use the kconfig-frontends
- tools.
- * configs/*/src/up_userleds.c: Fix a error that was cloned into
- all STM32 user LED code. The wrong definitions were being used
- to set LEDs on or off.
- * arch/*/common/up_internal.h and arch/*/common/up_initialize.c:
- Serial was driver was not being built if there is no console
- device. Obviously, the serial driver may be needed even in
- this case.
- * arch/arm/src/stm32/stm32_serial.c: If there is a serial console,
- it would be ttyS0 and the others would be ttyS1-5. If there
- is not serial console, was labeling them ttyS1-6; now labels them
- ttyS0-5.
- * fs/fs_syslog.c: Can't handle SYSLOG output to character device from
- the IDLE task (because it can't block). syslog_putc now returns EOF
- on failure and sets errno. Fixed some errors in error handling.
- * libc/stdio/lib_syslogstream.c: Checking of return value from
- syslog_putc was bogus. Switching to EOF for all errors solves
- this.
- * arch/arm/src/lm/chip/lm4f_memorymap.h: More LM4F changes from
- Jose Pablo Carballo.
- * drivers/serial/serial.c, include/nuttx/serial/serial.h,
- drivers/usbdev/cdcacm.c, and drivers/pl2303.c: Add support for
- removable serial devices (like USB serial). This support is enabled
- by CONFIG_SERIAL_REMOVABLE.
- * arch/*/src/*/Toolchain.defs: Change assignment so that we can
- override CROSSDEV with a make command line argument.
- * include/assert.h: Mark assertion functions as non-returning.
- * arch/*/src/*/up_assert.h: Mark _up_assert() as non-returning.
- * drivers/mtd/at25.c: When the AT25 device was not available the
- initialization did not fail like it should. From Petteri Aimonen.
- * fs/fat/fs_configfat.c: Fix some errors in FAT formatting logic
- for large devices and for FAT32. From Petteri Aimonen.
- * fs/fat/fs_fat32util.c: Fix an initialization error found by
- Petteri Aimonen. freecount and next freecount initialization were
- reversed.
- * drivers/mmcsd/mmcsd_spi.c: 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 patch makes it work also
- without pull-up. From Petteri Aimonen.
- * fs/fat/fs_fat32.c: Fix a compilation error when FAT_DMAMEMORY=y.
- From Petteri Aimonen.
- * arch/arm/src/stm32/chip/stm32_spi.h: STM32F4 max SPI clock freq is
- 37.5 MHz. Patch from Petteri Aimonen.
- * arch/arm/src/stm32/stm32_spi.c: Fixes for SPI DMA work on the
- STM32F4. Includes untested additions for the F1 implementation as
- well. From Petteri Aimonen.
- 6.26 2013-03-15 Gregory Nutt <gnutt@nuttx.org>
- * drivers/serial/serial.c: Correct some race conditions when checking
- for disconnection of a removable serial device.
- * sched/task_posixspawn.c, task_spawn.c, task_spawnparms.c and
- spawn_internal.h: Create new interface task_spawn() that is
- like posix_spawn(), but uses entry point addresses like
- task_create().
- * Corrected all argv[] arguments. Should be char * const *, not
- const char **.
- * sched/pthread* and include/nuttx/sched: Move pthread join data
- and pthread key calculation data into the "task group" structure.
- * sched/atexit.c, on_exit.c, task_exithook.c and include/nuttx/sched.h:
- Move atexit and on_exit data structures to task group. These
- callbacks are only issued now when the final member of the task
- group exits.
- * sched/waitpid.c, task_exithook.c and include/nuttx/sched.h:
- Move waitpid data data structures to task group. Callers of
- of waitpid() are now only awakened when the final thread of the
- task group exits.
- * sched/mq_descreate.c, mq_open.c, mq_remove.c, group_leave.c, and
- include/nuttx/sched.h: Move list of opened message queues to
- the task group structures. Now all message queues opened by
- members of the group are closed when the last member of the group
- exits.
- * includes/nuttx/sched.h and Lots of files: Change name of _TCB to
- struct tcb_s so that (1) it is consitent with other NuttX naming and
- so that (2) the naming can handle some upcoming changes.
- * includes/nuttx/sched.h and sched/: There are three TCB structures:
- struct tcb_s is a generic common version, struct task_tcb_s is a
- version for tasks and kernel threads and pthread_tcb_s is a version
- for pthreads. By dividing the TCB structure into these variants,
- pthreads do not have to be burdened by task-specific data structures
- (and vice versa).
- * sched/task_exithook.c adn group_create.c: Fix an error, the
- task within the task group may exit early leaving a pthread to
- exit the task group last. In this case, we need to remember the
- the PID of the main task in the task group and use that PID for
- signalling SIGCHILD to the parent task group.
- * included/nuttx/sched.h and sched/sig*.c: Numerous changes to the
- signal deliver logic so that the delivery of signals to threads
- within a task group will be compliant with delivery of signals
- to threads within a POSIX process.
- * sched/mq_recover.c and task_exithook.c: Add logic to handle the
- case where a task is deleted (or pthread canceled) while it is
- waiting on a message queue. task_delete() and pthread_cancel()
- are dangerous interfaces. This is only one feeble recover measure
- of *many* that would be needed to do this safely.
- * sched/group_killchildren.c, task_recover.c, group_foreachchild.c,
- sched/restart.c, sched/task_delete.c, and others: Beef up logic
- to better support task deletion and pthread cancellation. Needed
- to pass need OS test case for task_restart().
- * sched/include/sched.h and all timed functions in sched/: Move
- timer from local variables to TCB. This is needed so that if a
- task is canceled or restarted while it is waiting for a timed
- event, we can gracefully recover. We can't let the timer expire
- after the task has been deleted.
- * arch/arm/include/stm32 and arch/arm/src/stm32: Add support for
- the STM32 F3 family (still missing some things).
- * configs/stm32f3discovery: This will (eventually) be support for
- the STM32F3Discovery board.
- * STM32 F3 and STM32F3Discovery port is complete a ready for test.
- * arch/arm/src/lpc17xx: Add support for the Cortex-M4 FPU and
- Mikes "common vector" logic. The LPC1788 is going to need
- these things.
- * arch/arm/src/stm32/stm32_spi.c: Fix SPI DMA logic that does
- not work if sem_wait() is interrupt by a signal. From Petteri
- Aimonen.
- * drivers/input/max11802.c: MAX11802: Fix a timing bug that
- corrupted coordinates. From Petteri Aimonen.
- * drivers/mmcsd/mmcsd_spi.c: Use SPI locking so that MMC/SD can
- exist on the same bus as other SPI devices. From Petteri
- Aimonen.
- * graphics/nxfonts/nxfonts_sans17x22.h: Small mod to hyphen in
- sans17x22 font. The hyphen did not have any space on its sides.
- This caused it to run together with other characters so that for
- example "+-" would look weird. From Petteri Aimonen.
- * mm/mm_mallinfo.c: Take MM semaphore in mm_mallinfo. From Petteri
- Aimonen.
- * configs/stm32f3discovery/nsh/defconfig: Disable SPI. It is not
- used.
- * drivers/mtd/sst39vf: Add a driver for the SST29VF NOR FLASH parts.
- * sched/os_start.c: Add an additional call-out to support board-
- specific driver initialization during the start phase: If
- CONFIG_BOARD_INITIALIZE is defined, then an additioinal
- initialization function called board_initialize() will be called
- just after up_initialize() is called and just before the initial
- application is started.
- * arch/arm/src/stm32/stm32_otgfsdev.c, drivers/usbdev/usbdev_trprintf.c,
- and include/nuttx/usb/usbdev_trace.h: Add logic to support decoding
- of device-specific trace events to make the trace ouput more readable.
- From Petteri Aimonen.
- * arch/arm/src/stm32/stm32_otgfsdev.c: Need to manually set CNAK in
- the case where we are waiting for a SETUP command with DATA. Otherwise,
- the core may NAK further transactions. From Petteri Aimonen.
- * arch/arm/src/stm32/stm32_otgfsdev.c: Add logic to prevent premature
- to IDLE state. This change (plus the previous) was necessary to get
- the CDC/ACM driver working the certain STM32 F4 hardware (but not others).
- These changes appear to prevent certain race conditions that may or may
- not cause USB problems. From Petteri Aimonen.
- * arch/arm/include/armv6-m and arch/arm/src/armv6-m: First cut at support
- for the Cortex-M0
- * configs/nutiny-nuc120, arch/arm/include/nu1xx, and arch/arm/src/nuc1xx:
- Support for Nuvoton NuTiny NUC120.
- * 2013-02-22: the Cortex-M0, NuvoTron NUC1xx, and NuTiny-SDK-NUC120 port
- is code complete and ready for testing.
- * configs/ekk-lm3s9b96/ostest and nsh: All EKK-LM3S9B96 configurations
- converted to use the mconf configuration tool.
- * configs/zkit-arm-1769: Add support for Zilogic System's ARM development
- Kit, ZKIT-ARM-1769. From Rashid.
- * configs/zkit-arm-1769/hello: Add a "Hello, World!" configuration for
- the KBIT-ARM-1769 board. From Rashid.
- * configs/zkit-arm-1769/thttpd: Add a THTTPD configuration for the
- KBIT-ARM-1769 board. From Rashid.
- * 2013-02-27: All configurations for the Cortex-M0 NuTINY-SDK-NUC120
- appear to be functional and stable.
- * configs/zkit-arm-1769/nsh: Add an NSH configuration for the
- KBIT-ARM-1769 board. From Rashid.
- * arch/arm/src/stm32/stm32_otgfsdev.c: Fixes from Petterri Aimonen
- related to corner cases that can cause infinite interrupts.
- * drivers/usbdev/usbmsc_scsi.c: Change to allow the full name in the
- USB descriptor but a truncated, 8-byte name in the SCSI field.
- From Petteri Aimonen.
- * arch/arm/src/stm32/stm32_spi.c: 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.
- * drivers/mmcsd/mmcsd_spi.c: When bus is shared, the speed has to be
- set every time. Also SD cards require a few dummy clocks to react
- into CS release. From Petteri Aimonen.
- * configs/lm4f120-launchpad: In initial configuration for testing
- the LM4F120 LaunchPad port. This is to support testing only and
- is not yet a functional board port (as of 2013-03-01).
- * arch/arm/include/lm/lm4f_irq.h and arch/arm/src/lm/chip/lm4f_vector.h:
- Add interrupt vector/IRQ number definitions for the LM4F120.
- * arch/arm/src/stm32f20xxx_dma.c and stm32f40xxx_dma.c: Fix a typo
- in assigned base register addresses for each DMA channel. From
- Yan T.
- * Several build fixes from Mike Smith were incorporated. These were
- mostly compilation errors introduced into the system because of the
- large number of recent changes with broad scope (2013-03-04).
- * configs/zkit-arm-17969/src/up_can.c: Add CAN support to the
- Zilogics Technologies ZKIT-ARM-1769 board (From Rashid Fatah, (2013-03-04)).
- * arch/arm/src/lpc17/lpc17*_clockconfig.c: The WaveShare Open1788
- board now boots and passes the OS test. This is the work of
- Rommel Marcelo (2013-03-04).
- * arch/arm/src/lm/lm_gpio.c, lm_gpio.h, and chip/lm4f_pinconfig.h
- Extend GPIO logic to handle LM4F. Add LM4F pin configuration header
- file (2013-03-04).
- * configs/open1788: Enable LED support in all configurations.
- (2013-03-04)
- * configs/open1788/nsh: NSH configuration verified function. By Rommel
- Marcelo (2013-03-05).
- * configs/open1788/src/lpc17_nsh.c: Use the SD card interface, not SPI
- to interface with SD cards (2013-03-05.
- * arch/arm/src/lpc17xx/lpc17_sdcard.c and header files: Clone the STM32
- SD card interface to the LPC1788. It appears to be the same IP.
- (2013-03-05)
- * libc/wqueue: Work queue logic moved from sched/ to libc/wqueue. It
- is not really core OS functionality and this move helps prepare for
- user-space work queues. (2013-03-05)
- * libc/wqueue: Implemented user-space work queues. These will not
- get tested until the next time I attempt a NuttX kernel build.
- (2013-03-05).
- * arch/arm: Correct some bad syscall dispatching logic. This change
- cannot be fully tested until there is a fielded NuttX kernel build.
- (2013-03-06).
- * net/net_poll.c: Correct logic that checks if the socket is
- disconnected when the poll is setup. That is bad logic: Listen
- sockets, for example, are not connected. In that case, the purpose of
- the poll is to wait for connection events. As a result of this,
- poll/select would return immediately with POLLHUP with it was used to
- detect connection events. This fix for now was to check instead if
- the socket is closed (meaning that it was connected at one time but
- was closed by the remote peer). That excludes the listen socket which
- was never connected. This does introduce a new problem, however. If
- the socket was not closed, but lost the connection through an abnormal
- event, then poll/select will hang. That needs to be revisited.
- (2013-03-07)
- * fs/fs_select.c: Was not checking if the timeout parameter was NULL
- but would, instead, setup a bogus timeout based on whatever it found at
- address zero. Also, improved some of the memory allocation logic so
- that it will not use so much memory. (2013-03-07)
- * net/net_poll.c: Handle the missing case. Now tests for not connected
- AND not listening. I think that now covers all of the cases including
- the missing case noted above. (2013-03-07)
- * mm/: Move all memory manager globals into a structure. A reference
- to this structure is now passed internally between mm APIs. This
- change will (eventually) support multiple heaps and heap allocators.
- (2013-03-08).
- * mm/ and include/nuttx/mm.h: Implement support for multiple heaps.
- (2013-03-08).
- * arch/*/src: xyz_addregion() needs to call kmm_addregion, not mm_addregion.
- (2013-03-08).
- * sched/kmm*.c: Move this garbage kmm*.c file to mm/. until I decide what
- to do with them (which is probably to just delete them). (2013-03-08).
- * mm/mm_test.c and Makefile.test: Deleted the memory test. This was
- a good test and helped me a lot when I wrote the memory manager, but
- now it is in the way and paralyzing other efforts. So the memory unit
- test was deleted. (2013-03-08)
- * sched/sched_free.c: Rename sched_free() to sched_ufree(); Add
- sched_kfree() to handler deferred kernel heap allocations. (2013-03-10)
- * arch/: User user-accessible heap to allocate all stacks. (2013-03-10)
- * arch/arm/src/sam3u: The AT91SAM3U will now support a kernel heap if
- so configured. (2013-03-10)
- * configs/sam3u-ek/knsh: This configuration was converted to use the
- kconfigs-frontends build tool. (2013-03-10)
- * configs/*/include/user_map.h and include/nuttx/userspace.h: Remove
- the very kludgy user_map.h file and replace it with a header that
- is expected at the beginning of the user-space blob. (2013-03-10)
- * configs/sam3u-ek/kernel/up_userspace.c: This is the header for
- the SAM3U-EK's user space. (2013-03-10)
- * sched/os_bringup.c: In the kernel build, os_bringup() now uses the
- user-space header to automatically start the user-space work queue,
- if so configured. (2013-03-10)
- * arch/arm/src/lpc17xx/lpc17_mpuinit.c and lpc17_userpace.c: Add
- support for the MPU and kernel build for the LPC17xx family.
- (2013-03-11)
- * configs/open1788/kernel and knsh: Add kernel build support and
- a kernel NSH configuration for the WaveShare Open1788 board.
- (2013-03-11)
- * configs/sam3u_ek/kernel, knsh, and scripts: Move some files around
- for better supportability. (2013-03-11)
- * configs/open1788/kernel, knsh, and scripts: Add a kernel mode build
- configuration for the WaveShare Open1788 board. (2013-03-11)
- * arch/arm/src/armv7-m/up_mpu.c: Several fixes to MPU logic.
- (2013-03-12).
- * arch/arm, configs/sam3u-ek, configs/open1788: Fix memory map for
- kernel mode build; Some regions were overlapping. (2013-03-13).
- * arch/: Rename g_heapbase to g_idle_topstack. This is the same value
- however: The top of the IDLE stack is the same as the base of the
- heap in the flat build. But not in the kernel build: The base of
- the heap is elsewhere so the naming was wrong. (2013-03-13).
- * libc/stdlib/lib_itoa.c: Implementation of itoa() contributed by
- Ryan Sundberg. (2013-03-14).
- 6.27 2013-04-28 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/armv7-m/up_mpu.c: Correct MPU sub-region settings for
- unaligned regions (2013-03-15).
- * arch/arm/src/armv6-m/up_svcall.c: Bring up to equivalent to the
- ARMv7-M version (2013-03-15).
- * configs/lm4f120-launchpad/tools: Add scripts and instructions to
- simplify use of OpenOCD with ICDI (from JP Carballo, 2013-03-15).
- * tools/mkconfig.c: Logic that attempts to suppress buffered I/O
- within the kernel is wrong. sizeof(struct file_struct) must be
- the same in both kernel- and user-spaces (2013-03-16).
- * arch/arm/src/common/up_pthread_start.c, libc/pthread/pthread_startup.c,
- and related files: Implement switch to user-space and user-space
- pthread start-up function (2013-03-16).
- * arch/arm/src/common/up_signal_handler.c, libc/pthread/pthread_startup.c,
- and related files: Implement switch to user-space and user-space
- pthread start-up function (2013-03-16).
- * arch/arm/src/common/up_signal_handler.c, libc/signal/signal_handler.c,
- arch/arm/src/armv[6|7]-m/up_svcall.c, arch/arm/include/armv[6|7]-m/svcall.h,
- include/nuttx/userspace.h, and sched/sig_deliver.c: Implement switch
- to user-space from kernel signal delivery trampoline before calling user-
- space signal handler. Return from user-space signal handler using a
- system call (2013-03-16).
- * arch/arm/src/armv[6|7]-m/up_schedulesigaction.c: Need make sure we are
- in kernel mode before switching to kernel-mode signal handler
- trampoline (2013-03-16).
- * arch/arm/include/armv[6|7]-m/irq.h, and arch/arm/src/armv[6|7]-m/up_svcall.c:
- Add support for nested system calls. In the current design, this can
- happen only under one condition: When the kernel system call logic calls
- back into user space in order to allocate user space memory. So it is
- expected that the maximum nesting level will be only 2 (2013-03-17).
- * libc/stdio/lib_sccanf.c: Correct 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 (and also earlier by Kate) (2013-03-17).
- * drivers/serial/serial.c: Support for O_NONBLOCK was not supported
- in the "upper half" serial driver. This is normally not an issue
- because UART TX is almost always available, but it does become an
- if the UART uses hardware flow control or if the a "lower half" is
- something like the USB CDC/ACM driver that may need to block for
- significant amounts of time (2013-03-18).
- * arch/arm/src/armv7-h/ram_vectors.h, up_ramvec_*.c, arch/arm/src/*/*_irq.c,
- and Make.defs: Add support for modifiable interrupt vectors in RAM
- (2013-03-18).
- * arch/arm/src/armv7-m/up_exception.S, sam3u/sam3u_vectors.S, and
- lpc17xx/lpc17_vectors.S: In exception handling with CONFIG_NUTTX_KERNEL,
- need to explicity set and clear the privilege bit in the CONTROL
- register on return. I assumed this would be handled automatically
- by the EXC_RETURN. Silly me (2013-03-18).
- * arch/arm/src/lpc17_adc.c: Add a work-around for an ADC errata. From
- Chris Taglia (2013-3-19).
- * arch/arm/src/armv7-m/up_hardfault.c: If the PRIMASK is used to disable
- interrupts, then additional logic is required in the hard fault handler
- (2013-3-19).
- * libc/ and mm/: 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 (2013-3-19).
- * fs/fat: Create an error in FAT file creation. 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 (2013-03-30).
- * Numerous files: Changed the protoypes of up_create_stack() and
- up_release_stack() so that is includes a task type. Normally you
- can get this type from the TCB parameter, but there are certain
- conditions when the task type is not valid in the TCB when these
- functions are called. Only the prototypes were changed on this
- big, initial checkin. The next step will be to add logic to
- allocate stacks for kernel threads from protected kernel memory
- and all other task types from unprotected user memory (2013-03-20).
- * arch/*/src/common/up_createstack.c, up_use_stack.c, and
- up_release_stack.c: If creating or releasing the stack for a kernel
- thread, use the kernel allocator so that the kernel thread stacks
- are protected from user application meddling (2013-03-20).
- * arch/arm/src/armv[6|7]-m/up_scall.c: Fix parameter passing for
- all system call inline functions with > 3 parameters (2013-03-20)
- * arch/*/src/common/up_stackframe.c and include/nuttx/arch.h: Add
- and new interface to set aside memory on the stack. This will be
- used at least in the kernel build to hold task arguments (2013-03-21).
- * sched/sig_deliver.c: When dispatching signals to user threads,
- copy the siginfo_t from the sigq to the stack. The signal queue
- is allocated from kernel memory; however, the current stack is
- the user's stack and the user code will be able to access the
- signinfo_t data from the stack copy (2013-03-21).
- * arch/arm/src/stm32: Added support for the kernel mode build
- (cloned from the lpc17xx). (2013-03-21).
- * configs/stme32f4discovery/kernel and scripts: Add support for
- the kernel mode build on the STM32F4Discovery (2013-03-21).
- * drivers/st7567.c/h and include/nuttx/lcd/st7567.h: Driver for
- the ST7567 LCD Display Module from Univision Technology Inc.
- contributed by Manikandan.S (2013-03-22).
- * configs/zkit-arm-1769: Now supports the ST7567 LCD display
- module. Added an nxhello configuration for testing (Manikandan.S,
- 2013-03-22).
- * configs/stm32f4discovery/kostest: Add a kernel mode version
- of the OS test for the STM32F4Discovery board (2013-03-22).
- * nuttx/include/nuttx, nuttx/configs/sam3u-ek, nuttx/configs/open1788,
- nuttx/configs/stm32f4discovery, and nuttx/arch/arm: Complete
- re-archtecting of how signals are dispatched to user-space code
- in the kernel build. The original implementation was C-based
- and simpler. However, the C code intermixed with SVC calls was
- not properly preserving registers. The more complex, assembly
- language version does not suffer from these issues. I believe
- the kernel build can now be called "feature complete"
- (2013-03-23).
- * binfmt/binfmt_execmodule.c: Here is a place where I forget
- to update the call to sched_releasetcb() to pass the thread
- type as the second parameter (2013-03-23).
- * arch/arm/src/lm, kinetis, lpc43, and nuc1xx: Add kernel build
- support to all ARMv7-M and ARMv6-M chips. There are no
- configurations in place to to verify these additions!
- (2013-03-24).
- * arch/arm/src/lm/lm_gpio.h: Correct typos in alternate function
- definitions (2013-03-24).
- * arch/arm/src/lm/lm_lowputc.c and lm_serial.c: Add support for
- the 7 UARTs on the LM4F120 (2013-03-24).
- * configs/lm4f120-launchpad/ostest/defconfig: Fix the configured
- RAM size. This appears to be the last show-stopper bug: The
- LaunchPad now runs NuttX! (2013-03-24).
- * configs/lm4f120-launchpad/nsh: Add an NSH configuration for the
- LaunchPad (2013-03-24).
- * configs/kwikstik-k40: Converted configurations to use the
- konfig-frontends tool (2013-03-25).
- * configs/twr-k60n512: Converted configurations to use the
- konfig-frontends tool (2013-03-25).
- * arch/arm/src/lpc17xx/lpc17_lcd.c: Add an LCD framebuffer driver
- for the LPC177x/8x family (2013-3-26).
- * arch/arm/src/lpc17xx/lpc17_emc.c and
- configs/open1788/src/lpc17_sdraminitialize.c: Began testing the
- Open1788 SDRAM. The SDRAM is basically functional, but there are
- failures with the SDRAM is stressed by the memory test at
- apps/example/ramtest (SDRAM support and the RAM test can be configured
- into the base configs/open1788/nsh configuration as described in
- configs/open1788/READMT.txt (2013-3-27).
- * configs/open1788/nxlines: Add a configuration to test both the
- Open1788 LCD and SDRAM which is used as a framebuffer (2013-3-27).
- * arch/arm/src/lpc17xx/lpc17_gdma.c and lpc17_sdcard.c: Began
- implementation of the LPC17 DMA and integration into the SDCARD
- driver (2013-3-29).
- * arch/arm/src/lpc17xx/lpc17_gdma.c: LPC17 DMA is code complete and
- under test. Does not yet work (2013-3-30).
- * fs/fat/fs_fat32dirent.c and fs_fat32util.c: 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) (2013-03-31).
- * arch/arm/src/lpc17xx/lpc17_gdma.c and lpc17_sdcard.c: SD card DMA
- is now functional. Thre may be some issues with DMA from CPU SRAM
- which is apparently disabled in sleep mode; up_idle() always enters
- sleep mode (2013-03-31).
- * arch/arm/src/stm32: Add architecure support for the STM32 F427/F437
- chips. Contributed by Mike Smith (2013-4-01).
- * configs/zkit-arm-1769/src/up_can.c: Add support for both CAN1
- and CAN2. Contributed by M.Kannan (2013-4-01).
- * arch/arm/src/lpc17xx/lpc17_spi.c and lpc17_ssp.c and
- configs/olimex-lpc1766stk, nucleus2g, zkit-arm-1769, and
- lpcxpresso-lpc1768: The initialization function for both the LPC17xx
- SPI and SSP blocks was called up_spinitialize() which is the common API
- definition of include/nuttx/spi.h. But this raises a problem when the
- MCU has multiple blocks for differ SPI implementations as does the
- LPC17xx (and also as does other architectures like STM32 that have
- USARTs that can serve as SPI interfaces as well). These were renamed
- to lpc17_spiinitialize() and lpc17_sspinitialize() in this case.
- Problem reported by M. Kannan (2013-4-01).
- * arch/arm/src/lpc17xx/lpc17_gpdma.c and lpc17_idle.c: In sleep mode,
- DMA can only be performed from peripheral SRAM. CPU SRAM is shutdown
- in sleep mode. In order to simplify DMA memory allocation, the LPC17xx
- IDLE will now hold off going to sleep mode if there is a DMA in progress
- (2013-4-01).
- * configs/open1788/src/lpc17_autoleds.c: Reversed sense of the IDLE LCD.
- It is now off when the LPC17 is sleeping and on when awake. That is
- much more useful because it provides a good visual indication of the
- dynamic CPU load (2013-4-01).
- * configs/open1788/src/lpc17_touchscreen.c and lpc17_ssp.c: Add
- support for the touschscreen on the WaveShare LCD (2013-4-01).
- * configs/several: There were already some functions called
- lpc17_sspinitialize(). So they had to be renamed (2013-4-01).
- * arch/arm/src/lpc17xx/lpc17_ssp.c: Adapted to work with the LPC178x
- family (2013-4-01).
- * arch/arm/src/lpc17xx/lpc17_gpio.c/.h: Separate LPC176x and LPC178x
- logic into separate files. The logic is diverging to much to
- try to retain common code (2013-4-03).
- * net/net_clone.c: Fix compilation error when socket options are
- are disabled. Reported by Daniel O'Connor (2013-4-05).
- * configs/zkit-arm-1769/src/up_leds.c: Fix a typo introduced into
- the button interrupt logic (2013-4-05).
- * arch/arm/src/lpc17xx/lpc178x_gpio.c: Re-design of the GPIO
- logic for the LPC178x family by Rommel Marcelo (2013-4-05).
- * arch/arm/src/lpc17_gpiodbg.c: Updated so that it correctly
- reports LPC177x/8x GPIO registers when GPIO debug is enabled
- (2013-4-05).
- * arch/arm/src/Makefile: The variable NUTTX already includes
- the extension $(EXEEXT). So remove the second extension
- $(NUTTX)$(EXEEXT) in two places (2013-4-7).
- * arch/arm/src/lpc17xx/lpc17_gpioint.c: Disable interrupts in
- lpc17_setintedge(). This logic must be atomic because it can be
- re-entered before it completes enabled interrupts, sometimes
- leaving the interrupts in a strange state (2013-4-7).
- * arch/arm/src/lpc17_lcd.c: Rommel Marcelo got the LPC1788
- framebuffer-based LCD working. Very nice! (2013-4-08).
- * arch/arm/src/lm/lm_clockconfig.c and configs/lm4f120-launchpad:
- Fix handling of the RCC SYSDIV2 field when the PLL output is
- 400MHz. Don't forget to set the USERCC2 bit in the register or
- all is for naught (2013-4-09).
- * configs/zkit-arm-1769/src/up_lcd.c, up_ssp.c, and up_spi.c:
- Use SSP0 to LCD and SPI to SD-Card on the Zkit-arm-1769 board.
- From Manikandan. S (2013-4-10)
- * configs/olimex-lpc1766stk/usbserial: Converted to use the
- kconfig-config frontends tools (2013-4-12).
- * drivers/usbdev/pl2303.c: Fix some compilation errors that
- crept in when fixes to the CDC/ACM driver where blindly
- incorporated in the PL2303 driver (2013-4-12).
- * configs/stm3210e-eval/usbserial: Converted to use the
- kconfig-config frontends tools (2013-4-12).
- * configs/nucleus2g/usbserial: Converted to use the
- kconfig-config frontends tools (2013-4-12).
- * arch/arm/src/kl and arch/arm/include/kl: Add support for the
- Kinetis L family of Cortex-M0+ MCUs. Contributed by Alan
- Carvalho de Assis. NOTE: This is still very much a work in
- progress as of this initial commit (2013-04-16).
- * configs/freedom-kl25z: Support for the Freedom KL25Z board
- contributed by Alan Carvalho de Assis. NOTE: This is still
- very much a work inprogress as of this initial commit
- (2013-04-16).
- * arm/arm/src/armv6-m and arch/arm/include/armv6-m: Ooops. Fix
- a major screw-up: The Cortex-M0 has no BASEPRI register but
- the current logic was using it to manage interrupts. Switch
- to using the PRIMASK. This means that hardfaults will (again)
- occur when SVC instructions are executed (2013-4-16).
- * configs/stm3240g-eval/ostest: Converted to use the kconfig-frontends
- tools (2013-4-17).
- * sched/task_exithook.c: Don't flush the streams until the
- final thread of the group exits. Flushing may cause the
- thread to get suspended at a bad time and other threads in the
- group may run while the exiting thread is in an unhealthy state.
- This can cause crashes under certain circumstance. This is a
- critical bugfix (2013-4-18).
- * drivers/mtd/ramtron.c: Extended to support the FM25V01 device.
- Contributed by Lorenz Meier (2013-4-18).
- * sched/task_deletecurrent.c and task_exit.c, arch/*/up_exit.c:
- Renamed task_deletecurrent() and task_exit() since it really
- handles the architecture independent part of _exit(). _exit()
- is used internally, but if it is called from the user, it should
- unregister any atexit() or on_exit() functions (2013-4-18).
- * tools/kconfig2html.c: This is the beginning of a tool to
- replace the hand-generated documentation of the NuttX configuration
- variables with auto-generated documentation. The initial checkin
- is an incomplete, poorly structured prototype that I hope to
- evolve into a useful tool (2014-4-20).
- * libc/string/lib_strchr.c: strchr(str, '\0') should return a
- pointer to the end of the string, not NULL. From Petteri
- Aimonen (2014-4-22).
- * fs/fat/fs_writefat.c: mkfatfs was writing the boot code to the
- wrong location. From Petteri Aimonen (2014-4-22).
- * Documentation: The NuttX documentation now expects to find an
- auto-generated version of the configuration variable documentation
- at Documentation/NuttXConfigVariables.html (2014-4-22).
- * arch/arm/src/lpc17xx/lpc17_adc.c: Only one ADC pin was configured.
- Need to configure all that are in the ADC0 set. From MKannan
- (2014-4-23).
- * configs/zkit-arm-1769/src: ADC and SPI/USB MSC updates from
- MKannan (2014-4-23).
- * arm/src/armv7-m/ram_vectors.h and arm/src/armv7-m/up_ramvec_initialize.c:
- Fixes to RAM vector logic from Paul Y. Zhang (2014-4-23)
- * tools/kconfig2html.c: Improve behavior of Expand/Collapse
- Table of Contents; Handle errors in parsing of strings and in
- some uninitialized variables. Add an option to use jQuery.
- * tools/mkconfigvar.sh: Fix make target (2014-4-23).
- * sched/exit.c, pthread_exit.c, task_exit.c, task_delete,c and
- task_exithook.c: For pthread_exit(), move some logic to an early
- point in the exit sequence where the task may need to block. Add
- conditional logic in the lower end of the eixt logic kicked off by
- _exit() to prohibit blocking after the task has been torn down and is
- no longer cabable of blocking (2014-4-23).
- * arch/arm/src/common/up_initialize.c: Add missing registration
- of /dev/zero. Registration of /dev/null should depend upon
- conditional compilation. From Ken Pettit (2014-4-24).
- * arch/*/src/common/up_initialize.c: Same change required to other
- architectures (2014-4-24).
- * arch/arm/src/kl/kl_clockconfig.c and configs/freedom-kl25z/include/board.h:
- Modify out PLL configuration so that it uses the values in
- board.h; Fix PLL settings in board.h so that the correct core
- and bus clock frequencies are generated. (2014-4-24).
- * arm/src/kl/chip/kl_memorymap.h, kl_sim.h, andkl_uart.h: Correct some
- register definitions (2014-4-25).
- * arch/arm/src/kl/Kconfig, kl_lowputc.c, kl_serial.c, and kl_config.h:
- No UART3-5 (2014-4-25).
- * arch/arm/src/kl/kl_serial.c: Various fixes to various files in the
- KL architecture directory as need to get the interrupt-driven
- serial driver to work. The Freedom KL25Z NSH configuration now
- works (2014-4-25).
- * include/nuttx/assert.h, arch/*/src/*/up_assert.c, and other file:
- Remove up_assert_code(). While asserting with an encoded value
- could be a good feature, the codes have not be well utilized nor
- documented. Give that situation it is better to remove the API
- and reduce the footprint a little (2014-4-25).
- * drivers/serial/Kconfig and arch/*/src/*/*_serial.c: Add
- compilation so that the useless TIOCSERGSTRUCT ioctl logic
- is not build unless CONFIG_DEBUG and CONFIG_SERIAL_TIOCSERGSTRUCT
- are defined.
- * sched/task_delete.c and task_terminate.c: Most task_terminate()
- out of task_delete.c into its own C file. This should prevent
- dragging task_delete() into the link when it is never called.
- 6.28 2013-06-14 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lpc17xx/lpc17_i2c.c: Interrupts were not being
- re-enabled in the I2C initializeation function (2013-4-30).
- * net/sendto.c: Added skeleton of implementation of send timeouts
- for UDP. However, this functionality really does not make
- sense, so it is disabled in the code (2013-4-30).
- * drivers/mtd/mtd_partition.c: Support capability to clone one
- MTD driver into several, MTD partition drivers, each of which
- can manage a sub-region of the FLASH (2013-4-30).
- * configs/sim/nxffs: Converted to use the kconfig-frontends
- tools (20130-4-30).
- * configs/sim/mtdpart: A new configuration to test MTD
- partitions (2013-4-30).
- * configs/sim/mkroe-stm32f4: Support for the MikroElektronika
- Mikromedia for STM32F4 development board (from Ken Pettit, 2013-4-30).
- * fs/smartfs: Add Ken Pettit SMART FS (2013-4-30).
- * include/nuttx/mtd.h and most MTD drivers: Add support for
- (optional) method to perform byte oriented writes if so configured
- (2013-5-1).
- * arch/arm/src/kl/chip/kl25z128_pinmux.h: Corrections fo the
- pin multiplexing definitions from Alan Carvalho de Assis
- (2013-5-2).
- * drivers/mtd/mtd_partition.c: Fix a few bugs and add support for the
- (option) byte write method (2013-5-3).
- * arch/arm/src/kl: Repartitioning of definitions in header files
- from Alan Carvalho de Assis (2013-5-3).
- * drivers/mtd/smart.c, fs/smart, and other files: SMART file system
- now makes use of the MTD byte write capabilities when present (from
- Ken Pettit, 2013-5-3).
- * drivers/mtd/m25px.c: Some rearchitecting to use the byte write
- capability (when possible) and to use 4KB sectors for the erase block
- size when the part supports it (Ken Pettit, 2013-5-3).
- * configs/pirelli_dpl10: Adds a configuration for the pirelli phone
- (from Craig Comstock via Alan Alan Carvalho de Assis, 2013-5-3).
- * arch/arm/src/calypso: Fix some compilation warnings (2013-5-5).
- * configs/pirelli_dpl10/nsh_highram: Converted to use the
- kconfig-frontends tools (2013-5-5).
- * drivers/lcd/mio283qt2.c: LCD was not being selected in setpower
- method (also not being deselected in hwinitialize function)
- (2013-5-6).
- * arch/arm/src/kl/kl_gpio.c and .h, configs/freedom-kl25z/src/freedom-kl25z.h,
- and configs/freedom-kl25z/src/kl_led.c: Fixes LEDs on the Freedom KL25Z
- board (2013-5-6).
- * arch/arm/src/kinetis/kinetis_pin.c and arch/arm/src/kinetis/kinetis.h:
- The Kinetis GPIO logic had some of the same issues as did the
- Kinetis L (2013-5-6).
- * arch/arm/src/stm32/stm32_idle.c: Add an option to conditionally disable
- the "wfi" sleep mode. This is needed with certain JTAG debuggers to
- to prevent the debug session from begin disconnected. From Ken Pettit
- (2013-5-7).
- * configs/mikroe-stm32f4/fulldemo/, nx/, nxlines/, nxtext/: Add more
- configurations for the Mikroelektronika Multimedia STM32-M4 board.
- From Ken Pettit (2013-5-7).
- * configs/mikroe-stm32f4/src/up_mio283qt2.c and other files: Integrate the
- MIO283QT2 display on the Mikroelektronika Multimedia STM32-M4 board.
- From Ken Pettit (2013-5-7).
- * arch/arm/src/lpc17xx/lpc17_i2c.c: Fix for lpc17xx i2c single byte read
- timeout error problem from M.Kannan (2013-5-8).
- * arch/arm/src/stm32/stm32_adc.c: Typo in F2/F4 specific logic: ACD_
- instead of ADC_. From Ken Pettit (2014-5-8).
- * configs/olimex-lpc1766stk/tools: Tweaks to support OpenOCD-0.70
- (2013-5-10).
- * configs/mikroe-stm32f4: Changes to get the Mikroelektronika MultiMedia
- STM32 F4 touchsceen working. From Ken Pettit (2013-5-11).
- * configs/*/nxwm: Default priorities for NxWidget and NxWM threads
- should be 100, not 50, to be consistent with other default priorities.
- * configs/hymini-stm32v/buttons, nsh, and nsh2: Configurations converted
- to use the kconfig-frontends tools (Laurent Latil, 2013-5-14)
- * configs/hymini-stm32v/src: Converted to use the common SSD1289 driver
- (Laurent Latil, 2013-5-14)
- * configs/hymini-stm32v/ostest and usbnsh: Add OS test and USB/NSH
- configurations (Laurent Latil, 2013-5-14).
- * configs/hymini-stm32v/src/up_nsh.c: Add support for the card detect
- (CD) interrupt (Laurent Latil, 2013-5-14).
- * configs/hymini-stm32v/src/nx and nxlines: Removed these configurations
- (Laurent Latil, 2013-5-14).
- * arch/arm/src/stm32/chip/stm32f10xx_dma.h: Fix some bad DMA register
- definitions. From Laurent Latil (2013-5-15).
- * configs/hymini-stm32v: Enable SDIO in nsh2 configuration; remove
- warning from src/up_ssd1289.c. From Laurent Latil (2013-5-15).
- * configs/hymini-stm32v/src/up_r61505u.c: Support for the R65105-
- based LCD that comes with some HY-Mini STM32v board. From Christian
- Faure (2013-5-16).
- * syscall/syscall_lookup.h: Missing underscore character in SYS_onexit.
- Reported by Ken Pettit (2013-5-17).
- * nuttx/syscall/syscall.csv: Type of first parameter of on_exit() is
- wrong. Reported by Ken Pettit (2013-5-17).
- * configs/mikroe-stm32f4/kernel/, kostest/ and scripts/: Add kernel build
- support and kernel mode OS test example for the MikroElektronkia
- MultiMedia STM32 M4 board. From Ken Pettit (2013-5-17).
- * arch/arm/include/stm32/chip.h and arch/arm/src/stme32/chip/stm32l15xxx_pinmap.h:
- Beginning of support for the STM32L15X family (2013-5-18).
- * arch/arm/include/stm32/stm32l15xxx_irq.h and arch/arm/src/stm32/chip/stm32l15xxx_vectors.h:
- Support for STM32L15X interrupt vectors (2013-5-18).
- * arch/arm/src/stm32/chip/stm32l15xxx_gpio.h and related STM32 GPIO files:
- Add GPIO support for the STM32L215X (2013-5-18).
- * arch/arm/src/stm32/chip/stm32l15xxx_memorymap.h: STM32L215X memory map
- (2013-5-18).
- * arch/arm/src/stm32/chip/stm32_pwr.h, stm32fl15xxx_rcc.h, and stm32l15xxx_syscfg.h:
- More updates for the STM32L152 (2013-5-19).
- * configs/stm32ldiscovey: Configuration for the STM32L-Discovery board.
- Still does not build on initial check-in (2013-5-19)
- * STM32L15X: Add DMA and UART start. Correctly initialize the heap
- (2013-5-19).
- * arch/arm/src/stm32/stm32l15xxx_rcc.c chip/stm32_flash.h: Add RCC PLL
- and FLASH configuration logic for the STM32L152X (2013-5-19).
- * include/nuttx/usb/audio.h: Typo- and bug-fixes from Ken Pettit
- (2013-5-19)
- * audio/, drivers/audio, include/nuttx/audio.h: Add a new audio subsystem
- and VS1053 driver to NuttX. Contributed by Ken Pettit (2013-5-19).
- * configs/miroe-stm32f4/: Add audio logic to NSH configuration. From Ken
- Petty (2013-5-19).
- * nuttx/arch/arm/src/lm/chip/lm_flash.h and nuttx/arch/arm/src/lm/lm_flash.c:
- Add support for TI/Stellaris internal FLASH MTD driver. From Max
- Holtzberg (2013-5-20).
- * arm/src/stm32/chip/stm32l15xxx_vectors.h: After correcting errors in the
- vector definition file, the STM32L-Discovery NSH port now seems to be
- fully functional. Also fixed an error that was causing the LEDs to be
- controlled incorrectly (2013-5-21).
- * arch/arm/src/stm32/chip/stm32_lcd.h: Add definitions for STM32L15X
- segment LCD (2013-5-21).
- * configs/lm3s6965-ek/discover: Add an example configuration for UDP
- discovery tool on the lm3s6965-ek board. From Max Holtzberg
- (2013-5-21).
- * audio/, drivers/audio, include/nuttx/audio: Added a callback interface
- to the Audio upperhalf driver for dequeueing, reporting async events,
- etc. Also included is some initial work for the VS1053 driver. From
- Ken Pettit (2013-5-21).
- * include/nuttx/audio/audio.h: Moved from include/nuttx/ to include/nuttx/audio.
- (2013-5-21).
- * configs/lm3s6965-ek/tcpecho: This configuration builds the simple TCP
- echo example based on W.Richard Steven UNIX Programming book to ensure
- correct usage of the socket API. Contributed by Max Holtzberg (2013-5-22).
- * configs/stm32ldiscovery/src/stm32_lcd.c: Framework for support of the
- STM32L-Discovery's segment LCD (2013-5-22).
- * fs/fs_poll.c: Poll setup/teardown logic should ignore invalid (i.e.,
- negative) file descriptors. Max Holtzberg (2013-5-23).
- * net/net_poll.c: When readahead data is available, the network poll
- logic should set POLLIN (or POLLRDNORM), not POLLOUT. Max Holtzberg
- (2013-5-23)
- * fs/fs_poll.c: Actually, it should also set revents == 0. (2013-5-23).
- * libc/misc/lib_slcdencode.c and lib_slcddecode.c: Add logic to marshal
- and serialize special SLCD intermixed with normal ASCII data (2013-5-23)
- * configs/stm32ldiscovery/src/stm32_lcd.c: STM32L-Discovery's segment LCD
- is code complete but completely untested (2013-5-23).
- * include/nuttx/fs/ioctl.h, include/nuttx/lcd/slcd_codec.h, and
- configs/stm32ldiscovery/src/stm32_lcd.c: Add SLCD ioctl commands to get
- SLCD geometry, set bars, and manage contrast (2013-5-23).
- * configs/stm32ldiscovery/src/stm32_usb.c: This file and all references
- to USB removed for the STM32L-Discovery. While the chip supports a
- USB device, the board does not (2013-5-24).
- * arch/arm/src/stm32/stm32_lse.c: Add support for the STM32L CSR register
- and for the LSE LCD clock source (2013-5-24).
- * The STM32L-Discovery segment LCD is now functional and the README file
- includes instructions for adding the apps/examples/slcd segment LCD
- test as an NSH "built-in" command (2013-5-24).
- * configs/pcblogic-pic32mx: Converted all configurations to use the
- kconfig-frontends tool (2013-5-25).
- * configs/pcblogic-pic32mx/src: Renamed files using pic32mx_ vs up_
- prefix. Enable building of LCD1602 LCD (2013-5-25).
- * configs/pcblogic-pic32mx/src/pic32mx_lcd1602.c: Now uses SLCD CODEC
- (2013-5-25)
- * configs/stm32ldiscovery/src/stm32_lcd.c: Now supports ioctl to get
- cursor position (2013-5-25).
- * include/nuttx/lcd/slcd_ioctl.h: Moved ioctls commands and structures
- from slcd_codec.h (2013-5-25)
- * libc/misc/lib_slcdencode.c and lib_slcddecode.c: Several encoding
- and decoding bug fixes (2013-5-26)
- * configs/sure-pic32mx: Converted all configurations to use the
- kconfig-frontends tools, cleaned up the directory structure and
- naming to match some of the more recent configurations, and added
- a segment LCD driver for the board. The initial checkin of the
- LCD driver is just a clone of configs/pcblogic-pic32mx/src/pic32mx_lcd1602
- and it not yet expected to be functional (2013-5-26).
- * include/nuttx/lcd/slcd_ioctl.h and all SLCD drivers: Rename geometry
- structure to attributes; Move MAX contrast to attributes. Add
- attribute and ioctl commands to get and set LCD brightness (2013-5-27).
- * configs/sure-pic32mx/pic32mx_lcd1602.c: This driver appears to
- fully functional (at least to the extent that it has been tested)
- (2013-5-27).
- * arch/mips/src/pic32mx/pic32mx-usbdev.c: Fix NULL packet handling in
- the PIC32 USB device driver. Without this fix the CDC/ACM driver
- cannot be used reliably with the PIC32 USB. With this change the
- configs/sure-pic32mx/usbnsh configuration works great (2013-5-28).
- * configs/sure-pic32mx/src/pic32mx_nsh.c: The NSH configurations will
- support the USB monitor applications (2013-5-28).
- nuttx/arch/arm/include/stm32/chip.h, src/stm32/Kconfig, src/stm32/chip.h,
- and src/stm32/chip/stm32f103c_pinmap.h: STM32F103C4 and F103C8 chip
- support from Laurent Latil (2013-5-28)
- * configs/stm32_tiny: Add support for the STM32 Tiny development board
- based on the STM32 F103C8T6 MCU (2013-5-28).
- * arch/arm/src/stm32/stm32_usbdev.c: Fix an error in NULL packet
- handling: If the NULL-packet needed flag ever gets set, then
- it is not cleared and inifinite NULL packets result. This only
- effects the CDC/ACM class and was the cause of the failure of
- configs/stm32f3discovery/usbnsh configuration which works great
- after this change (2013-5-29).
- * drivers/usbdev/cdcacm.c and pl2303.c and include/nuttx/usb/cdcacm.h:
- Change the default IN request buffer size from 64 to 96. This will
- avoid requests of exactly MAXPACKET size and, hence, avoid so many
- NULL packets. Also, fix the OUT request buffers size to exactly
- the max packet size. It cannot be any other size (2013-5-29).
- * .gitignore: Clean-up of most all .gitignore files: Make scope of
- ignore to be only the current directory; Ignore .dSYM files in
- directories where .exe's may be build. Also, in Makefiles,
- clean .dSYM files in directories where .exe may be built (2013-5-30).
- * drivers/wireless/nrf24101.c/.h and include/nuttx/wireless/nrf24101.h:
- Add new driver for the wireless nRF24L01+ transceiver. From Laurent
- Latil (2013-6-1).
- * drivers/wireless/cc1101: Move files in the cc1101 up one directory.
- From Laurent Latil (2013-6-1).
- * configs/stm32_tiny: Fix nRF24L01+ driver integration for the STM32
- Tiny. From Laurent Latil (2013-6-01).
- * configs/sam3u-ek: All remaining configurations changed to use
- the kconfig-frontends tools (2013-6-2).
- * arch/arm/src/sam3u/chip: All SAM3U register definition files moved
- to this subdirectory. Naming of registers changed from SAM3U_ to
- just SAM_. This is in preparation for a SAM4L port (2013-6-2).
- * arch/arm/src/sam3u: Renamed files to sam_* vs. sam3u_*.
- Eliminated sam3u_internal.h; instead uses individual header
- files for each SAM interface block (2013-6-2).
- * arch/arm/src/stm32/stm32f20xxx_rcc.c and stm32f40xxx_rcc.c, and
- configs/mikroe-stm32f4/src/up_clockconfig.c. Correct some bad
- conditional compilation (CONFIG_ missing from setting name). This
- affects some STM32 FLASH pre-fetch settings. From Lorenz Meier
- (2013-6-2).
- * arch/arm/include/sam34 and arch/arm/src/sam34: The old sam3u/
- directories were renamed sam34/ to make room in the namespace for
- the SAM4L (2013-6-2).
- * libc/stdio/lib_dprintd.c and lib_vdprintf.c: Add dprintf() and
- vdprintf() (the latter from Andrew Tridgell, 2013-6-2).
- * sched/sem_holder.c: Modify assertion that is reported to cause
- false alarm assertions (2013-6-2).
- * arch/arm/include/sam34/sam4l_irq.h and
- arch/arm/src/sam34/chip/sam4l_memorymap.h: Add interrupt and memory
- map definitions for the AT91SAM4L (2013-6-3).
- * arch/arm/src/sam34/chip/sam4l_vectors.h and arm/src/sam34/sam_vectors.S:
- Add interrupt vector support for the SAM4L family (2013-6-3).
- * arch/include/sam34/chip.h: Add chip definitions for the SAM4L
- family (2013-6-3).
- * configs/sam4l-xplained: A partial configuration that will (eventually)
- support the SAM4L Xplained Pro developement board (2013-6-3).
- * arch/arm/src/sam34/chip/sam4l_pinmap.h: Initial cut as SAM4L
- pin mapping (2013-6-3).
- * arch/arm/src/stm32/stm32*_dma.*: Add a new interface function,
- stm32_dmacapable() that can be used to determine if DMA is
- possible from the specified memory address. From Petteri Aimonen
- (2013-6-4).
- * arch/arm/src/stm32/stm32_spi.c: If CONFIG_STM32_DMACAPABLE is
- defined, use stm32_dmacapable() to determine if it is possible
- to perform DMA from the specified address. This change is
- important for the STM32 F4 which may have SPI data buffers
- allocated on the stack in CCM memory which cannot support the
- DMA. From Petteri Aimonen (2013-6-4).
- * nuttx/arch/arm/src/sam34/sam4l_gpio.h: Created GPIO driver
- header file for the SAM4L. Also renamed the SAM3U header
- file to sam3u_gpio.h (2013-6-4).
- * nuttx/arch/arm/src/sam34/sam4l_gpio.c: Created GPIO driver for
- the SAM4L (2013-6-4).
- * nuttx/configs/sam4l-xplained/src/sam_userleds.c: Added.
- (2013-6-4).
- * configs/sam4l-xplained/src/sam_userleds.c: Add application
- LED interfaces (2013-6-5).
- * arch/arm/src/sam34/sam4l_gpio.c and arch/arm/src/sam34/chip/sam4l_gpio.h:
- Fix GPIO port address; fix compilation errors (2013-6-5).
- * arch/arm/src/sam34/chip/sam4l_flashcalw.h: Add header file
- for SAM4L FLASH and PICOCACHE definitions (2013-6-5).
- * arch/arm/src/sam34/chip/sam4l_pm.h: Add header file for SAM4L
- Power Management. Leveraged from AVR32 (2013-6-5).
- * arch/arm/src/sam34/sarm4l_clockconfig.c: SAM4L clock configuration
- logic (leveraged from AVR32).
- * nuttx/arch/arm/src/sam34/sam4l_periphclks.c/h: Add common
- logic to enabled/disable SAM4L peripheral clocking (2013-6-5).
- * nuttx/arch/arm/src/sam34/chip/sam4l_bpm.h and sam4l_scif.h: Add
- register definitions for the SAM4L BMP and SCIF blocks (2013-6-6).
- * nuttx/arch/arm/src/sam34/sam4l_clockconfig.c: Now selects an
- optimal power scaling mode (2013-6-6).
- * nuttx/arch/arm/src/stm32/stm32_serial.c and nuttx/include/termios.h:
- Change for hardware flow control support for STM32. It also fixes
- incorrect operation of USART2 and UART5 in current master. Submitted
- by Lorenz Meier but includes changes by Mike Smith (2013-6-6).
- * nuttx/arch/arm/src/stm32/stm32_otgfshost.c: A backward conditional
- prevent detection of disonnection events. Reported by Scott (2013-6-6).
- * nuttx/arch/arm/src/sam34/chip/sam4l_bscif.h: Add registers definitions
- for the SAM4L BSCIF module (2013-6-6).
- * nuttx/arch/arm/src/sam34/sam4l_clockconfig.c and chip/sam4l_wdt.h:
- Finally finished the SAM4L clock configuration logic; Added a
- WDT register definition header file (2013-6-8).
- * nuttx/arch/arm/src/sam34/chip/sam4l_usart.h and sam4l_picouart.h:
- Add UART/USART register definition files for the SAM4L (2013-6-8).
- * arm/src/sam34/chip/sam3u_periphclks.h: More macros and definitions
- to generalize peripheral clocking and to hide differences between
- the SAM3U and the SAM4L (2013-6-8).
- * configs/sam4l-xplained/ostest: The SAM4L now passed the OS test
- (2013-6-9).
- * configs/sam4l-xplained/nsh: Added an NSH configuration for the
- SAM4L Xplained Pro board (2013-6-9).
- * configs/sam4l-xplained/src/sam_cxxinitialize.c: Added C++ support
- to the SAM4L Xplained Pro board configuration (2013-6-9).
- * arm/src/sam34/chip/sam_irq.c: Extend IRQ support to handle the
- larger number of NVIC interrupts used by the SAM4L (2013-6-9).
- * arch/arm/src/sam45/chip: Beginning updates of SAM3U header files
- to include support for the SAM4S: WDT, SUPC, EEFC, MATRIX, PMC,
- UARTs, USARTs, HSMCI, SPI (2013-6-10).
- * arch/arm/src/chip/sam4s_memorymap.h, sam4s_irq.h, and sam4s_vectors.h:
- Add SAM4S memory map and interrupt definitions (2013-6-10)
- * configs/sam4s-xplained: Add framework for the SAM4S Xplained board.
- There is not much there on initial checkin (2013-6-10).
- * arch/arm/src/sam34: SAM3S support: GPIO, chip characteristics,
- peripheral Kconfig (2013-6-11).
- * arch/arm/src/sam34/chip/sam4s_pinmap.h: Add SAM4S pin configuration
- definitions (2013-6-11).
- * arch/arm/src/sam34/sam4s_periphclks.h: Add macros to manage SAM4S
- peripheral clocks (2013-6-11).
- * configs/sam4s-xplained: Configuration builds error-free (2013-6-11).
- * configs/sam4s-xplained/nsh: Added an NSH configuration for the
- SAM4S Xplained board. Both the OS test and the NSH configurations
- no execute error-free. Delay loops calibrated for both the SAM4L
- and SAM4S boards (2013-6-12).
- * Standardize on CONFIG_NSH_BUILTIN_APPS. Remove all other variants
- of the build-as-an-NSH-application configuration settings
- (2013-6-12).
- * arch/arm/src/sam34/sam_periphclks.h: A header file that just
- includes the right header file. This cleans up the messy logic
- in all of the C files and puts the mess in one place (2013-6-12).
- * arch/arm/src/arm*/Toolchain.mk, Kconfig (and lots of configuration
- files): Add support for a generic Windows EABI toolchain (2013-6-13).
- 6.29 2013-07-31 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/sam34/chip/sam4l_pinmap.h: Change naming of some pin
- configurations to match names used with other SAM part (2013-6-15).
- * arch/arm/src/sam34/sam4l_clockconfig.c: Corrected some typos
- (2013-6-15).
- * configs/sam4l-xplained/src/sam_buttons.c: Eliminate a warning
- (2013-6-15).
- * configs/sam4l-xplained/src/sam_mmcsd.c, sam_nsh.c, sam_spi.c,
- sam3u-ek.h, Kconfig, Makefile, sam4l-xplained.h,
- configs/sam4l-xplained/README.txt, and
- configs/sam4l-xplained/include/board.h: Add support for the SPI-
- based SD card on the I/O1 module (2013-6-15).
- * arch/arm/src/sam34/sam_spi.c: Re-architect the SAM3/4 SPI driver
- so that is it compatible with the SPI drivers of other MCUs
- (2013-6-16).
- * configs/sam3u-ek/src/up_touchscreen.c and configs/sam4l-xplained/src/sam_mmcsd.c:
- Changed needed because of the above change to the SAM3/4 SPI
- interface (2013-6-16).
- * drivers/input/ads7843e.c: Remove the wait for the touchscreen busy
- bit. I don't see the busy bit changing on the SAM3U-EK board. But
- maybe it is not supposed to. From my reading of the ADS7843 spec, it
- would not be appropriate to wait for the BUSY bit to de-asserted
- anyway (since it is only de-asserted when we read the data)
- (2013-6-16).
- * configs/sam3u-ek/src/up_touchscreen.c: Fix polarity of the /PENIRQ
- signal (it is active low) (2013-6-16).
- * configs/sam3u-ek/include/board.h: The SAM3U-EK board now runs at
- 96MHz. This might have broken some things? (2013-6-17).
- * drivers/mmcsd/mmcsd-spi.c: Driver need to make sure that the SPI mode
- and data width are correct (2013-6-17).
- * arch/arm/src/kinetis/kinetis_tsi.h: Corrections to the Kinetis
- (2013-6-18)
- * arch/arm/src/sam34/sam_spi.c: Fix SPI mode setting. In the SAM3/4
- family, the clock phase control (CPHA) is inverted (NPHA) (2013-6-18).
- * arch/arm/src/kl/chip/kl_tsi.h: Freescale KL25Z TSI register
- definitions from Alan Carvalho de Assis (2013-6-18).
- * configs/freedom-kl25z/src/kl_tsi.c: Example TSI driver for the
- Freedom KL25Z board from Alan Carvalho de Assis (2013-6-18).
- * arch/arm/src/sam34/sam_spi.c: Correct an incorrect pointer test.
- Was checking if the wrong pointer was NULL (2013-6-18).
- * arch/arm/src/kl/kl_spi.c and chip/kl_spi.h: Add SPI driver and
- register definitions for the Freescale KL25Z (2013-6-19).
- * arm/src/sam34/chip/sam4l_lcdca.h: Register definition file for
- the SAM4L LCD peripheral (2013-6-19).
- * arm/src/sam34/chip/sam_spi.h: SPI register definition file updated
- to include a few differences for the SAM4L (2013-6-19)
- * arm/src/sam34/chip/sam4l_pdca.h: Add SAM4L PDCA register definition
- file; also renamed sam_dmac.* files to sam3u_dmac.* to identify
- them as SAM4U/4S only files (2013-6-19).
- * configs/freedom-lk25z/src/kl_spi.c: Add the framework for
- controlling SPI-related discrete inputs and outputs. Taken from
- work by Alan Carvalho de Assis (2013-6-20).
- * arch/arm/src/kl/kl_dumpgpio.c: Now compiles (2013-6-20).
- * configs/: Several defconfig files were changed that had
- CONFIG_HAVE_CXXINITIALIZE=y. Because of recent changes to
- apps/examples, these configurations may need to have
- CONFIG_EXAMPLES_NSH_CXXINITIALIZE=y so that they behave as they did
- before, i.e., so that C++ initializers will be called when NSH starts
- up (2013-6-21).
- * configs/sam4l-xplained/src/sam_slcd.c: Beginning of a driver for the
- LED1 segment LCD module. This driver is incomplete on initial check-
- in (2013-6-21).
- * drivers/net/enc28j60.c: Change buffer ordering to work around Errata
- #5. From Dave (ziggurat29, 2013-6-22).
- * configs/sam4l-xplained/src/sam_slcd.c: LED1 segment LCD module is now
- functional (2013-6-23).
- * drivers/lcd/ssd1306.c and include/nuttx/lcd/ssd1306.h. Renamed
- ug-2864hsweg01.c and .h to ssd1306.c and .h. Extended to support the
- UG-2832HSWEG04 which is very similar and also based on the SSD1306
- controller (2013-6-23).
- * configs/sam4l-xplained/src/sam_ug2832hsweg04.c: Add support for the
- UG-2832HSWEG04 OLED on the SAM4L Xplained Pro's OLED1 module
- (2013-6-23).
- * include/debug.h: Added macro DEBUGPANIC for forces crashes when debug
- is enabled.
- * drivers/lcd/ssd1306.c: Driver now appears to be function for the
- UG-2832HSWEG04 in landscape mode (2013-6-24).
- * drivers/lcd/ug-2864ambag01.c and ug-9664hswag01.c: Add/updated
- support for reverse portrait mode from lessons learned with the
- UG-2832HSWEG04. Untested changes! (2013-6-24).
- * arch/arm/src/stm32/stm32_ccm.c and .h: Add support for a seperate CCM
- heap. This may be useful for segregating allocations for CCM (which
- cannot be used for DMA) from other allocations (that may be used used
- for DMA) (2013-6-25).
- * arch/arm/src/sam32/sam3u_gpio.h: Correct configuration of PIO pins
- for SAM4S B and C peripherals (2013-6-26)
- * configs/sam4s-xplained/src/sam_sram.c: Added support for on-board
- 1MB SRAM (2013-6-26).
- * arch/arm/include/sam34/chip.h and sam3x_irq.h: Add support for
- SAM3X and SAM3A chips (2013-6-26).
- * arch/arm/src/sam34/chip/sam3x_vectors.h: Add support for SAM3X/3A
- interrupt vectors (2013-6-26).
- * arch/arm/src/sam34/sam3x_periphclks.h: Add peripheral clock
- controls for the SAM3X/3A (2013-6-26).
- * arch/arm/src/sam34/chip/sam3x_memorymap.h: Add SAM3X/3A memory map
- (2013-6-26).
- * arch/arm/src/sam34/chip/sam3x_pinmap.h: Add SAM3X/3A pin
- multi-plexing definitions (2013-6-26).
- * arch/arm/src/sam34/sam3x_gpio.h: Add SAM3X/3A gpio encoding
- macros. These differ from the SAM3U only in because of the
- 6 PIOs: PIOA-PIOF (2013-6-26).
- * configs/arduino-due: This is an empty directory now with only
- a README file in it but this directory will eventually hold a port
- for the Arduino Due (2013-6-26).
- * arch/arm/src/sam34/Kconfig: Add SAM3X/3A peripherals to the SAM3/4
- configuration logic (2013-6-26).
- * arch/arm/src and include/ and configs/sam*/: Large rename of all
- references to SPI with SPI0. This is because all other SAMs have
- only SPI but the 3X/3A have SPI0 and SPI1 (2013-6-26).
- * configs/arduino-due: Complete the basic board configuration and
- integrate this into the configuration and build system. The Arduino
- Due is now ready to begin test (2013-6-17).
- * configs/arduino-due/nsh: Add an NSH configuration for the Arduino
- Due. Both the OS test and NSH configuration are now functional
- (2013-6-28).
- * configs/arduino-due/src: Add support for the "L" LED (2013-6-28).
- * arch/arm/src/sam34/sam_allocateheap.c: Clocking must be applied
- to the SMC module for the 3X and 3A family in order for the NFC
- SRAM to be functional (2013-6-28).
- * arch/arm/src/sam34/sam3u_gpio.c: Need to disable write
- protection before configuring PIO pins.
- * configs/sam3u-ek/nsh: The touchscreen is now functional. The above
- fix to the sam3u_gpio.c write protection also fixed the touchscreen
- problem (2013-6-28).
- * confgis/sam3u_ek/nxwm: Created a configuration for the NxWM
- window manager for the SAM3U-EK board (2013-6-29).
- * drivers/spi and include/nuttx/spi: New sub-directories to hold
- SPI-related files. includes/nuttx/spi.h moved to include/nuttx/spi/.;
- SPI-related Kconfig info moved from drivers/Kconfig to drivers/spi/kconfig
- (2013-7-1).
- * drivers/spi/spi_bitbang.c and include/nuttx/spi/spi_bitbang.h: Add
- support for a generic bit-bang SPI driver. This checkout is the
- common upper-half logic. Still missing the lower half (2013-7-1).
- * include/nuttx/spi/spi_bitbang.c: This is the common lower-half bit-
- bang SPI logic (2013-7-1).
- * configs/arduino-due/src/sam_nsh.c and sam_mmcsd.c: Add NSH customize
- initialization. If so configured, initialize the SPI bit bang
- interface to the MMC/SD slot on the ITEAD shield (2013-7-1).
- * fs/fs_mount.c: Fix compilation error if no file systems are enabled:
- Change error to ERROR (2013-7-3).
- * arch/arm/src/sam34/sam_gpioirq.c: Fix some errors for interrupts
- on ports D-F (2013-7-3).
- * /drivers/usbdev/composite.c: Fix a typo in the composite device
- driver unitialization logic. DEV1 should be DEV2 in one case
- (2013-7-4).
- * arch/arm/src/sam34/sam3u_gpio.c: sam_configgpio() must protect
- against re-entrancy (2013-7-5).
- * libc/misc/lib_crc16.c and include/crc16.h: Add CRC16 support
- (2013-7-7).
- * arch/arm/src/stm32/stm32_otgfsdev.c: SourceForge bug #16: Fix
- to the endpoint allocation logic. Apparently the same endpoint can
- be allocated as both an IN or an OUT endpoint. The existing
- implementation only supported one allocation, either IN or OUT. This
- resulted in failures to allocate endpoints when used with the CDC/ACM +
- MSC composite driver (From Chia Cheng Tsao, 2013-7-8).
- * arch/arm/src/stm32/stm32_sdio.c: SourceForge bug #17: Add
- support for the data block end (DBCKEND) interrupt to terminate
- transfers (From Chia Cheng Tsao, 2013-7-8)
- * drivers/rwbuffer.c: SourceForge bug #17: Correct typos that can cause
- failures in some configurations (From Chia Cheng Tsao, 2013-7-8).
- * include/nuttx/usb/usbdev.h: Fix some typos that cause compiler errors
- when CONFIG_USBDEV_DMA and CONFIG_USBDEV_DMAMEMORY are selected (From
- Chia Cheng Tsao, 2013-7-12).
- * nuttx/configs/olimex-lpc1766stk/zmodem: Add a new configuration to
- test the Zmodem sz and rz commands (which don't actually exist yet,
- but will). (2013-7-12).
- * arch/arm/include/armv7-a and src/armv7-a: Beginning to add support
- for the ARMv7-A, the Cortex-A5 in particular. The initial checkin
- is only fragmentary: A few header files and some copied ARM9
- assembly files. More to come (2013-7-18).
- * arch/arm/include/sama5, arch/arm/src/sama5, and configs/sama5d3x-e:
- Add a directory framework to support the Atmel AT91SAMA5D3 family and
- the SAMA5D3x-EK board(s) in particular. There is very little here on
- the first check-in, this structure is being used now primarily to
- create the Cortex-A5 support (2013-7-19).
- * arch/arm/src/armv7-a/arm_cache.S: Cortex-A5 cache operations
- (2013-7-20).
- * /arch/arm/src/armv7-a/arm_fpuconfig.S and fpu.h: A few more files for
- the ARMv7-A/Cortex-A5 port (2013-7-21).
- * arch/arm/src/sama5/sam_boot.c, sam_clockconfig.h, sam_lowputc.h, and
- sam_timerisr.c: A few more files for the SAMA5D3 port (2013-7-21).
- * configs/sama5d3x-ek/src/sam_autoleds.c: A few more files for the port
- to the SAMA5D3x-EK board (2013-7-21).
- * arch/arm/src/sama5/sam_irq.c: SAMA5 interrupt handling logic
- (2013-7-22).
- * arch/arm/src/sama5/sam_clockconfig.c: Add SAMA5 PLL configuration
- logic (plus associated header files). Initiali checkin is for the
- SAM3U which is very similar but needs to be verified (2013-7-22).
- * arch/arm/src/sama5/sam_periphclks.h: Add macros to enable and
- disable SAMA5 peripheral clocks (2013-7-22).
- * arch/arm/src/sama5/sam_lowputc.c and sam_serial.c: Add support
- for SAMA5 UARTs. Does not even compile as of initial checkin.
- (2013-7-22).
- * arch/arm/src/sama5/sam_gpio.c: Add GPIO configuration support
- for the SAMA5. Still compilation issues. (2013-7-22).
- * arch/arm/src/sama5/chip/sama5d3x_pinmap.h: Add pin multiplexing
- definitions for the SAMA5D3 (2013-7-23).
- * arch/arm/src/sama5/chip/: New header files for SAMA5 AXI Matrix
- SFR, and BSC blocks (2013-7-23).
- * arch/arm/src/armv7-a/arm_vectors.S: Force 8-byte stack alignment
- in interrupt handlers before calling C code. Other ARM
- architectures need to do this as well (2013-7-23).
- * arm/src/armv7-m/up_copyarmstate.c and armv7-a/up_copyarmstate.c:
- Added a new form of the register copy function that should save quit a
- bit of time for armv7-m (without common vectors) and with armv7-a
- (2013-7-23).
- * arch/arm/src/armv7-a/arm_restorefpu.S, arm_savefpu.S, arm_doirq.c,
- arm_fullcontextrestore.S, arm_saveusercontext.S: Add hardware
- floating point register save/restore logic for the Cortex-A5
- (2013-7-23).
- * arch/Kconfig: Attempt at generic external memory configuration is not
- flexible enough, especially for the SAMA5. Move external memory
- configuration options from arch/Kconfig to
- arch/arm/src/lpc17xx/Kconfig, lpc31xx/Kconfig, sam34/Kconfig, and
- sama5/Kconfig and renamed each from CONFIG_ARCH_ to, for example,
- CONFIG_LPC31_. This renaming also affect many defconfig files
- (2013-7-24).
- * arch/arm/src/sama5/Kconfig and sam_allocateheap.c: Set up
- configuration options for SAMA5 external memory regions; add a custom
- sam_allocateheap.c to add the various configured memory regions to the
- heap (2013-7-24).
- * configs/sama5d3x-ek/src/sam_buttons.c, sam_userleds.c, and
- sam_autoleds.c: Add support for the buttons and LEDs on-board the
- SAMA5D3x-EK (2013-7-24).
- * configs/sama5d3x-ek/ostest/defconfig: Switch console to USART1
- (2013-7-4).
- * arch/arm/src/sam34/Kconfig and drivers/serial/Kconfig: All serial
- configuration logic for USARTs needs to depend on if the USART is
- configured as a UART or not. And this is for all CPUS, not just
- SAM3/4 (2013-7-24).
- * arch/arm/src/arm/up_head.S and arch/arm/src/armv7-a/arm_head.S:
- Fix a bug (uninitialized register error) that crept in the ARM9
- boot-up code several years ago and was cloned into the Cortex-A5
- code. Obviously no one has used the ARM9 NuttX port for years!
- * Many files: Finally... I changed the naming of configuration
- variables like CONFIG_DRAM_ to CONFIG_RAM_. This has bothered
- me for a long time since most boards don't have DRAM. The more
- generic RAM naming should not produce so much cognitive dissonance
- (2013-7-26).
- * configs/sama5d3x-ek/hello: Added a tiny hello world configuration
- to simplify bring up of the SAMA5 (it will probably be removed
- later) (2013-7-26).
- * The sama5d3x-ek/hello now runs correctly (2013-7-28).
- * configs/sama5d3x-ek/ostest/: This configuration has been modified
- to run out NOR flash. More work is still needed to reconfigure the
- SMC so that the NOR flash can work with the high clock (2013-7-28).
- * arch/arm/src/sama5/sam_clockconfig.c/h and
- configs/sama5d3x-ek/src/sam_norflash.c: Add a file structure that
- will (eventually) support reconfiguration of NOR flash when NuttX
- boots from NOR FLASH (2013-7-29).
- * arch/arm/src/sama5/chip/sam_hsmc/h: SAMA5 HSMC register
- definition file (2013-7-29)
- * configs/sama5d3x-ek/src/sam_norflash.c: Add board specific
- logic to re-configure the SAMA5D3x-EK NOR FLASH before while
- running out of NOR FLASH. We need to change the NOR FLASH
- timing BEFORE increasing the main clock (2013-7-29).
- * configs/sama5d3-ek/norboot and src/nor_main.c: The norboot
- configuration to help debug NuttX in NOR flash. It runs
- out of ISRAM, configures NOR FLASH, then waits for you to
- break in with a debugger to start the program in NOR FLASH
- (2013-7-29).
- * arch/arm/src/armv7-a/arm_cache.S: Separate the bigger cache
- operations into separater files (2013-7-29).
- * arch/arm/src/stm32/stm32_dac.c: Fixed numerous DAC driver
- errors and added support for DAC DMA (contributed by John
- Wharington, 2013-7-30).
- * arch/arm/src/stm32/stm32f30xx_i2c.c: An I2C driver for
- the STM32 F3 family from John Wharington (2013-7-30).
- * arch/arm/include/armv7-m: Add irqdisable() (2013-7-30);
- * configs/sama5d3-ek/src/nor_main.c: Now disables interrupts
- before jumping to NOR flash (2013-7-30).
- * configs/sama5d3-ek/nsh: Add an NSH configuration for the
- SAMA5D3x-EK (2013-7-31)
- * configs/sama5d3-ek/src/sam_cxxinitialize.c: Add C++ support
- (2013-7-31).
- 6.30 2013-09-14 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/sama5/arm_pghead.S: Separate the logic that is
- enabled by CONFIG_PAGING out of arm_head.S. That was just
- too much conditional compilation to be supportable
- (2013-8-1).
- * arch/arm/src/sama5/arm_head.S: Setup page table mappings for
- all of .text, .bss, .data, stacks and heap before enabling
- the MMU and caching. This is safer because it avoids the
- caching issues (and much less redundant) (2013-8-1)
- * arch/arm/src/sama5/chip/sam_mpddrc.h: Add DDR controller
- registers definitions for the SAMA5 (2013-8-1).
- * nuttx/configs/sama5d3x-ek/src/sam_sdram.c: Add logic which
- will (eventually) support the SDRAM on the SAMA5D3x-EK
- board. Initial commit is untested and incomplete (2013-8-1).
- * arch/arm/src/armv7-a/arm_mmu.c: Move some generic MMU logic
- out of SAMA5-specific code into this share-able file (2013-8-2)
- * arch/arm/src/armv7-a/mmu.h: Add inline functions to invalidate
- a single TLB.
- * arch/arm/src/sama5/sam_allocateheap.c and chip/sama5d3x_memorymap.h:
- Add logic to handle signed overflow when a memory region is
- greater than or equal to 2GB (2013-8-2).
- * arch/arm/src/sama5/sam_boot.c: Boot logic now initially
- configures DRAM as strongly ordered so that it can be initialized.
- After initialization, the page table entries are modified so
- that DRAM is fully cache-able (2016-8-2).
- * arch/arm/src/sama5/chip/sam_mpddrc.h: Correct typos in the
- SAMA5 DDR controller register definitions (2013-8-2).
- * arch/arm/src/sama5/sam_irq.c: Correct handling of spurious
- interrupts (2013-8-3).
- * arch/*/src/*/*_irq.c: Standardize configuration variables used
- to enable interrupt controller debug output (2013-8-3).
- * arch/arm/src/sama5/chip/sam_dmac.h: Add register definitions for the
- SAMA5 DMA controller (2013-8-3).
- * arch/arm/src/sama5/sam_dmac.c and sam_dmac.h: Add support for the
- SAMA5 DMAC controllers. Initial check-in is untested and is a
- straight leverage from the SAM3/4 (2013-8-4).
- * arch/arm/src/sama5/sam_spi.c, sam_spi.h, and chip/sam_spi.h:
- Leverage SPI support from SAM/3/4. Initial check-in is untested
- and have several limitations: No DMA, no SPI1 support (2013-8-4).
- * arch/arm/src/sama5/sam_spi.c and sam_spi.h: Now supports SPI1
- and a register access debug option (2013-8-4).
- * configs/sama5d3x-ek/src/sam_spi.c: Add board support for the
- AT25 serial flash (2013-8-4).
- * configs/sama5d3x-ek/nsh/defconfig: FAT file system support is
- now enabled by default (2013-8-5)
- * configs/sama5d3x-ek/src/sam_nsh.c: Automatically mount AT25
- file system for NSH if so configured (2013-8-5).
- * configs/sama5d3x-ek/src/sam_nsh.c: Verified that the AT25 FLASH
- works on the SAMA5D3x-EK boards and can support a FAT file system
- (2013-8-5).
- * arch/arm/src/sam34/sam_spi.c: Corrected an error in the SAM3/4
- SPI driver while testing the SAMA5 SPI driver: If CONFIG_SPI_OWNBUS
- is not set, the driver will not configure the SPI mode correctly
- (2013-8-5).
- * configs/sama5d3x-ek/src/sam_at25.c: Move AT25 initialization logic
- out of sam_nsh.c and into a separate file where it can be better
- shared (2013-8-5).
- * arch/arm/src/sama5/sam_hsmci.c, sam_hsmci.h, and chip.sam_hsmci.h:
- Add register definitions and a driver for the (3) HSMCI memory card
- interfaces provided by the SAMA5. Leveraged from the SAM3/4 and
- untested on initial commit (2013-8-5).
- * nuttx/configs/sama5d3x-ek/src/sam_hsmci.c and sam_nsh.c: Add support
- for the (2) SD card slots provided on the SAMA5D3x-EK boards.
- Untested on initial commit (2013-8-5).
- * arch/arm/src/sama5 and nuttx/configs/sama5d3x-ek: Massive renaming
- to get consistent once and for in the usage of PIO vs GPIO. Other
- platforms use the term GPIO more, but Atmel prefers PIO. I prefer
- consistency. Also fixed CONFIG_PIO vs CONFIG_SAMA5_PIO and renamed
- files sam_gpio.* to sam_pio.* (2013-8-6).
- * arch/arm/src/sama5/sam_pioirq.c: Add support for SAMA5 PIO interrupts
- (2013-8-6).
- * configs/sama5d3x-ek/src/sam_hsmci.c: Add support for SD slot card
- detection PIO interrupts (2013-8-6).
- * arch/arm/src/sam34/sam_hsmci.c and sama5/sam_hsmci.c: Fix handling
- of some masked status conditions that can cause false-alarm errors
- (2013-8-6).
- * arch/arm/src/sama5/sam_dmac.c and sam34/sam34_dmac.c: For SAMA5,
- correct some bad register address and some bad assertions that caused
- false alarms. These latter were backported to the SAM34 DMAC driver
- as well (2013-8-6).
- * arch/arm/src/sama5/sam_dmac.c and sam34/sam34_dmac.c: Correct
- some parameters reversed in function call (2013-8-6).
- * arch/arm/src/sama5/sam_spi.c: The SAMA5 SPI driver now supports
- DMA transfers (2013-8-9).
- * arch/arm/src/sama5/sam_dmac.c: Finally after many bugfixes (the
- last being caching issues), the SAMA5 DMA support has been
- verified (with SPI) (2013-8-9).
- * arch/arm/src/sama5/sam_memories.c and .h: Centralize logic for
- conversions between physical and virtual addresses (2013-8-9).
- * arch/arm/src/sama5/sam_hsmci.c and sam34/sam_hsmci.c: Correct a
- race condition in the SAMA5 HSCMI driver: The transfer done
- interrupt was firing before the wait was started. Fix this and
- also backported the changes to SAM3/4 (untested). Now HSCMI is
- functional on the SAMA5 with DMA! (2013-8-10).
- * arch/arm/src/sam34/sam3u_periphclks.h: Correct a typo in a register
- name (2013-8-10).
- * drivers/mmcsd/mmcsd_sdio.c: Correction for a bad return value
- when multiple block SDIO transfers are suppressed. By Andrew Tridgell
- via Lorenz Meier (2013-8-10).
- * drivers/serial/serial.c, drivers/usbdev/cdcacm.c, and
- include/nuttx/fs/ioctl.h: Added support for FIONREAD and FIONWRITE,
- added TERMIOS input / output processing support for UART and CDCACM
- serial ports. Implemented by Mike Smith, Andrew Tridgell and Lorenz
- Meier (2013-8-10).
- * drivers/usbdev/cdcacm.c: Added FIONREAD and FIONWRITE to CDC/ACM
- driver based on serial.c implementation. From Lorenz Meier
- (2013-8-10).
- * arch/arm/src/stm32/Kconfig and stm32_serial.c: Added option to
- disable serial port reordering. From Lorenz Meier (2013-8-10).
- * arch/arm/src/sama5/Kconfig, sam_ohci.c, and
- arch/arm/src/sama5/sam_clockconfig.c: Add a OHCI driver for the SAMA5.
- Untested on initial check-in (2013-8-11).
- * include/nuttx/usb/usbhost.h, arch/arm/src/stm32, arch/arm/src/lpc17xx,
- and include/nuttx/usb/usbhost.h, and nuttx/configs/<stm32-boards>:
- Move prototype of usbhost_initialize() of usbhost.h and into
- architecture specific files. This is necessary because some chips
- (like the SAMA5) have multiple, different USB host interfaces
- (2013-8-11).
- * drivers/usbhost/usbhost_hidkbd.c and usbhost_storage.c: Correct some
- compilation errors when pre-allocated class structures are used. Also
- eliminate some warnings about uninitialized variables (2013-8-11).
- * configs/sama5d3x-ek/src/sam_usb.c and related files: Add support for
- initialization of the USB host and mass storage class device (2013-8-11).
- * arch/arm/src/sama5/sam_ohci.c and sam_usbhost.h (was sam_ohci.h), and
- configs/sama5d3x-ek/src/sam_usb.c, and sama5d3x-ek.h: Add controls
- to enable VBUS power in OHCI host most (2013-8-12).
- * includes/nuttx/usb/usbhost.h, all USB host drivers in arch/, and all
- USB host-side connection monitoring threads in configs/*/src: The
- SAMA5 has three downstream ports; all of the other USB host
- implementations have only one. This will require significant changes
- to the USB host interfaces starting with these chnages to monitor
- connections on a port-by-port basis. This effects a lot of files and
- more changes are coming for this issues. Changes are being blindly
- incorporated into other architrectures. I am being careful to avoid
- breakage, but I expect some (2013-8-12).
- * configs/olimex-stm32-p107/nsh/defconfig and appconfig: Converted to
- use the kconfig-frontends tool. From Max Holtzberg (2013-8-12).
- * includes/nuttx/usb/usbhost.h, et al: Continued changes to the USB
- host interface to support multiple downstream ports. When a class
- is disconnected, it needs to provide the FunctionAddress to the
- USB HCD disconnect method so that the HCD will know which port
- is being disconnected (2013-8-12).
- * nuttx/arch/arm/src/stm32/Kconfig, Make.defs, and /stm32f30xxx_i2c.c:
- STM32 F3 I2C fixes from John Wharington (2013-8-13).
- * nuttx/arch/arm/src/sama5/sam_serial.c: Fix a re-entrancy problem
- in up_putc(). I think all architectures have this re-entrancy
- than can result in serial interrupt being disabled, but I have only
- seen the symptom on SAMA5 (2013-8-13).
- * includes/nuttx/usb/usbhost.h and many other affected files: Separate
- wait() and enumerate() methods from struct usbhost_driver_s and move
- to new interface, struct usbhost_connection_s. This is part of the
- necessary restructuring of the USB host interface to support multiple
- root hub ports (2013-8-13).
- * arch/arm/src/sama5/sam_ohci.c: Major restructuring of the driver due
- in order to handle multiple root hub ports. Basically instead of one
- driver structure with an arrayof root hub port structures, there is no
- one container structure with an array of driver structures, one for
- each root hub port. The advantage is that each class->driver call not
- passes information associated with the RHport implicitly. The klugey,
- procedural alternative was to add the function address to every
- interface method (which I started to do but backed above) (2013-8-13).
- * arch/arm/src/sama5/sam_memories.c and .h: Extended logic so do
- conversions from physical to virtual addresses (2013-8-14).
- * arch/arm/src/sama5/sam_ohci.c: Add D cache contols and conversion
- between physical and virtual address (2013-8-14).
- * arch/arm/src/stm32/stm32_spi.c: nbits() interface extended to
- control bit order as well as bit width (from Teemu Pirinen)
- (2013-8-16)
- * arch/arm/src/sama5/sam_ohci.c: More to be tested, but the SAMA5
- OHCI driver is now basically funtional (2013-8-16).
- * include/nuttx/usb/ehci.h: EHCI header file (2013-8-17).
- * arch/arm/src/stm32/stm32_i2c.c: Correct an error that crept into
- the STM32 F1 I2C driver with some recent changes. From Yiran Liao
- (2013-8-18).
- * drivers/usbhost/usbhost_devaddr.c and include/nuttx/usb/usbhost_devaddr.h:
- Add logic for management of device addresses. This logic does not
- currently hook into into anything. It will someday be a part of the
- NuttX USB hub implementation (2013-8-18).
- * nuttx/arch/arm/src/sama5/sam_ehci.c and other files: Create a skeleton
- environment for development of an EHCI driver. Not much in place yet
- (2013-8-20).
- * nuttx/arch/arm/src/sama5/sam_ehci.c: Now code complete for all
- asynchronous endpoints (control and bulk); nothing yet in place
- for periodic endponts (interrupt and isochronous) (2013-8-22).
- * include/nuttx/serial/serial.h and arch/arm/src/stm32/chip/stm32f40xxx_pinmap.h:
- SourceForge bug #16 Fix IO pin map. Add CONFIG_SERIAL_TERMIOS support.
- Also fixes some STM32 F4 Timer 8 pin configurations. From CCTSAO
- (2013-8-23).
- * arch/arm/src/lpc17xx/lpc17_usbhost.h: Fix #endif with missing #if
- condition. Reported by Andrew Bradford (2013-8-23).
- * nuttx/arch/arm/src/sama5/sam_ehci.c: Now handles low- and full-speed
- connections by giving the port to the OHCI driver (2013-8-24).
- * nuttx/arch/arm/src/sama5/sam_ohci.c: Now uses the work queue to
- defer interrupt processing (2013-8-24).
- * nuttx/arch/arm/src/sama5/sam_ohci.c and nuttx/arch/arm/src/sama5/sam_ehci.c:
- EHCI is now the common interrupt "master." It will receive all UHPHS
- interrupts and route the interrupt event to both the OHCI and EHCI
- logic (2013-8-24).
- * net/uip/uip_arp.c: Correct backward condition in netmask task.
- From Max Holtzberg (2013-8-25).
- * arch/arm/src/sama5/sam_ohci.c: SAMA5 OHCI is again functional by
- itself after all of the changes to integrate with EHCI. (2013-8-25).
- * drivers/net/encx24j600.c/.h and include/nuttx/net/encx24j600.h:
- Support the Microchip ENCX24J600 Ethernet driver from Max Holtzberg
- (2013-8-25).
- * configs/olimex-stm32-p107: Incorporate ENCX24J600 support for the
- Olimex STM32 P107 board. From Max Holtzberg (2013-8-25).
- * fs/romfs/fs_romfsutil.c: Fix an error where long (>15) file names
- were read incorrectly from a ROMFS file system. From Mike Smith
- (2013-8-25).
- * arch/arm/src/stm32/stm32_sdio.c: SourceForge bug #17 Fix if
- CONFIG_SDIO_BLOCKSETUP defined, OS will crash". Generate an error
- if CONFIG_SDIO_BLOCKSETUP is defined; that option is not yet supported
- by the STM32 SDIO driver. From CCTSAO (2013-6-26)
- * drivers/net/encx24j600.c and .h: Use the ENC's SRAM for multiple TX
- packets. From Max Holtzberg (2013-6-26).
- * include/nuttx/usb/usbhost.h, drivers/usbhost/usbhost_enumerate.c, and
- all USB host drivers: Added a new driver method: getdevinfo. This
- method is intended to get various information about the connected device,
- but currently returns only the device speed. The device speed is
- necessary by usbhost_enumerate in order to set a credible initial EP0
- max packetsize. High speed needs 64 bytes, low speed needs 8 bytes,
- and full speed can handle almost any size (2013-8-26).
- * arch/arm: Add hooks for Cortex-A8. Not much more yet (2013-8-27).
- * Lots of files: Fix all occurrents of "the the" in documentation and
- comments (2013-8-27).
- * arch/arm/src/sama5/sam_allocateheap.c: Correct the logic that
- determines which memory regions get added to the heap. When
- CONFIG_MM_NREGIONS > 1, the logic was adding the ISRAM region to
- the heap twice! (2013-6-27).
- * nuttx/arch/arm/src/sama5/sam_ehci.c: Add (untested) support for
- interrupt endpoints (2013-8-28).
- * arch/arm/src/sama5/chip/sam_udphs.h: High-speed USB device register
- definitions for the SAMA5 (2013-8-28)
- * arch/arm/src/sama5/sam-udphs.c: A framework for the USB device
- driver taken from another architecture. There is very little
- useful in this initial check-in (2013-8-29).
- * Remove all empty and most useless README.txt files (2013-8-31)
- * configs/freedom-kl25z/src/kl_spi.c: Correct typo in name of a
- function. From Alan Carvalho de Assis (2013-8-31).
- * drivers/usbdev/cdcacm_desc.c: Fixed some compilation errors that
- only occur when dual speed support is enabled (2013-9-1).
- * arch/arm/src/sama5/sam_clockconfig.c and configs/sama5d3x-ek/include/board_*mhz.h:
- Add logic to support UDPHS clocking (2013-9-13).
- * arm/src/stm32/chip/stm32_tim.h: Some CCER bit settings changed
- per SourceForge bug #18 submitted by CCCTSAO (2013-9-2).
- * apps/examples/cc3000, configs/freedom-kl25z, drivers/wireless/cc3000,
- and nuttx/include/nuttx/cc3000. Initial support for the TI CC3000
- network module on the Freescale Freedom-KL25Z board from Alan Carvalho
- de Assis. This is still very much a work in progress (2013-9-3).
- * configs/*/usbmsc: Renamed from config/*/usbstorage to match the
- change in naming in apps/examples submitted by CCTSAO (2013-9-5).
- * drivers/usbdev/cdcacm.c and pl2303.c: Don't use max packetsize assigned
- to the endpoint when allocating request buffers; The default value of
- the endpoint max packetsize may be incorrect because the endpoint
- has not yet been configured. Verified on CDC/ACM. Corresponding
- changes made to pl2303, but untested (2013-9-5).
- * arch/arm/src/sama5/sam_udphs.c: The high-speed device side driver
- is now functional (although more testing is always needed) (2013-9-5).
- * net/net_monitor.c: Fixes a race condition where a loss of connection
- may not be detected when the connection is lost before it has been
- accepted (from Max Holtzberg) (2013-9-6).
- * configs/sama5d3x-ek/demo: Add a new NSH configuration. The
- original NSH configuration will be a simple platform for testing
- individual features; the demo configuration will be a more complex
- platform for demonstrating multiple interacting features (2013-9-6).
- * net/uip/uip_tcpbacklog.c: Fix a major bug in the TCP/IP backlog
- initialization: Only the first backlog buffer was getting added
- to the free list. From Max Holtzberg (2013-9-6).
- * configs/sama5d3x-ek/demo: Add support for USB MSC device on the
- AT25 serial FLASH (untested) (2013-9-6).
- * drivers/net/enc28j60.c: Changes back-ported from the ENCX24J600
- to the ENC28J60 by Max Holtzberg. These seem like reasonable and
- correct changes, but have yet to be verified on an ENC28J60 (2013-9-6).
- * drivers/usbdev/usbdev_strings.c: Extended decoding and stringifying
- of USB trace output to include trace output from class drivers.
- (2013-9-6).
- * drivers/usbdev/usbmsc_desc.c: Fix a warning when USB MSC is
- compiled for a high-speed device (2013-9-7).
- * drivers/usbhost/usbhost_storage.c: If device is returning fatal
- transfer errors while attempt to initialize, don't bother with
- the startup retries; abort immediately so that the device will
- be reset and we can try again (2013-9-9).
- * drivers/usbhost/usbhost_storage.c: Correct a reference counting
- error: When an MSC device transfer fails while waiting for
- UnitTestReady (see 2013-9-9), the reference count was not being
- decremented. The end result is a memory leak (2013-9-10).
- * arch/arm/src/sama5/chip/sam_twi.h: Added SAMA5 TWI register
- definition file (2013-9-11).
- * arch/arm/src/sama5/sam_twi.c and .h: Framework for a SAMA5
- TWI driver (not much present in initial checkin) (2013-9-11).
- * fs/nxffs: Clean up some compilation warnings (2013-9-12)
- * drivers/mtd/at24xx.c: Add support for the AT 24C512 part
- (2013-9-12).
- * arch/arm/src/sama5/sama5_twi.c: Clean up some errors that
- only occur with CONFIG_DEBUG_I2C (2013-9-12).
- * arch/arm/src/sama5/chip/sam_emac.h and sam_gmac.h: Register
- definition files for the SAMA5 EMAC and GMAC peripherals
- (incomplete on the initial commit) (2013-9-12).
- * arch/arm/src/stm32/stm32_can.c: Make filter register accessible
- for CAN1 and CAN2. Patch provided by Lorenz Meier (2013-9-13).
- * nuttx/include/nuttx/usb/cdcacm.h: Fix backward conditional
- compilation in the CDC/ACM driver with regard to remote
- wakeup and self-powered capabilites. Provided by Lorenz Meier
- (2013-9-13)
- * fs/romfs/fs_romfsutil.c: Fix for filenames > 15 characters.
- Provided by Lorenz Meier (2013-9-13).
- * arch/arm/src/stm32/Kconfig: Fix STM32 UART7/8 kconfig names
- and UART DMA. Provided by Lorenz Meier (2013-9-13).
- * configs/maple: Board configuration for the LeafLabs Maple
- and Maple Mini boards. From Librae (2013-9-13).
- * arch/arm/src/sama5/sam_emac.c and .h: Skeleton files for
- a SAMA5 EMAC driver. Not much in the initial files; these
- are just hacked out and gutted versions of the corresponding
- STM32 files (2013-9-13).
- 6.31 2013-10-28 Gregory Nutt <gnutt@nuttx.org>
- * nuttx/fs/romfs/fs_romfsutil.c: Back out part of a recent
- ROMFS change (2013-9-14).
- * configs/sama5d3x-ek/src/sam_ethernet.c: Add support for
- PHY interrupts (2013-9-15).
- * arch/arm/src/kl/chip/kl_pit.h and kp_tpm.h: Add register
- definitions for the Freescale Kinetis KL25Z from Alan
- Carvalho de Assis (2013-9-15).
- * configs/ and a few Ethernet drivers: Add the prefix ETH0
- to all PHY configuration selections. This will allow us
- to support to Ethernet MAC drivers with two different
- PHYs (identified with ETH0 and ETH1) (2013-9-17).
- * net/Kconfig and drivers/net/Kconfig: Move PHY selections from
- net/Kconfig to drivers/net/Kconfig where they belong. Add the previx
- ETH0_ to each PHY selection. And a new configuration
- CONFIG_NETDEV_MULTINIC that can be set to enable support for multiple
- Ethernet MAC drivers (not fully implemented yet). When Enabled,
- another set of PHY selections are enabled for ETH1_ (2013-9-17).
- * include/nuttx/net/mii.h: Add definitions for the Micrel KSZ8051 PHY
- (2013-9-17).
- * configs/zkit-arm-1768: MMC/SD is on SPI, not SSP0. From Rashid
- Fatah (2013-9-17).
- * configs/: Lots of defconfig files changes. A consequence of the
- above renaming and moving of the PHY configuration settings is
- that the you now also have to set CONFIG_NETDEVICES=y if you
- need to set a PHY configuration (2013-9-17).
- * arch/arm/src/lpc17xx/lpc17_spi.c: Remove undefined spi_select()
- prototype. This was causing compile time warnings (2013-9-17).
- * configs/sama5d3x-ek/src/sam_ostest.c: Add OS test support for
- the FPU test (2013-9-18).
- * arch/arm/src/sama5/sam_usbhost.h and include/nuttx/usb/usbhost_trace.h
- Correct some inconsistencies in the way that USB configuration
- settings are used. This caused compilation errors in SAMA5 OHCI
- when USB debug was ON but USB host tracing was off (2013-9-19).
- * nuttx/arch/arm/src/sama5/sam_clockconfig.c: When 480MHz UPLL
- is used to drive OHCI, it should have a divider of 10. However,
- that does not work. A divider of 5 does. Why? (2013-9-19).
- * Several USB device driver files: Change naming of SELFPOWERED
- and REMOTEWAKEUP to avoid name collisions. Prepend the name
- of the driver (for example CDCACM_SELFPOWERED) (201309-20).
- * configs/sama5d3x-ek/nsh and demo: Increase the number of pre-allocated
- watchdog timers. The default number of 4 was easily being exhausted
- in the more complex configurations. Enable the task name feature
- to provide prettier ps command output. src/sam_usb.c: Use more
- descriptive task names when starting the EHCI and OHCI monitor tasks
- (2013-9-20).
- * arch/arm/src/sama5/sam_ohci.c: Fix a place where DMA-related data
- needed to be flushed to data cache; Fix another where a virtual address
- was being used in a register where a physical address was required
- (2013-9-20).
- * arch/arm/src/armv7-a/cp15_clean_dcache.S and cp15_flush_dcache.S:
- fix an error in the alignment of addresses to cache line boundaries
- (2013-9-21).
- * drivers/usbdev/cdcacm_desc.c: Change the interval for the interrupt
- endpoint from 0xff (invalid) to 10. This is not a critical change
- but will avoid a complaint from the Linux driver when it overrides
- the 0xff value (2013-9-22).
- * configs/zkit-arm-1769: LED1 is now user controllable after booting.
- From Rashid Fatah (2013-9-23).
- * arch/arm/src/sama5/sam_hsmci.c: TX DMA disabled. It is just not
- reliable. No idea why. RX DMA is still used (2013-9-23).
- * driver/net/encx24j600.c: UDP/RXAVAIL backlog support from Max
- Holtzberg (2013-9-24).
- * Standardized stack checking logic so the interfaces can be used
- by common stack monitoring logic (2013-9-24).
- * drivers/net/Kconfig: Move CONFIG_NET_DUMPPACKET out of LPC17
- and STM32 Kconfigs into the common network driver Kconfig (2013-9-25).
- * arch/arm/src/sam_emac.c: EMAC driver is basically functional. More
- testing is needed (as always) (2013-9-25).
- * configs: Changes to many defconfig files resulting from moving
- apps/examples/usbmsc to apps/system/usbmsc (2013-9-25).
- * configs: Changes to many defconfig files resulting from moving
- apps/examples/cdcacm to apps/system/cdcacm (2013-9-25).
- * configs: Changes to many defconfig files resulting from moving
- apps/examples/composite to apps/system/composite (2013-9-25).
- * configs/stm3210e-eval/composite: Converted to use the kconfig-
- frontends tool (2013-9-25).
- * arch/arm/src/sama5/sam_gmac.c: Initial GMAC driver is really
- just the EMAC driver forced to compile with the GMAC register
- definitions (2013-9-26).
- * arch/arm/src/sama5/sam_gmac.c and include/nuttx/net/gmii.h:
- Beginning of support for GMII/RGMII PHY support (2013-9-26)
- * net/netdev_txnotify.c: Look up of device using subnet will fail
- if the packet is being sent out of our subnet (via a router).
- The fallback here is just to use "eth0" if the subnet lookup
- fails. This will, of course, will have to be revisited if/when
- multiple NICs are supported. From Max Holtzberg (2013-9-27).
- * net/send.c: Fix some backward conditional logic in check
- to see if we should check if the ARP address in the table. From
- Max Holtzberg (2013-9-27).
- * drivers/net/encx24j600.c: Removed logic that polls for the
- next outgoing packet from the TX done interrupt handling. From
- Max Holtzberg (2013-9-27)
- * sched/os_start.c: Should not call group_setupidlefiles() if there
- are no file descriptors (and, hence, no file system) (2013-9-27).
- * arch/arm/src/sama5/sam_gmac.c: GMAC driver and GMII logic is
- code complete and ready for test (2013-9-27)
- * configs/compal_e86: Basic board support for the Motorola C139
- (Compal E86) phone. From Craig Comstock (2013-9-27).
- * configs/compal_e86: Converted to use the kconfig-frontends
- tools (2013-9-27).
- * drivers/net/encx24j500.c: Use separate pools for RX and TX
- descriptors. From Max Holtzberg (2013-9-28).
- * nuttx/fs/fs_sendfile.c, nuttx/net/net_sendfile.c, and other file:
- Integrate an optimized sendfile() operation from Max Holtzberg
- (2013-9-28).
- * tools/mkdeps.*, nuttx/mm/Makefile, nuttx/libc/Makefile: Dependency
- generation generation was broken for directories that keep objects in
- a sub-directory. Fixed by adding a object path to the mkdeps.c,
- mkdeps.bat, mkdeps.sh tools (2013-0-29).
- * arch/arm/src/sama5/chip/sam_adc.h: ADC register definition file.
- Incomplete on initial check-in (2013-9-29).
- * arch/arm/src/sama5/sam_adc.c and .h: Framework for an ADC
- driver to come (just empty "skeleton" files on initial commit)
- (2013-9-30).
- * arch/arm/src/sama5/sam_touchscreen.h and .h: Framework for a
- touchscreen driver (also an empty "skeleton" file on the initial
- commit) (2013-9-30).
- * arch/arm/src/kl/kl_lowgetc.c and .h: First cut at low-level
- getc() function for operation with no file system (and, hence,
- no serial driver) (from Alan Carvalho de Assis, 2013-9-30).
- * configs/freedom-kl25z/minnsh: A new configuration that is
- an experiement to see how small we can get the NuttX footprint.
- From Alan Carvalho de Assis. (2013-9-30).
- * net/net_sendfile: The high performance sendfile logic is
- now functional. From Max Holtzberg (2013-9-30).
- * tools/define.sh: 'cut' no longer works as it once did. Script
- adapted to observed behavior (2013-9-30).
- * include/nuttx/net/route.h and net/net_*route.c: Partial
- implementation of a routing table. Not yet hooked into the
- build system (2013-10-1)
- * include/net/route.h: Defines the application interface to
- the routing table (2013-10-2).
- * configs/spark: Add configuration for the Spark Core. The
- initial check-in is basically the Maple Mini board (2013-10-2).
- * include/net/route.h and libc/net/lib_addroute.c and delroute.c:
- Add an application interface to manage the routing table
- (2013-10-2).
- * arch/arm/src/sama5/sam_adc.c and sam_tsc.c: The SAMA5
- touschscreen drive is basically functional) (2013-10-3)
- * arch/arm/src/sama5/chip/sam_lcdc.h: Add SAMA5 LCD register
- definition header file (2013-10-4).
- * net/netdev_findbyaddr.c: Now (1) uses the routing table
- if available to look up the router to get to a remote network,
- and (2) if there is only a single network device and no
- route, then it will simply return that single device. The
- ARP logic will use the default router address associated with
- the interface in this case (2013-10-5).
- * net/netdev_router.c and net/uip/uip-arp.c: When the target IP address
- does not lie on the device's networker when we have a routing table,
- looking the correct router IP address to use in the ARP request.
- In that case, we want the MAC address of the router, not of the
- target endpoint (2013-10-5).
- * net/netdev_rxnotify.c and others: Use the new signature of rxnotify
- caused by the routing table. From Max Holtzberg (2013-10-6).
- * arch/arm/src/sama5/sam_lcdc.c and .h: Empty "skeleton" file that
- will eventually become an LCDC driver for the SAMA5 (2013-10-6).
- * net/net_close.c, net/uip/uip_tcpcon, and include/nuttx/net/uip/uip-tcp.h:
- Make net_close() nonblocking and free unestablished connections if no
- free connections available. From Max Holtzberg (2013-10-6).
- * net/net_close.c and other: Update of change of 2013-10-6 from
- Max Holtzberg (2013-10-8).
- * arch/arm/src/sama5/sam_lcd.c: LCDC driver is code complete and
- incorporated into the build system (but still untested (2013-10-8).
- * configs/sama5d3x-ek/nx: Add an examples/nx configuration that
- will be used for the SAMA5 LCD bring-up (2013-10-8).
- * configs/arduino-due/Kconfig and include/board.h: Add configuration
- to select revision 3 of the Arduino Due which has some small
- but important differences. Suggested by gdi@embedders.org.
- * arch/arm/src/sama5/sam_allocateheap.c, Kconfig, chip/sama5d3_memorymap.h:
- Add support so that subsets of the total DRAM (and other external
- memory) can be added to the heap, leaving other memory reserved for
- other purposes (like LCDC framebuffers) (2013-10-10).
- * arch/arm/src/sama5/sam_lcd.c: Change how DMA descriptors are
- allocated. My reading of the SAMA5 MATRIX is that the LCDC will
- be unable to DMA from internal SRAM (2012-10-10).
- * arch/arm/src/sama5/Kconfig and configs/sama5d3x-ek/nx/defconfig: The
- default LCD resolution is now RGB565. Added output resolution selection
- which can be different from the software resolution (2013-10-10.
- * arch/arm/src/sama5/sam_lcd.c wait before modifying register if the LCDC
- is re-synchronizing (SIF). Use start-up configuration settings from
- Barebox. They still don't work (2013-10-10).
- * net/net_monitor.c: Notify the socket layer if a connection is lost
- before the monitoring callback has been registered. From Max
- Holtzberg (2013-10-11).
- * net/recvfrom.c, sendto.c, uip/uip_input.c, uip/uip_udpcallback.c,
- uip/uip_udpconn.c, uip/uip_udpinput.c: Changed the meaning of the
- uip_*input functions. They now return success when a packet is
- dropped; This is needed for the ENCX24J600 driver that must make
- a decision to return the packet or not: It should not retry
- dropped packets. From Max Holtzberg (2013-10-11).
- * drivers/net/encx24j600.c and Kconfig: ENCX24J600: Improved descriptor
- handling, free packets on rx abort interrupt. From Max Holtzberg
- (2013-10-11).
- * arch/arm/src/sama4/sam_lcd.c and configs/sama5d3x-ek/include/board.h:
- Fix PWM precealler divider. This eliminiates the backlight flicker
- (2013-10-11).
- * arch/arm/src/sama5/sam_boot.c: Correct how framebuffer memory was
- being mapped. The mapping was getting overrwritten and the
- framebuffer memory was ending up cacheable (2013-10-13).
- * arch/arm/src/sama5/Kconfig, sam_lcdc.c, defconfig, and related files:
- Remove options for obtaining framebuffer memory in other ways. That
- option just really cannot work (2013-10-13).
- * configs/sama5d3x-ek/nxwm: Add NxWM configuration for SAMA5D3x-EK
- (2013-10-13).
- * configs/sama5d3x-ek/nxwm/defconfig: Now uses scaled icons in the
- the NxWM taskbar (2013-10-15).
- * configs/sama5d3x-ek/nxwm/defconfig: Use the 320x320 NuttX logo as
- the NxWM background (2013-10-15).
- * arch/arm/src/stm32/chip/stm32f103c_pinmap.h: Pinmapping corrections
- from David Sidrane (2013-10-16).
- * configs/spark: The Spark device configuration is receiving some
- TLC from David Sidrane (2013-10-16).
- * drivers/mtd/sst25.c: Add support for the SST25VF016B. From David
- Sidrane (2013-10-16).
- * net/net_close.c: Changed net_close debug output to verbose. From
- Max Holtzberg (2013-10-17).
- * net/send.c and net_sendfile.c: Reset the send timeout when the
- data is ACKed, not when the data is sent. Remove conditions on
- checking for timeout. From Max Holtzberg (2013-10-17).
- * net/net_sendfile.c: Correct parameter passed to netdev_txnotify()
- from Max Holtzberg (2013-10-17).
- * include/nuttx/net/uip/uip-tcp.h, net/send.c, uip/uip_tcpconn.c, and
- uip/uip_tcpinput.c: Change how the initial minimum MSS is calculated.
- Max Holtzberg (2013-10-17).
- * net/uip/uip_tcpinput.c: Move tcp connection into SYN_RCVD state
- after aception instead of bypassing and moving directly into ESTABLISHED.
- From Max Holtzberg (2013-10-17).
- * net/net_sendfile.c: Let the ACK callback handle the REXMIT flag and
- don't return until all data has been ACK'd. From Max Holtzberg
- (2013-10-17).
- * arch/arm/src/stm32/chip/stm32f40xxx_dma.h: Typo fixes for UART7 and
- UART8 DMA configs. From Mike Smith (2013-10-18).
- * arch/arm/src/stm32/Kconfig: DMA priority corrections from Mike Smith
- (2013-10-18).
- * arch/arm/src/stm32/stm32*_dma.c, stm32_sdio.c, and stm32_dma.h:
- Changes to the stm32_dmacapable API. In order to correctly verify that
- a buffer can be transferred, the transfer count and the CCR value are
- required. Implemented stm32_dmacapable for stm32f1xx devices. Enhanced
- stm32_dmacapable for stm32f2xx and stm32f4xx devices to check for
- additional conditions that will cause DMA to fail or lose data (2013-10-18).
- * include/nuttx/sdio.h: Add a preflight method to the SDIO interface.
- From Mike Smith (2013-10-18).
- * drivers/mmcsd/mmscd_sdio.c: Enhanced the mmcdd_sdio driver to perform
- DMA preflight operations and fail DMA read/write requests that fail
- preflighting. From Mike Smith (2013-10-18).
- * fs/fat/fs_fat32.c: Enhanced the FAT32 filesystem code to understand DMA
- preflight failures, and to use the file sector buffer as a bounce buffer
- when a user-supplied buffer is not suitable for DMA. From Mike Smith
- (2013-10-18).
- * arch/arm/src/sama5/chip/sam_rtc.h and sam_wdt.h: Add WDT and RTC
- register definition header files (2013-10-18).
- * arch/arm/src/sama5/chip/sam_rtc.c and sam_rtc.h: Basic RTC driver.
- Support for RTC alarms is fragmentary and this has not yet been hooked
- into the build system (2013-10-18).
- * Various Spark and CC3000 files: Update by David Sidrane (2013-10-18).
- * arch/arm/src/sama5/chip/sam_gpbr.h: Add SAMA5 GPBR register
- definitions (2013-10-19).
- * Kconfig: Add support for CONFIG_DEBUG_RTC (2013-10-19).
- * configs/sama5d3x-ek/README.txt, demo/defconfig: Describe how to
- enable RTC support for the nsh/ configuration; RTC is now enabled by
- default in the demo configuration (2013-10-19).
- * arch/arm/src/sama5/sam_rtc.h and other files: Hook the SAMA5 RTC
- driver into the build system; Verify the correct operation of the
- SAMA5 RTC driver (2013-10-19).
- * arch/arm/src/sama5/sam_wdt.c and .h: Add a SAMA5 watchdog timer
- driver. Untested on initial check-in (2013-10-19).
- * arch/arm/src/sama5/sam_trng.c, sam_trng.h, and chip/sam_trng.h: Add
- a /dev/random driver based on the SAMA5D3 TRNG peripheral (2013-10-20).
- * configs/sama5d3x-3k/demo: The TRNG and /dev/random are now enabled
- by default in the demo configuration (2013-10-20).
- * arch/arm/src/sama5/chip/sam_tc.h: SAMA5D3 timer/counter register
- definition header file (2013-10-20).
- * libc/stdio/lib_sscanf.c: scanf() fixes from kfrolov: 1) sscanf()
- function hangs in the following example: sscanf("2", "%u,%u,%u,%u", ...),
- 2) sscanf() returns incorrect number of parsed numbers if some arguments
- can't be parsed: sscanf("=2", "%u,%u,%u,%u",...)==1 instead of 0, and
- 3) using of char* instead of const char* in vsscanf function leads to
- warnings from GCC (2013-10-21).
- * arch/arm/src/sama5/chip/sam_can.h: SAMA5D3X CAN register definition
- header file (2013-10-21)
- * arch/arm/src/sama5/sam_can.c and .h: Framework for a SAMA5 CAN driver.
- Initial checkin is the STM32 CAN driver with name changes (2013-10-21).
- * arch/arm/src/sama5/sam_can.c and .h: SAMA5 CAN driver is code complete
- but still untested (2013-10-22).
- * configs/spark: Spark configuration updated by David Sidrane (2013-10-23).
- * drivers/wireless/cc3000: CC3000 driver updates from David Sidrane
- (2013-10-23).
- * include/nuttx/wireless/cc3000: More CC3000 driver updates from David
- Sidrane (2013-10-23).
- * net/Kconfig, drivers/net/wireless/cc3000/Kconfig, and Kconfig: Add
- ARCH_HAVE_NET that determines if a network is present or not. This
- currently can happen if CONFIG_NET is set or if CONFIG_WL_CC3000 is
- is set (23013-10-23).
- * arch/arm/src/stm32/stm32f10xxx_dma.c: DMA fix from David Sidrane:
- The DMA_CNDTRx register cannot be modified if the DMA channel is
- disabled (2013-10-23).
- * arch/arm/src/sama5/sam_tc.c and .h: First cut at a timer/counter
- library for the SAMA5D3 (2013-10-23).
- * configs/spark/nsh/defconfig: Spark configuration update from David
- Sidrane (2013-10-24).
- * drivers/wireless/cc3000/cc3000.c: CC3000 driver update from David
- Sidrane (2013-10-24).
- * arch/arm/include/stm32/chip.h and arch/arm/src/stm32/Kconfig:
- Add support for the STM32F207ZE chip. From Martin Lederhilger
- (2013-10-24).
- * arch/arm/src/stm32/stm32_adc.c and stm32_pwm.c: Fix some bits
- that should have been cleared in a register. From Martin Lederhilger
- (2013-10-24).
- * configs/olimex-stm32-p207 and other files: Support for the Olimex
- STM32 P207 board added by Martin Lederhilger (2013-10-24).
- * arch/arm/src/sama5/sam_adc.c, sam_tc.c and sam_tc.h: Hook in the
- timer/counter logic so that it can driver periodic ADC sampling
- (2013-10-24).
- * configs/freedom-kl25z/src/Makefile: Only build kl_wifi.c if
- CONFIG_WL_CC3000 is selected. From Alan Carvalho de Assis
- (2013-10-24).
- * configs/sama5d3x-ek/src/sam_adc.c: Integrate support for the
- apps/examples/adc into the SAMA5D3x-EK configuration (2013-10-24).
- * include/nuttx/fs/ioctl.h and arch/arm/src/sama5/sam_adc.c: Add
- and ioctl command that can be used to trigger ADC/DAC conversion
- (2015-10-25).
- * configs/spark: Spark configuration updated by David Sidrane
- (2013-10-25).
- * drivers/wireless/cc3000 and include/nuttx/wireless/cc3000:
- CC3000 driver update from David Sidrane (2013-10-25).
- * arch/arm/src/sama5/chip/sam_isi.h: Camera interface register
- definitions added (2013-10-26).
- * audio/ and include/nuttx/audio/audio.h: Updated audio subsystem
- from Ken Pettit (2013-10-27).
- * drivers/audio/ and include/nuttx/audio/vs1053.h: Updated
- VS1053 driver from ken Pettit (2013-10-27).
- * configs/mikroe-stm32f4/: Updated configuration for the
- Mikroe STM32F4 board from Ken Pettit (2013-10-27).
- * arch/arm/src/stm32/stm32_spi.c: DMA-related fixes from Ken
- Pettit (2013-10-27).
- * sched/sched_releasetcb.c: Fix a cornercase: If sched_releasetcb()
- is called as part of a failed pthread startup before the flags
- field in the TCB has been initialized, then a crash occurs.
- Pointed out by David Sidrane (2013-10-27)
- * arch/arm/src/sama5/sam_adc.c: ADC now works in all implemented
- modes: single channel or multiple channel with sequencer support.
- software trigger or timer trigger; ADC channel interrupts or
- DMA (2013-10-28).
- * nuttx/drivers/audio/vs1053.c and nuttx/include/nuttx/audio/audio.h:
- Add logic to verify the audio sub-format. From Ken Pettit (2013-10-28).
- 6.32 2013-12-07 Gregory Nutt <gnutt@nuttx.org>
- * configs/spark: Spark configuration updated by David Sidrane
- (2013-10-30).
- * drivers/wireless/cc3000 and include/nuttx/wireless/cc3000:
- CC3000 driver updates from David Sidrane (2013-10-13).
- * arch/arm/src/sama5/chip/sam_ssc.h: SSC register definition
- header file (2013-10-30).
- * arch/arm/src/sama5/chip/sam_pwm.h: PWM register definition
- header file (2013-10-31).
- * drivers/mtd/mtd_partition.c: Fix erase block vs page block confusion.
- From Ken Pettit (2013-10-31).
- * arch/arm/src/stm32/stm32_usbdev.c: On a failure to bind the class
- driver, the driver reference was being nullified too soon. This
- caused an exception in usbdev_reset() later. The driver reference
- will be nullified later usbdev_unregister when the caller gets the
- error. From David Sidrane (2013-10-31).
- * drivers/mtd/mtd_config.c and include/nuttx/configdata.h: Add a container
- for an MTD device that can be used to provide a simple, lightweight
- interface to configuration data storage that resides on some storage
- media that is wrapped as an MTD device. From Ken Pettit (2013-11-1).
- * configs/mikroe-stm32f4: Now uses /dev/config for configuration data
- storage. From Ken Pettit (2013-11-1).
- * arch/ stack management functions: Extension and standardization of
- stack debug logic. Now includes coloration of the IDLE and interrupt
- stacks as well as the heap. Suggested by David Sidrane (2013-11-1).
- * configs/spark/usbmsc: Add spark USB MSC configuration. From David
- Sidrane (2013-11-1).
- * fs/fat/fs_fat32util.c: In one error return case, the error return
- value was not being set, making the failure look like success. From
- David Sidrane (2011-10-1).
- * drivers/usbdev/usbmsc.c and usbmsc_scsi.c: pthread_join() does not
- work if called from a different task group than the pthread. This
- is correct behavior, but a problem. The correct solution would be
- configure the USB MSC thread to a task, however, this workaround
- from David Sidrane plugs the hole for now (2013-11-1).
- * drivers/mtd/mtd_config.c: Reduce configuration header size. From
- Ken Pettit (2013-11-1).
- * drivers/mtd/sst25.c: Improved write performance by fixing a bug
- that prevented operation in the faster write mode. The code did
- not wait on the last write complete before issuing the WRDI The
- loop in general failed to wait on the fist 2 bytes after the
- SST25_AAI if the next 2 were FF FF, then it would reissue the
- address but not cancel the write. Reorganized to always wait for
- completion after and address with data write and on any data
- write so that the device is complete before WRDI is sent. From
- David Sidrane (2013-11-2).
- * configs/sama5/src/sam_can.c: Add CAN initialization logic
- and fix a data alignment problem (2013-11-3).
- * drivers/mtd/mtd_config.c: Updated configuration driver from
- Ken Pettit (2013-11-4).
- * configs/sim/configdata: MTD configuration driver unit test for
- the simulation platform. From Ken Pettit (2013-11-4).
- * configs/mikroe-stm32f4/fulldemo: Configuration updated by Ken
- Pettit (2013-11-4).
- * arch/arm/src/stm32/stm32_usbdev.c: Correct EP0 state handling
- logic when buffers larger than the EP0 packet size are sent.
- Also add support for decoded USB trace strings. From David
- Sidrane (2013-11-5).
- * drivers/usbdev/cdcacm.c, composite.c, usbmsc.c: uninitialization
- logic cause re-use of a stale pointer. Changed to a two pass
- uninitialization for the case of the composite driver: Memory
- resources are not freed until the second uninitialization pass.
- From David Sidrane (2011-11-5).
- * arch/arm/src/sama5/sam_pwm.c and .h: Add PWM driver for SAMA5
- untested on initial checkout (not even incorporated in to build
- system) (2013-11-6).
- * arch/arm/src/sama5/Make.defs and Kconfig: SAMA5 PWM driver now
- incorporated into build and configuration system. Builds with
- no errors (2013-11-6).
- * configs/sama5d3x-ek: Add support for the PWM test for the
- SAMA5D3x-EK board (2013-11-6).
- * arch/arm/src/sama5/sam_pwm.c and .h: SAMA5 PWM driver is now
- functional (2013-11-7).
- * include/nuttx/audio/i2s.h: First cut at an I2S interface
- definition. This initial definition is sparse will will
- probably evolve significantly (2011-11-7).
- * arch/arm/src/sama5/sam_ssc.c and .h: Skeleton and build setup
- for a forthcoming SSC (aka I2S) driver for the SAMA5. The
- initial check-in is just the SAMA5 SPI driver gutted and hacked
- to use the I2S interface. More coming (2013-11-7).
- * arch/arm/src/stm32 and arch/arm/include/stm32: Added support for
- the STM32F429. From Ken Pettit (2013-11-7).
- * configs/stm32f429i-disco: Support for the STM32F429I-Discovery
- board from Ken Pettit (2013-11-7).
- * arch/arm/src/stm32/stm32_usbdev.c: The long outstanding bug
- involving the handling of OUT SETUP commands has been fixed in
- the STM32 F1 USB device driver by David Sidrane (2013-11-7).
- * configs/spark/composite/cdc-acm.inf: Windows CDC/ACM driver
- provided by David Sidrane (2013-11-7).
- * configs/spark/usbserial.c: Add an apps/examples/usbserial
- configuration for the Spark. From David Sidran (2013-11-7).
- * arch/arm/src/sama5/sam_ssc.c and .h: First cut of SAMA5
- SSC/I2S driver is code complete (2013-11-9).
- * arch/arm/src/stm32 (numerous files): OTG FS device and host
- drivers extended so that they can support either the OTG FS
- peripheral or the OTG HS peripheral (in FS mode). This was
- done as a quick way to get USB support on the STM32F429 which
- has only OTG HS. From Ken Pettit (2013-11-10).
- * configs/stm32f429i-disco: Add support for the usbnsh and
- usbmsc configurations using the OTG HS peripheral in FS mode.
- From Ken Pettit (2013-11-10)
- * drivers/audio/i2schar.c: A simple character driver to support I2S
- accesses. This driver in its current state is intended only to
- support I2C testing and would not be appropriate to used for any real
- driver application. (2013-11-10).
- * arch/arm/src/kl/kl_pwm.c and .h: PWM driver for the Freescale
- Kinetis KL family from Alan Carvalho de Assis (2013-11-10).
- * configs/freedom-kl25z: Add PWM support. From Alan Carvalho de Assis
- (2013-11-10).
- * drivers/audio/vs1053: VS1053 worker thread stack size is now
- configurable and assigned a name via pthread_setname_np(). From Ken
- Pettit (2013-11-10).
- * libc/audio/lib_buffer.c: Moved audio/buffer/c to libc/audio/lib_buffer.c.
- This file was moved because it contains buffer management functions
- that must be available to audio applications. If it was left in the
- audio/ directory then it would not be available to applications in the
- NuttX Kernel build (2013-11-10).
- * arch/arm/src/sama5/sam_ssc.c and Kconfig: Add configurable support
- for SSC loopback mode (2013-11-10).
- * include/nuttx/audio/i2s.h, arch/arm/src/sama5/sam_ssc.c, and
- drivers/audio/i2schar.c: Improved I2S interface design: Simplified
- audio buffer queuing (2013-11-10).
- * arch/arm/src/sam34 and arch/arm/include/sam34: Basic support for
- the Atmel SAM4E family. From Mitko (2013-11-11).
- * libc/audio/lib_buffer.c: Remove unused apb_prepare() function
- (2013-11-11).
- * arch/arm/src/stm32: Added header files and driver framework for the
- STM32F429 LTDC framebuffer driver. From Ken Pettit (2013-11-11).
- * configs/sama5d3x-ek/src/sam_i2schar.c: Add support for the
- apps/examples/i2schar test (2011-11-11).
- * arch/arm/src/sama5/sam_ssc.c: I2S loopback test finally works
- (2013-11-11).
- * fs/procfs: Add a little, primitive procfs file system. (2013-11-13).
- * fs/binfs/README.txt: Add a README file for binfs (2013-11-13).
- * arch/arm/src/stm32/Kconfig: Add missing setup of CAN TSEG1 and
- TSEG2 values. From Martin Lederhilger (2013-11-14).
- * arch/arm/src/sama5/sam_pck.c and .h: Add support for programmable
- clock outputs (2013-11-14).
- * configs/ea3131/nsh: Converted to use kconfig-frontend tools
- (2013-11-14).
- * arch/arm/src/lpc31: Create configuration and build support for a
- forthcoming USB host controller driver (2013-11-14).
- * arch/arm/src/lpc31/lpc31_ehci.c: First cut at an EHCI driver
- tailed for the LPC31 (2013-11-14).
- * fs/fs_mount.c: SMART FS must be included in the conditional
- compilation for the set of file systems that require block
- drivers. From Daniel Palmer (2013-11-15).
- * tools/mkconfig.c: SMART FS must be included in the conditional
- compilation for the set of writable file systems. Noted by
- Daniel Palmer (2013-11-15).
- * arch/arm/src/sama5/sam_nand.c and .h: Framework for an MTD driver
- that will provide raw access to NAND (2013-11-15).
- * configs/sama5d3x-ek/src/sam_nandflash.c: Provides board-specific
- memory controller initialize for NAND flash (2013-11-15).
- * include/nuttx/mtd/mtd.h: Move include/nuttx/mtd.h to
- include/nuttx/mtd/mtd.h where it will, hopefully, soon be joined by
- other MTD-related header files (2013-11-15).
- * drivers/mtd/mtd_onfi.c and include/nuttx/mtd/onfi.h: Add shared
- NAND routines for use with ONFI compatible NAND FLASH devices
- (2013-11-15).
- * configs/ea3131/src/up_usbhost.c: Board-specific USB host support
- for the EA3131 board (2013-11-15).
- * drivers/mtd/mtd_nand.c, include/nuttx/mtd/nand.h, nand_config.h,
- and nand_scheme.h: Further NAND support (still incomplete).
- (2013-11-16).
- * drivers/mtd/mtd_modeltab.c: Further NAND support (still incomplete).
- (2013-11-16).
- * drivers/mtd/mtd_nandmodel.c: More NAND support (same story).
- (2013-11-16).
- * drivers/mtd/mtd_rawnand.c and include/nuttx/mtd/nand_raw.h: More
- NAND support (2013-11-17).
- * drivers/mtd/mtd_nandscheme.c: More NAND support (2013-11-17).
- * include/nuttx/mtd/nand_ecc.h: More NAND (2013-11-17).
- * drivers/mtd/hamming.c and mtd_nandecc.c and
- include/nuttx/mtd/hamming.h: Beginning of NAND software ECC
- calculations. (2013-11-18).
- * configs/olimex-lpc-h3131: Add support for the Olimex LPC-H3131
- * board. Does not yet boot (2013-11-18).
- * arch/arm/src/lpc31xx/lpc31_ehci.c: Add USB host trace support
- (2013-11-19).
- * configs/olimex-lpc-h3131/include/board.h, src/lpc31_boot.c,
- lpc31_leds.c, lpc31_usbhost.c, and lpc_h3131.h: Add GPIO
- support for LED1/2 and for USB power enable and overcurrent
- detection (2013-11-19).
- * configs/olimex-lpc-h3131/nsh/defconfig: Drop loops-per-msec
- count for the Olimex-LPC-H3131. It seems to be about 25% as
- fast as the Embedded Artists EA3131 at the same clocking.
- (2013-11-19).
- * arch/arm/src/arm/up_cache.S and cache.h: More cache management
- functions (2013-11-20).
- * configs/olimex-lpc-h3131/src/Makefile: Add SDRAM support.
- Untested and probably needs some fine tuining (2013-11-21)
- * fs/smartfs/README.txt: Add README for SMARTFS file system. From
- Ken Pettit (2013-11-23)
- * tools/mkctags.sh: A script for creating ctags from Ken Pettit
- (2013-11-23)
- * configs/sama5d3x-ek/src/sam_nand.c: Add support for "auto-mounting"
- NAND MTD block driver or NXFFS file system (2013-11-25).
- * include/mtd/mtd.h: Packed the geometry structure so that it can
- support larger erase block sizes without increasing the size of
- the geometry structure (2013-11-27).
- * drivers/mtd/sst25xx.c: Add another SST25 SerialFlash driver. This
- one differs from sst25.c because it supports larger SST25 parts: In
- the larger parts support page write instead of byte/word writes like
- the smaller parts. From Ken Pettit (2013-11-28).
- * drivers/mtd/smart.c: Fixes a minor bug with SMART partition number
- reporting (that would only be seen if both partition support and
- multi-root directory support are enabled at the same time). From Ken
- Pettit (2013-11-28).
- * arch/arm/src/stm32/chip/stm32f40xxx_gpio.h: Add support for GPIOK and
- GPIOJ. From Ken Pettit (2013-11-28).
- * configs/stm32f429i-disco/extflash, Kconfig, include/board.h,
- src/stm32f429i-disco-internal.h, up_nsh.c, and up_spi.h: Add a
- configuration and board support for an external SST25 FLASH. From Ken
- Pettit (2013-11-28).
- * fs/fs_inode.c: The inode semaphore must be re-entrant. Here is the
- re-entering path that I found: (1) USB host connects to FLASH drive
- and creates /dev/sda, (2) /dev/sda is mounted, (3) FLASH drive is
- removed but /dev/sda is not destroyed because there is still a
- reference on the device because of the mount, (4) umount() is called,
- taking the inode semaphore, now the driver tries to destroy the block
- driver by calling unregister_blockdriver(). But (5)
- unregister_blockdriver() also takes the inode semaphore causing a
- deadlock if the inode semaphore is not re-entrant. (2013-11-28).
- * configs/viewtool-stm32f107: Add board support for the ViewTool
- STM32F103/F107 board with the STM32F107VCT6 installed. Initial
- check-in is the unverified board-support framework only
- (2013-11-30).
- * configs/viewtool-stm32f107/src/stm32_buttons.c and stm32_leds.c:
- Add support for LEDs an buttons on the ViewTools STM32F107 board
- (2013-11-30).
- * fs/nxffs/nxffs_initialize.c: First of probably several changes for
- NAND FLASH. NAND can report read errors because of bad ECC. Logic
- in NXFFS must account for it and not just throw in the towel every
- time a read fails (2013-11-30).
- * drivers/mtd/mtd_nand* and arch/arm/src/sama5/sam_nand.c: NAND
- accesses now work (at least with software ECC and now DMA). Still
- lots of testing to be done (2013-11-30).
- * fs/nxffs/nxffs_dump.c: Do not abort on a read error. Just not
- the error and continue. Otherwise, we would not be able to dump
- NAND FLASH (2013-11-30).
- * fs/nxffs: All read error logic has been revisited and modified in
- most places. If we are using NAND, then read errors probably mean
- that the block that was read contains uncorrectable bit errors. In
- this case, we cannot just give up and abort the operations. Rather,
- we need to treat read error like normal bad blocks in order to work
- with NAND (2013-12-2).
- * fs/nxffs/Kconfig and nxffs_initialize.c: Make the start up scan of
- the media option. It just takes to long! (2013-12-02).
- * drivers/mtd/mtd_nand.c: Fix a typo in calculation of page number
- (2013-12-02).
- * drivers/mtd/README.txt: New README file (2013-12-04).
- * arch/arm/src/lm/lm_start.c: Don't initialize .data if not running
- from FLASH (2013-12-05).
- * fs/fat/fs_configfat.c: Fix a typo in the FAT16 formatting logic.
- Was this ever able to format a FAT16 volume? (2013-12-05).
- * drivers/mtd/mtd_nand.c: Check if block number is within range at
- the top of the loop not the bottom. Otherwise, we will do a bogus
- transfer with the out-of-range block before we test it (2013-12-05).
- 6.33 2014-01-30 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/include/a1x and src/a1x: Directory structure to support
- the Allwinner A10. Not much there on the initial check-in
- (2013-12-7).
- * configs/pcduino-a10: Directory structure for the pcDuino board. This
- board is based on the Allwinner A10 (2013-12-7).
- * arch/arm/src/a1x/a1x_boot.c and chip/a1x_intc.h: More A10 logic
- (2013-12-8).
- * arch/arm/src/a1x/a1x_irq.c: A10 interrupt handling logic (partial)
- (2013-12-8).
- * drivers/video/ov2640.c: An OV2640 camera driver that will be used to
- verify the SAMA5D3x-EK ISI peripheral (2013-1209).
- * sama5d3x-ek/ov2640 and src/sam_ov2640.c. Board logic to test the SAMA5D3
- ISI peripheral usign the OV2640 camera (2013-12-9).
- * arch/arm/src/a1x/chip/a1x_uart.h: A10 UART register definition
- header file (2013-12-9).
- * include/nuttx/video/fb.h: Move fb.h to include/nuttx/video/
- (2013-12-10).
- * include/nuttx/video/rgbcolors.h: Move rgbcolors.h to include/nuttx/video.
- (2013-12-10).
- * include/nuttx/fs/smart.h: Move smart.h to include/fs/smart.h
- (2013-12-10).
- * include/nuttx/fs/ramdisk.h: Move ramdisk.h to include/fs/ramdisk.h
- (2013-12-10).
- * arch/arm/src/a1x/chip/a1x_pio.h and a10_piocfg.h: PIO register
- definition header files (2013-12-10).
- * arch/arm/src/a1x/a1x_pio.c and .h: Support for PIO configuration
- (2013-12-11).
- * libc/misc/lib_match.c: Pattern matching logic extended to handle
- matches to sets of characters and ranges of character values. From
- Ken Pettit (2013-12-12).
- * fs/procfs, drivers/mtd, fs/smartfs, includes/nuttx/fs, .. to many
- files to list: Extensive changes by Ken Pettit to extend procfs/
- functionality. Includes some incomplete changes related to
- SmartFS (2013-12-12).
- * configs/stm32f429i-disco: Add support for procfs/ MTD part names.
- From Ken Pettit (2013-12-12)
- * arch/arm/src/a1x/chip/a1x_timer.h: Timer register bit definitions
- (incomplete on initial check-in) (2013-12-12).
- * lbc/time/lib_strftime.c: Need null-termination on the string
- generated by strftime(). From Max Holtzberg (2013-12-12).
- * sched/nanosleep.c and include/time.h: Add nanosleep() (2013-12-12).
- * libc/unistd/lib_sleep.c and lib_usleep.c. Move sleep() and
- usleep() from sched/sleep.c and usleep.c to libc/unistd. These
- functions now just call nanosleep(). (2013-12-13).
- * syscall/ and include/sys/syscall.h: Remove sleep and usleep
- system calls. Add nanosleep system call (2013-12-13).
- * arch/arm/src/a1x/a1x_timerisr.c: Timer interrupt handler for the
- A10 (2013-12-13).
- * arch/arm/src/a1x/a1x_config.h: Header file to keep track of A10
- configuration decisions (2013-12-13).
- * arch/arm/src/a1x/a1x_lowputc.c, a1x_serial.c, and a1x_serila.h:
- Beginning of an A10 serial driver. From Alan Carvalho de Assis
- (2013-12-13).
- * fs/procfs/procfs_utils.c: Move some re-usable functions out of
- fs_procfsproc.c into a utility file (2013-12-14).
- * fs/procfs/fs_procfsuptime.c: Supports /proc/uptime (2013-12-14).
- * graphics/nxconsole/nxcon_font.c: Fix a typo that causes a compile
- error when CONFIG_NXCONSOLE_BPP < 8. From Librae (2013-12-15).
- * fs/procfs/fs_procfsproc.c: procfs now shows information about
- the group that each thread belongs: Like parents, group member,
- open file, and open sockets (2013-12-15).
- * fs/procfs/fs_procfsproc.c: Now shows task stack information
- (2013-12-15).
- * arch/arm/src/armv7-a/cp15.h: Review A9 TRM and updated CP15
- register definitions accordinglyg (2013-12-16).
- * Makefile.unix: Now has supports qconfig and gconfig targets.
- These tools will use the Qt and GTK versions of the kconfig-
- frontends configuration tools (if you built them) (2013-12-16)
- * arch/arm/src/armv7-a/arm_head.h: Fix some errors in the cache
- invalidation logic (only seem to matter for Cortex-A8) (21-3-12-19).
- * Kconfig and all Make.defs files: Add CONFIG_DEBUG_NOOPT. Now
- you can independently enable/disable debug symbols and optimization
- (2013-12-20).
- * configs/README.txt and Documentation/NuttxPortingGuide.html:
- Remove documentation of NuttX configuration variables. Since
- converting to the kconfig-frontend tools, the NuttX configuration
- is now documented in the Kconfig files and summarized in the
- autogenerated Documentation/NuttXConfigVariables.html file.
- This old configuration variable documentation is now a liability
- and, hence, was removed (2013-12-20).
- * arch/Kconfig, arch/arm/Kconfig, arch/arm/include/x/chip.h, and
- and arch/arm/src/x/x_irq.c where x={kinetis, lm, lpc17xx, lpc43xx,
- sam34, or stm32}: Beginning of support for nested, high priority
- interrupts. Lots more still needs to be done (2013-12-21).
- * arch/arm/src/armv7-m/up_exception.S and arch/arm/src/x/x_vectors.S:
- where x={kinetis, lm, lpc17xx, lpc43xx, sam34, or stm32}: completes
- the basic implementation of nested, high priority interreupts.
- Still untested and need documentation (2013-12-21).
- * configs/stm3210e-eval/buttons: Converted to use kconfig-frontends
- tools (untested) (2013-12-22).
- * configs/Kconfig, configs/viewtool-stm32f107/include/board-stm32f103vct6.h,
- and /board-stm32f107vct6.h: The viewtool board can now be configured
- to support either the STM32F103VCT6 or the STM32F107VCT6 (2013-12-22).
- * configs/Kconfig, README.txt, viewtool-stm32f107/highpri, Kconfig,
- README.txt, and src/stm32_highpri.c: This is the initial framework
- for a test of the high priority, nested interrupt logic. Still
- incomplete and does not yet run (2013-12-22).
- * arch/arm/src/armv7-m/ram_vectors.h and up_ramvec_initialize.c:
- Correct alignment of the RAM vector table (2013-12-22).
- * Kconfig: Support configuration of interrupt controller debug output
- (2013-12-22).
- * configs/viewtool-stm32f107/scripts: Need to do some special things
- in linking of the common vectors are used (2013-12-22).
- * arch/arm/include/*/irq*.h: Add definition NR_VECTORS so that the RAM
- vector logic can know how many vectors there are. NR_IRQS is often
- not equal to NR_VECTORS (2013-12-23).
- * arch/arm/src/*_vectors.S: Standardize the name of the vector table
- and the name of the common vector handling logic so that the MCU-
- independent logic and work with these (2013-12-23).
- * configs/viewtool-stm32f107/scripts: Move the RAM vector tables to the
- beginning of SRAM. It seems to require this alignment. Also, we
- don't need different scripts for the CMNVECTOR case now that the vector
- table has a common name.
- * arch/arm/src: armv-7/up_exception.S and xxx/xxx_vectors.S where
- xxx={kinetis, lm, lpc17xx, sam34, and stm32}: Modified register usage
- when saving the context on the stack: In order to handler nested
- interrupts, the stack pointer must be used so that when it is
- decremented, the contents on the stack are protected from the nested
- interrupt handling (2013-12-23).
- * arch/Kconfig: The CONFIG_ARCH_INT_DISABLEALL feature is disabled (i.e.,
- depends on EXPERIMENTAL). That is because the current implementation
- will not work because interrupts get disabled in the interrupt handler
- too, defeating the nesting of interrupts. The fix is easy: It just
- needs more levels of priority of disabling interrupts vs interrupt
- handling (2013-12-23).
- * configs/viewtool-stm32f107/src/stm32_highpri.c: Improved debug output
- (2013-12-23).
- * drivers/lcd/memlcd.c and include/nuttx/lcd/memlcd.h: Support for the
- Sharp Memory LCD from Librae (2013-12-23).
- * configs/maple/nx and src/: Add support for a custom Sharp Memory
- LCD on the Maple board. From Librae (2013-12-23).
- * configs/viewtool-stm32f107/netnsh: Add a NSH configuration that
- supports networking with the DP83848C module installed (2013-12-25).
- * configs/viewtool-stm32f107/src/stm32_nsh.c, stm32_mmcsd.c, stm32_usb.c,
- and stm32_usbmsc.c: Lay out basic framework for USB and SD card
- support. Code is incomplete and has been neither built nor tested
- (2013-12-25).
- * nuttx/arch/arm/src/stm32/Kconfig, chip/stm32f103vc_pinmap.h,
- stm32f105vb_pinmap.h, and stm32f107vc_pinmap.h: Fix configuration and
- pin definition that would prevent building USB for the connectivity and
- performance lines (2013-12-25).
- * stm32l15xxx_pinmap.h: Fix a typo in USB pin definitions (2013-12-25).
- * configs/viewtool-stm32f107: Fix building of USB for F103 and F107.
- F103 has device only; F107 has OTG FS (2013-12-25).
- * arch/arm/src/stm32/stm32f10xxx_rcc.c and chip/stm32f10xxx_rcc.h: Add
- clocking support for STM32F107 USB OTG FS (which does not work)
- (2013-12-26).
- * configs/viewtool-stm32f107: Updates to USB for F103 and USB OTG FS
- for F107 (2013-12-16).
- * arch/arm/src/stm32/chip/stm32f3xxxx_pinmap.h: Fix pin definition names
- for SPI2 MOSI and MISO. Noted by Brian Webb (2013-12-27).
- * graphics/nxmu, nxsu, and nxglib and libc/nx, nxmu, and nxglib: Massive
- reshuffling of files with (hopefully) no logic changes. This
- reshuffling is necessary if we ever want to build graphics applications
- as kernel builds. There is still more today (NXTK and NXFONTS need to
- be moved to libc as well) (2013-12-27).
- * Move libc/nx, nxmu, and nxglib to a new library, libnx. The NX
- graphics is not properly a part of libc (2013-12-28).
- * Move graphics/nxfonts to libnx/nxfonts (2013-12-28).
- * Move graphics/nxtk to libnx/nxtk (2013-12-28).
- * syscalls: Need to add sem_timedwait() (2013-12-28)
- * Move more files from graphics/nxmu to libnx/nxmu (2013-12-29).
- * graphics/nxmu/nx_start.c: NX server start-up wrapper function to
- simplify starting the NX server from within the RTOS (2013-12-29).
- * configs/stm3240g-eval/kernel and configs/stm3240g-eval/scripts: Port
- kernel build logic from the STM32F4Discovery to the STM3240G-EVAL.
- This will eventually support testing of the kernel mode NX server
- (2013-12-29).
- * configs/stm3240g-eval/nxwm: Converted to use the kconfig-frontend
- tools (2013-12-29).
- * configs/stm3240g-eval/knxwm: Add a kernel mode NxWM build
- configuration (not yet verified) (2013-12-29).
- * Moved configs/stm3240g-eval/src/up_cxxinitialize.c to
- apps/platform/stm3240g-eval/up_cxxinitialize.c: Now it is available
- in user-space in the kernel mode build (2013-12-29).
- * graphics/nxbe, nxsu, libnx/nxmu, and nxtk: Need to be consistent with
- which allocator is used in the different configurations. Always uses
- the user-space allocator because that one is required in certain
- configurations (2013-12-30).
- * include/nuttx/kthread.h: Move kernel thread definitions out of
- os_internal.h so that the rest of the OS can start kernel threads as
- well (2013-12-30).
- * configs/sim/mount/defconfig: Converted to use kconfig-frontends
- tools (2013-21-31).
- * configs/z16f2800100zcog/nsh: Add a Z16F NSH configuration. Does not
- yet work (2014-1-1).
- * arch/arm/src/stm32/stm32_serial.c: Single-wire UART support from
- Thomas Grubler (2014-1-2).
- * tools/configure.c and mkdeps.c: Fixes for Windows build issues
- from Max Holtzberg (2014-1-4).
- * configs/olimex-stm32-p107/nsh/Make.defs: Add native Windows build
- support for the Olimex STM32 P107. From Max Holtzberg (2014-1-4).
- * Makefile.win: Changes for native Windows build: Fix creation of
- a .version file if one does not exist. Make sure that the APPDIR
- environment variable is set before configuring. From Max Holtzberg
- (2014-1-4).
- * configs/viewtool-stm32f107/src/stm32_ssd1289.c: Add support for
- Viewtool SSD1289-based LCD (untested on initial checkin) (2013-1-5).
- * arch/arm/include/syscall.h and armv7-a/syscall.h: Add the syscall.h
- header file needed for the Cortex-A architecture (2014-1-5).
- * arch/arm/src/a1x/a1x_serial.c: Remove bad flow control logic. Add
- missing interrupt handling logic for UART4-7 (2014-1-6).
- * nuttx/tools/mkconfig.c: Cast size to unsigned in calculation of
- CONFIG_RAM_END to avoid complains about integer overflow (2013-1-6).
- * nuttx/tools/mkconfig.c: Back out the last change, this causes
- problems for assembly language. How to prevent the integer over-
- flow warnings? (2014-1-6).
- * arch/arm/src/a1x/a1x_serial.c: Handle BUSY interrupt (2014-1-6).
- * arch/arm/src/armv7-a/arm_head.S and arm_pghead.S: Add more nop's
- after enabling the MMU. The cortex-a8 seems to need these
- (2014-1-7).
- * arch/arm/src/a1x/a1x_serial.c: Correct handling of the BUSY
- interrupt (2014-1-7).
- * include/sys/types.h: Add a bogus rsize_t type (2014-1-7).
- * libc/stdio/lib_gets_s.c: Add a quick'n'dirty implementation of
- gets_s() which replaces gets() in C11 (2014-1-7).
- * libc/stdio/lib_fopen.c: Add support for new C11 exclusive open
- ("x") (2014-1-7)
- * include/threads.h: First crude cut at a C11 threads.h header
- file (just maps to pthreads) (2014-1-7).
- * libc/stdio/lib_libfgets.c: Common implementation supports all
- of the slightly different requirements of gets(), gets_s(), and
- fgets() (2014-1-7).
- * arch/arm/include/stm32/chip.h and chip/stm32f103ze_pinmap.h:
- various fixes for STM32F103ZE SPI3. From Steve Redler IV
- (2014-1-7).
- * graphics/nxsu/Make.defs: Typo that crept into build in recent
- NX reorganization. Found by Steve Redler IV (2014-1-7).
- * graphics/nxsu/: Another typo from the
- recent NX reorganization from Steve Redler IV (2014-1-7).
- * graphics/nxbe/nxbe_closewindow.c, nx_close.c, nx_constructwindow.c,
- nx_open.c, and nx_openwindow.c: Needs to use kuzalloc and kufree,
- not umm_zalloc and umm_free. Additional typo in nx_constructwindow.c
- (wnd should be hwnd). Also noted by Steve Redler IV (2014-1-7).
- * configs/viewtool-stm32f107/src/stm32_touchscreen.c (and other
- files): Add support for the XPT2046 touchscreen controller on
- the Viewtool LCD module connected to the Viewtool STM32F103
- board (2014-1-9).
- * libc/strings/lib_stpcpy.c: Add stpcpy() (2014-1-9).
- * arch/arm/src/a1x/a1x_lowputc.c and a1x_serial.c: Mystery
- finally solved: The A10 serial clock is the OSC24M clock.
- Thanks to Alan Carvalho de Assis (2014-1-10)
- * binfmt/binfmt_loadmodule.c: Fix a memory leak (2013-1-11).
- * configs/stm3vldiscovery: Support for the STM32VL-Discovery board.
- Contributed by Alan Carvalho de Assis (2014-1-12).
- * net/net_close.c, net/Kconfig, include/nuttx/net/net.h, and
- include/sys/socket.h: Add support for the SO_LINGER socket option.
- Extended from logic provided by Jason Jiang. Enabled with
- CONFIG_NET_SOLINGER. At this point, it has only been verified that
- the changes does not seem to do any harm (2014-1-13).
- * net/connect.c and net/uip/uip_callback.c: prevent tcp_connect
- callback from being double freed. From Max Holtzberg (2014-1-13).
- * net/Kconfig and include/nuttx/net/uip/uipopt.h: Add configuration
- support for forthcoming TCP write buffering (2014-1-13).
- * net/net_send_buffered.c, net_send_unbuffered.c, and
- uip/uip_tcpwrbuffer.c: First set of changes to bring in Jason
- Jiang's TCP write buffering logic. Still not complete but
- apparently harmless if not selected. (2014-1-13).
- * All of Jason Jiang's TCP write buffering logic is checked in.
- Unfortunately, it does not yet work (2013-1-14).
- * configs/px4fmu-v2_upstream: Configuration for testing simple
- configurations on the PX4FMU v2. This version is incomplete
- for the PX4 application and is not a replacement for the version
- in the PX4 GIT repository.
- * fs/fat/fs_fat32.c: A correction to FAT cluster allocation from
- Tridge via Lorenz Meier (2014-1-14).
- * net/net_clone.c: If CONFIG_NET_TCP_WRITE_BUFFERS is selected,
- then the socket-related write buffering information must copied
- with the other cloned socket data (2014-1-14).
- * net/net_close.c: If CONFIG_NET_TCP_WRITE_BUFFERS is selected,
- then it is necessary to free the write buffer callback structure
- when the socket is closed (2014-1-14).
- * fs/fat/fs_fat32.c: Fix some root directory logic that was
- conditionally done only for FAT 32. Apparently this needs to
- done for all FAT types. From Tridge via Lorenz Meier
- (2014-1-14).
- * arch/arm/src/armv6-m/up_doirq.c and armv7-m/up_doirq.c and all
- implementations of up_maskack_irq() for all Cortex-M architectures: Do
- not disable and enable the IRQ on each interrupt. Because (1)
- interrupts are already disabled on interrupt entry, (2) this
- interferes with controlling the IRQ interrupt setting from interrupt
- handlers, and (3) up_disable_irq() does not work anyway so that this
- has never done anything (2014-1-15).
- * All implementations of up_disable_irq() for all Cortex-M3 and M4
- architectures: To enable an interrupt on the Cortex-M3/4 CPU, you
- need to set a bit in the ISER registet on the Cortex-M3/4 CPU, you
- need to set a bit in the ISER register. To disable the interrupt, you
- need to set a bit in the ICER register. Existing logic was trying to
- disable interrupts by clearing the bit in the ISER register. That will
- not work; writing a '0' to the ISER register has no effect. That
- means that up_disable_irq() was doing nothing! It turns out that that
- is not really important because up_disable_irq() is not really used
- for that purpose. But some spurious STM32 ADC interrupts have been
- reported to me and this turned out to be the cause in that case. My
- concern now that up_disable_irq() works is that there may now be
- unmasked bugs that leave devices in the disabled state? Thanks to
- Manuel Stühn for the tip(2014-1-15).
- * libc: Move strtol(), strtoll, strtoul(), strtoull(), and strtod() from
- libc/string to libc/stdlib where they belong (2014-1-16).
- * configs/Kconfig: Board configuration sub-directory can now be
- specified. The default need not be used. This is really only
- useful when CONFIG_ARCH_BOARD_CUSTOM is selected and there is no
- meaningful default sub-directory (2014-1-16).
- * configs/Kconfig: Backed out the previous change for two reasons:
- (1) it has a bad side effect in that the sub-directory setting
- no longer tracks the board setting, and (2) you still can't
- source the Kconfig file from the custom board directory (2014-1-16).
- * Makefile.unix, Makefile.win, and configs/Kconfig: After thinking a
- little harder, I re-implemented the backed-out custom configuration
- feature. The new version does not have bad side-effect (1) (but still
- has bad side-effect (2)) (2014-1-16).
- * arch/x86/Kconfig and configs/qemu-i486/nsh/Make.defs and
- ostest/Make.defs: Add a configuration option to select the -m32
- compiler option when building for a 32-bit target on a native 64-bit
- compiler (2014-1-18).
- * include/ctype.h: Typo in macro name: iscntrl, not iscontrol (2104-1-17)
- * libc/unistd/lib_getopt.c: If there are no arguments (argc == 1), then
- getopt() will leave the optind variable in an undefined state (2014-1-20).
- * configs/olimex-stm32-p107: Fails to build if SPI3 for UEXT is not
- remapped. From Max Holtzberg (2014-1-21).
- * Several network related files: Changes from Max Holtzberg to improve
- how network status is reported. New controls to manage carrier
- detect. (2014-1-21).
- * configs/16z: Add basic support for the 16z board. The 16z board is
- based on the ZiLOG ZNEOZ16F2811AL20EG part. See
- https://github.com/toyaga/16z for further information (2014-1-22),
- * tools/Config.mk: 'cypath' must be called if we are using a Windows
- native toolchain with the Cygwin 'make' to convert paths to proper
- Windows paths. From Richard Cochran (2014-1-23).
- * /arch/arm/src/Makefile: dependency directory list is now computed
- from the VPATH. From Richard Cochran (2014-1-23).
- * arch/arm/src/efm32 and include/efm32: Basic support for the EFM3
- processor family from Richard Cochran (2014-1-23).
- * configs/efm32-dk3650: This is Energy Micro's development kit for
- the Leopard Gecko MCU, which is an ARM Cortex-M3 device. From Richard
- Cochran (2014-1-23).
- * arch/arm/src/armv7-m/up_memcpy.S: Assembler changes with the gcc-47
- distribution from ARM mean that we need to be explicit about branch
- sizes; one or more of the wide branch opcodes results in bad table
- branching. From Mike Smith (2014-1-23).
- * Many files: renamed up_buttoninit() to board_button_initialize to
- better conform to the naming standard. Now ONLY prototypes in
- include/nuttx/arch.h (2014-1024).
- * Rename up_buttons() to board_buttons() for the same reason (2014-
- 1-14).
- * Rename up_irqbutton() to board_button_irq() (2014-1-24).
- * Rename up_ledinit() to board_led_intialize() (2014-1-24).
- * Rename up_ledon() to board_led_on() and up_ledoff() to board_led_off()
- (2014-1-24).
- * arch/x86/src/qemu-i486/gemu_head.S: Patch from Matt Campbell
- to fix 'Error: .size expression for idle_stack does not evaluate to
- a constant" (2014-1-25).
- * arch/arm/include/efm32, arch/arm/src/efm32, and configs/efm32-dk360:
- Removed all EFM32 support. Not yet ready to be fielded (2014-1-27).
- * arch/arm/src/armv7-a/arm_head.S, sama5/sam_boot.c, and several other
- files: Now supports execution from NOR FLASH with .data and .bss in
- SDRAM. This was not possible prior to this because .bss and .data
- were initialized before SDRAM was configured. This logic is still
- kind buggy. (2014-1-28).
- * arch/arm/src/armv7-a/arm_head.S and arm_pghead.S: Back off to a
- somewhat less efficient loop for initializing .data and .bss. The
- original, efficient logic violated the ARM C ABI. It was okay when
- called from boot logic, but not when called from C logic. This fixes
- bugginess reported on 2014-1-28. (2014-1-29).
- 7.1 2014-03-15 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/lm/lm_serial.c: Fix cut'n'paste error that prevented
- UARTS2-7 from being used with the LM4F120 Launchpad (2014-02-03).
- * configs/stm32f4discovery/src: Almost everything renamed to conform
- to the ever-evolving naming standard (2014-02-03).
- * arch/arm/src/a1x/a1x_serial.c: Had the same cut'n'paste error
- that the LM4f120 Launchpad had (2013-02-03).
- * Documentation/NuttXCCodingStandard.html: Add a coding standards
- document. Very boring stuff (2014-2-6).
- * Several changes to restore the native Windows build (2014-2-7).
- * arch/arm/src/lpc17xx/lpc17_usbhost.c: Fix an compilation error
- that crept into the LPC17xx USB host driver. What happened here?
- (2014-2-9).
- * drivers/usbhost/usbhost_hidmouse.c and other files: Add support
- for a HID boot mouse device. It compiles but is otherwise
- completely untested on initial check-in (2014-2-9).
- * configs/olimex-lpc1766stk/src/lpc17_hidmouse.c and hidmouse: Add
- support of a test of the USB HID mouse (2014-2-9).
- * drivers/usbhost/usbhost_hidmouse.c: The driver appears to be
- functional. But there are usability issues: How do you use the
- mouse with no cursor? The HID mouse currently emulates a touchscreen
- driver. That would work in the long run for several reasons (see the
- top-level TODO list for details) (2014-2-9).
- * include/nuttx/input/mouse.h and drivers/usbhost/usbhost_hidmouse.c:
- Defined a mouse interface that is very similar to a touchscreen
- interface, but allows reporting of all mouse buttons. Also, unlike
- touchscreen drivers, mouse drivers need to report positional data
- with no button is pressed so that the mouse position can drive a
- cursor (2014-2-10).
- * drivers/usbhost/usbhost_hidmouse.c, include/nuttx/input/mouse.h, and
- include/nuttx/usb/hid.h: Add support for a mouse wheel (2014-2-10).
- * drivers/lcd/mio283qt9a.c and include/nuttx/lcd/mio283qt9a.h: Support
- for the MIO283QT9A LCD. From Toby Duckworth (2014-2-10).
- * configs/mikroe-stm32f4/src/up_mio283qt9a.c: The Mikroe STM32F4 can
- now support the newer MIO283QT9A LCD. From Toby Duckworth (2014-2-10).
- * MANY files changes based on complaints from the tool CppCheck. Several
- latent bugs were fixed (and most likely some new typos were introduced)
- (2014-2-10).
- * arch/arm/include/samd and src/samd: Basic framework to support Atmel
- SAMD20 Cortex-M0+ chips. Initial check-in is incomplete; this is a
- work in progress (2014-2-12).
- * configs/samd20-xplained: Framework to support the Amtel SAMD20
- Xplained Pro. Initial check is just an unverified, rough port of
- the SAM4L Xplained Pro configuration (2014-2-12).
- * arch/arm/src/stm32/stm32_serial.c: Fix cloned typo: FLOWCONTROL
- vs FLOWCONROL (2014-2-14).
- * net/uip/uip_tcptimer.c: Back out a small part of the 6.33 write
- buffering changed. David G says that this causes problems in
- connecting to a server (2014-2-15).
- * The basic SAMD20 Xplained Pro port is complete but still untested
- (2014-2-16).
- * sched/task_terminate.c: Always returns an error because the
- return value was not being set correctly. From Gosha (2014-2-18).
- * stm32f429i-disco/ostest-fpu: OS test for FPU-enabled system from
- David Alessio (2014-2-18).
- * Other misc changes to support FPU on STM32F429 Discovery from
- David Alessio (2014-2-18)
- * stm32f429i-disco/src: Files renamed to make more consistent
- with current board file naming conventions (2014-2-18).
- * stm32 SPI: Disable SPI before changing CR1 register. From David
- Sidrane (2014-2-18).
- * stm32 TIM: Set CCMR when selecting timer channel. From David
- Sidrane (2014-2-18).
- * configs/spark: Board configuration updated by David Sidrane
- (2014-2-19).
- * libc/stdio/lib_sscanf.c: Bug fixes from David Sidrane (2014-2-18).
- * nuttx/drivers/wireless/cc3000 and nuttx/include/nuttx/wireless/cc3000:
- Numerous updates to the CC3000 driver from David Sidrane (2014-2-18).
- * nuttx/configs/stm3240g-eval/webserver: Converted to use the
- kconfig-frontends tools by Alan Carvalho de Assis (2014-2-18).
- * configs/mbed: All mbed configurations have been converted to use
- the kconfig-frontends tools (unverified) (2014-2-18).
- * fs/fs_opendir.c, fs_readdir.c, et al: Modified so that errors
- will not be reported if you attempt to list a empty pseudo-directory
- (2014-2-19).
- * fs/fs_rmdir.c: 'rmdir' can now be used to remove empty directories in
- the pseudo-filesystem such as might be left after umounting a
- file system (2014-2-19).
- * fs/fs_mkdir.c: 'mkdir' can now be used to create empty directories in
- the pseudo-filesystem (2014-2-19).
- * drivers/lcd/mio283qt9a.c: Bug fix from Toby Duckwork (2014-2-19).
- * fs/fs_rename.c: 'rename' can now be used to rename nodes in the
- pseudo-filesystem (2014-2-19).
- * arch/arm/src/samd/sam_sercom.c: Move some common SERCOM logic
- from the USART-specific files to a share-able file where it can
- also be used by SPI and I2C drivers (2014-2-19).
- * arch/arm/src/samd/sam_spi.c: Add framework for a SAMD SPI driver.
- The initial check-in is a crude port of the SAMA5 SPI driver with
- a lot of missing logic (2014-2-19).
- * arch/arm/src/lm/lm_lowputc.c and lm_serial.c: Several errors
- are unmasked with UARTs > UART2 are enabled. From Gosha (2014-2-19).
- * arch/arm/src/samd/sam_spi.c: The SPI driver is code complete,
- but untested (2014-2-20).
- * configs/olimex-lpc1766stck/ftpc: Configuration convert to use
- the kconfig-frontends tools by Alan Carvalho de Assis (2014-2-20).
- * fs/fs_mkdir.c: 'unlink' can now be used to remove things from the
- pseudo-filesystem. A new configuration option as been added:
- CONFIG_DISABLE_PSEUDOFS_OPERATIONS that effectively can be set
- back out these recent changes in rmdir, mkdir, unlink, and rename
- for operations on the pseudo-filesystem (2014-2-20).
- * Kconfig: Add an option to select default values for configuration
- variables based upon whether you want a smaller footprint or more
- features. CONFIG_DEFAULT_SMALL is used in sched/Kconfig and
- fs/Kconfig and in apps/. It turns out this this is not very useful
- if you are modifying existing configurations because then the
- defaults do not apply (2014-2-20).
- * arch/arm/src/sam34/chip/sam4e_vectors.h: Add vector definitions
- for the SAM4E (2014-2-21).
- * arch/arm/src/sam34/chip/sam4e_memorymap.h: Add SAM4E memory map
- (2014-2-21).
- * arch/arm/src/sam34/sam4e_gpio.h, sam4e_periphclks.h, and chip/sam4e_pio.h:
- Add PIO support for the SAM4E (2014-2-21).
- * configs/stm3220g-eval/nsh/defconfig: Converted to use kconfig-frontends
- by Alan Carvalho de Assis (2014-2-10)
- * configs/*/defconfig: Comment out all CONFIG_APPS_DIR settings. These
- should not be set in the default configurations because we don't know
- where the apps/ directly will reside until configuration time (2014-2-21).
- * arch/arm/src/sam34/chip/sam4e_pinmap.h: SAM4E pin multiplexing
- definitions (2014-2-21).
- * sched/sched_processtimer.c and fs/procfs/fs_procfscpuload.c: Add
- logic to measure and calculate the CPU load percentage. From David
- Alessio (2014-2-22).
- * sched/sched_processtimer.c, sched_cpuload.c, fs/procfs/fs_procfscpuload.c,
- and fs_procfscpuload.c: CPU load logic extended to keep counts on each
- thread. The per-thread CPU is now reported in the procfs under
- <pid>/loadavg (2014-2-23).
- * include/stddef.h: ptrdiff_t is defined twice in stddef.h and also in
- sys/types.h. stdef.h is the correct location for the definition, but
- it includes sys/types.h so, at least for now, the definition will be
- retained in sys/types.h (2014-2-25).
- * net/net_close.c: Fix one place where the connection reference count
- was not being decremented. This is really a cosmetic change BUT
- when CONFIG_DEBUG_NET is enable, it will cause assertions (2014-2-25).
- * arch/arm/src/sama5/sam_adc.h: Fix typos in the SAMA5 ADC register
- definition header file (2014-2-26).
- * arch/arm/src/sam34: The port to the SAM4E is code complete (2014-2-16).
- * include/cxx: Fix some bad idempotence definitions in header files
- (2014-2-27).
- * sched/sched_cpuload.c: Change calculation of the total count when the
- time constant related delay elapsed. The total count is now always
- guaranteed to add up to 100% (excepting only truncation errors)
- (2014-2-27).
- * fs/procfs/fs_procfscpuload.c and fs_procfsproc.c: Remove the newline
- at the end of the percentage so that the returned strings can be
- printed on the same line as other values (2014-2-27).
- * sched/Kconfig, sched_cpuload.c, and nuttx/sched/sched_processtimer.c:
- An asynchronous, "external" clock may now be used to drive the CPU
- load calculations for more accurate load measurements when needed
- (2014-2-27).
- * configs/*/defconfig: If CONFIG_NSH_LIBRARY=y then set CONFIG_NSH_READLINE=y
- otherwise the CLE will be selected by default the next time that
- make menuconfig is used (2014-2-28).
- * include/cxx/cstdbool: Ignore _Bool8 if CONFIG_C99_BOOL8=y. (2014-2-28).
- * configs/*/defconfig: Set CONFIG_DEFAULT_SMALL on all tiny MCU
- configurations (2014-2-28).
- * configs/stm3240g-eval/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-2-28).
- * configs/*/ostest: Removed most OS test configurations (except in a few
- cases where there was some good argument to retain the ostest
- configuration) (2014-2-28).
- * configs/stm3240g-eval/nsh2: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/stm3220g-eval/nsh2: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/stm3210e-eval/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/stm3210e-eval/nsh2: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/lincoln60/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/lpcxpresso-lpc1768/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/nucleus2g/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/vsn/nsh: Configuration converted to use the kconfig-frontends
- tools (2014-3-1).
- * configs/mirtoo/nsh: Configuration converted to use the kconfig-frontends
- tools (2014-3-1).
- * configs/pic32-starterkit/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/pic32-starterkit/nsh2: Configuration converted to use the
- kconfig-frontends tools (2014-3-1)
- * configs/pic32mx7mmb/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/ubw32/nsh: Configuration converted to use the kconfig-frontends
- tools (2014-3-1).
- * configs/sim/nsh2: Configuration converted to use the kconfig-frontends
- tools (2014-3-1).
- * configs/lm3s6432-s2e/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1)
- * configs/lm3s8962-ek/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/eagle100/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/stm32f4discovery/src/Makefile: Fix typo: stm32_pwm.c not
- stm32_psm.c. Noted by Max Kriegleder (2014-3-1).
- * configs/lpc4330-xplorer/nsh Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/ea3152/ostest: Configuration converted to use the
- kconfig-frontends tools (2014-3-1).
- * configs/stm3210e-eval/RIDE, nxlines, and nxtext: Remove some old
- style configurations that are not worth converting to use the
- kconfig-frontends tools (2014-3-2).
- * configs/stm3210e-eval/nx: Configuration converted to use the
- kconfig-frontends tools (2014-3-2).
- * configs/mirtoo/nxffs: Configuration converted to use the
- kconfig-frontends tools (2014-3-2).
- * arch/arm/src/lpc2378/Kconfig: Create Kconfig file for the LPC2378.
- Change most configuration variable names to avoid collisions with
- other platforms (2014-3-2)
- * configs/olimex-lpc2378/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-2)
- * configs/olimex-lpc1766stk/nx: Configuration converted to use the
- kconfig-frontends tools (2014-3-2)
- * configs/lpcxpresso-lpc1768/nx: Configuration converted to use the
- kconfig-frontends tools (2014-3-2)
- * configs/lm3s8962-ek/nx: Configuration converted to use the
- kconfig-frontends tools (2014-3-2)
- * configs/sim/nx: Configuration converted to use the kconfig-frontends
- tools (2014-3-2)
- * configs/c5471evm/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/olimex-strp11/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/eagle100/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/ez80f910200zco/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/stm3220g-eval/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/stm3240g-eval/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/sim/nettest: Configuration converted to use the kconfig-frontends
- tools (2014-3-3).
- * configs/ez80f910200zco/dhcpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/stm3220g-eval/dhcpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/stm3240g-eval/dhcpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-3).
- * configs/lpcxpresso-lpc1768/dhcpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/olimex-lpc1766stk/usbmsc: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/nucleus2g/usbmsc: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/lpcxpresso-lpc1768/usbmsc: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/stm3210e-eval/usbmsc: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/hymini-stm32v/usbmsc: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/ea3131/usbmsc: Configuration removed. It could not possible
- useful because there is no MCI driver for the EA3131 (2014-3-3)
- * configs/mcu123-lpc214x/usbmsc: Configuration converted to use the
- kconfig-frontends tools (2014-3-3)
- * configs/teensy/nettest: Configuration converted to use the kconfig-frontends
- tools (2014-3-3).
- * configs/*/dhcpd: Add missing DHCPD configuration settings (2014-3-3).
- * configs/stm32f4discovery/pm: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/stm3210e-eval/pm: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/stm3240g-eval/nxconsole: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/stm3210e-eval/nxconsole: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/stm3240g-eval/telnetd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/stm3220g-eval/telnetd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * fs/fat/fs_fat32.c: Fix an error in the FAT logic that can cause file
- corruption. The error conditions are rare and only seen with very
- large files. From Andrew Tridgell. This replaces a previous, partial
- fix for the same problem (2014-3-4).
- * configs/hymini-stm32v/usbserial: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/ea3131/usbserial: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/mcu123-lpc214x/usbserial: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/olimex-lpc1766stk/thttpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/lpcxpresso-lpc1768/thttpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/eagle100/thttpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/eagle100/httpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/ez80f910200zco/httpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/c5471evm/httpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/eagle100/nxflat: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/sim/touchscreen: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/sim/pashello: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/sim/nx11: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/ez80f910200zco/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/ez80f910200zco/poll: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/olimex-lpc1766stk/slip-httpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-4)
- * configs/c5471evm/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/compal_e99/nsh_compalram: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/compal_e99/nsh_highram: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/mcu123-lpc214x/composite: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/olimex-strp711/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/amber/hello: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/micropendous3/hello: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/teensy/hello: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/teensy/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * arch/avr/Kconfig, avr32/Kconfig, at32uc3/Kconfig, atmega/Kconfig, and
- at90usb/Kconfig: Reshuffle lots of AVR-related configuration names to
- make space for AVR32. Populate AVR32 Kconfig file (2014-3-5).
- * configs/avr32dev1/ostest: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/avr32dev1/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/ntosd-dm320/nettest: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/ntosd-dm320/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/ntosd-dm320/poll: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/ntosd-dm320/thttpd: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/ntosd-dm320/udp: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/ntosd-dm320/uip: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * arch/Kconfig, arch/arm/Kconfig, configs/ea3131/Kconfig,
- configs/ea3131/pgnsh/defconfig, configs/ea3131/src/up_fillpage.c,
- configs/ea3152/Kconfig, nuttx/configs/ea3152/src/up_fillpage.c,
- include/nuttx/page.h, and tools/cfgdefine.c: Add configuration
- settings for the on-demand paging option (2014-3-5).
- * configs/ea3131/pgnsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/qemu-i486/ostest: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * configs/qemu-i486/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-5)
- * Many files: Use common naming for all buildroot toolchains
- (2014-3-5).
- * Many files: Use common naming for rest of the toolchains (2014-3-5).
- * configs/ne64badge/ostest and demo9s12nec64/ostest: Configurations
- converted to use the kconfig-frontends tools (2014-3-5)
- * fs/nxffs/nxffs_open.c: Missing call to nxffs_freeentry() causes
- memory leak. From Lzyy (2014-3-6).
- * fs/nxffs/nxffs_stat.c: Looks like stat() has the same problem as
- the one reported by Lzyy (2014-3-6).
- * configs/skp16c26/ostest: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/us7032evb1/ostest: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/us7032evb1/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/mx1ads/ostest: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/pjrc-8051: Configuration converted to use the kconfig-frontends
- tools (2014-3-6)
- * configs/rgmp/arm/default: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/rgmp/arm/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/rgmp/x86/default: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/rgmp/x86/nsh: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/rgmp/x86/helloxx: Configuration converted to use the
- kconfig-frontends tools (2014-3-6)
- * configs/rgmp/x86/cxxtest: Configuration converted to use the
- kconfig-frontends tools. This completes the conversion of all
- configurations to the newer format (2014-3-6)
- * Removed the CONFIG_NUTTX_NEWCONFIG setting from every defconfig
- file (2014-3-6).
- * The legacy, manual configuration is no longer supported by the
- NuttX build system. Only the newer configurations generated by
- the kconfig-frontends tools will generate viable NuttX
- configurations. All board configurations in the NuttX source tree
- have been converted to use the newer configuration, but if you have
- some older style configurations for you board, you will need to
- convert those configurations to use the kconfig-frontends tools.
- See http://www.nuttx.org/doku.php?id=wiki:howtos:convertconfig for
- some guidelines (2014-3-6).
- * drivers/serial/Kconfig: Correct an error introduced in this file
- in very recent commits (2013-3-6).
- * configs/*sam*: Refresh all SAM* configurations with the latest
- Kconfig files (2014-3-6).
- * configs/stm32f4discovery: Refresh all configurations (except
- winbuild) with the latest Kconfig files (2014-3-6).
- * configs/viewtool-stm32f107: Refresh all configurations with the
- latest Kconfig files (2014-3-6).
- * configs/16z, mikroe-stm32f4, olimex-lpc1766stk, px4fmu-v2_upstream,
- sim, and stm32f429i-disco: Refresh all configurations (2014-3-6).
- * Documentation/NuttShell.html: Update per recommendations from Max
- Kriegleder (2014-3-6).
- * configs/pic32-starterkit, pic32mx7mmb, stm3210e-eval, stm3220g-eval,
- and stm3240g-eval: Refresh all configurations with the latest
- Kconfig files (2014-3-7).
- * configs/qemu-i486/src: Files renamed to correspond with current
- thinking about naming (2014-3-8).
- * arch/x86/src/qemu/qemu_keypad.c and qemu_vga.c: New QEMU keyboard
- and VGA drivers from Lizhuoyi (2014-3-8).
- * configs/olimex-lpc2378/src: Files renamed to correspond with current
- thinking about naming (2014-3-8).
- * arch/arm/src/lpc2378/lpc23xx_i2c.c and lpc23xx_spi.c: I2C and SPI
- drivers for the LPC23xx from Lizhuoyi (2014-3-8).
- * arch/arm/include/tiva and src/tiva: The old lm/ directories were
- renamed tiva/ to better support new products coming down the pipe
- from TI (2014-3-8).
- * arch/arm/include/tiva, src/tiva, and configs/: All files and all
- all functions beginning with the name lm_ changed to tiva_
- (2014-3-8).
- * configs/: Refresh all LM3/4/Tiva configurations (2014-3-9).
- * arch/arm/src/tiva/chip/tm4c_pinmap.h: Add pin multiplex definitions
- for the TM4C123 (2014-3-9).
- * arch/arm/src/tiva/chip/tm4c_memorymap.h: Add memory map for the
- TM4C123 (2014-3-9).
- * arch/arm/src/tiva/: Add GPIO and SYCONTROL register bit definitions
- for the TM4C123 (2014-3-10).
- * configs/tm4c123g-launchpad: Add basic board support for the
- TM4C123G-Launchpad (2014-3-10).
- * configs/sam4e-ek: Add basic board support for the SAM4E-EK board.
- More work is needed. The initial commit is little more than the
- SAM3U-EK with name changes (2014-3-10).
- * configs/spark: Refresh all spark configurations (2014-3-11).
- * arch/arm/src/tiva/chip/tm4c_memorymap.h: Fix typos reported by
- Daniel Pereira de Carvalho (2014-2-12).
- * arch/arm/src/sam34/sam_emac.c: Add an Ethernet MAC driver for the
- SAM4E. The initial checkin is essentially the SAMA5D3 EMAC driver
- with naming changes as appropriate (2014-3-12).
- * arch/arm/src/sam34/sam_cmcc.c: Add logic to manage the Cortex-M
- Cache Control block. Untested on initial check-in (2014-3-12).
- * arch/arm/src/sam34/sam_emac.c: Fix EMAC pin configuration (was been
- set up for RMII instead of MII). Now the driver EMAC appears to be
- functional (2014-3-13).
- * configs/sam4e-ek/nsh: Networking support is now enabled by default
- in the NSH configuration (2014-3-13).
- * arch/arm/src/sam34/sam_spi.c: Backported the SAMA5 SPI driver to
- the SAM3/4 architecture. The SAMA5 version supports both multiple
- SPI peripherals as needed by the SAM3A and SAM3X and also supports
- DMAC (but not PDC). The initial commit is untested and may very
- well have (temporarily) broken SPI for the SAM3/4/ family (2014-3-13).
- * configs/sam4e-ek/src/sam_at25.c and sam_hsmci.c: Added support for
- the AT25 serial FLASH. Restructured the logic that registers the
- HSMCI block driver (2014-3-13).
- * arch/arm/src/sam34/sam_dmac.c and sam_spi.c: Fixes to DMA in general
- and to SPI in particular (2014-3-14).
- * configs/sam4e-ek/nsh: DMA-based SPI and a FAT file system on the
- AT25 Serial FLASH are now supported by default in the NSH configuration
- (2014-3-14).
- * sched/nanosleep.c: Fix a missing call to re-enable interrupts. From
- Jason Jiang (2014-3-15).
- 7.2 2014-04-29 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/sam34/sam_udp.c and .h: Add a USB full speed device
- driver (UDP) for the SAM4E (2014-3-17).
- * Documentation/NuttxPortingGuide.html: Typo fixes from Vijay Kumar
- (2014-3-18).
- * arch/arm/Kconfig: Improved documentation of the use of the
- BASEPRI register from Vijay Kumar (2014-3-19).
- * include/nuttx/i2c.h: More typo fixes from Vijay Kumar (2014-3-19).
- * arch/Kconfig and *_assert.h: Add a configuration option to enable
- dumping of the USB trace buffer on assertion (2014-3-19).
- * drivers/usbdev/Kconfig, arch/arm/src/sam34/Kconfig, and
- drivers/usbdev/usbmsc_scsi.c: If DCD can support queuing of stall
- requests, then the USB MSC stall work around delays are not necessary
- (2014-3-20).
- * net/netdev_findbyaddr.c: Skip network devices that are in the
- "down" state. It does not make sense to consider an address match
- with a "down" device. From Brennan Ashton (2014-3-20).
- * configs/sam4e-ek/usbnsh: Add a NSH configuration that uses the
- NSH console (2014-3-22).
- * arch/arm/src/stm32/stm32_eth.c: Add IGMP hashing support. From
- Manuel Stühn (2014-3-24).
- * net/netdev_ioctl.c and uip/uip_input.c: IGMP-related bug fixes
- from Manuel Stühn (2014-3-24).
- * arch/arm/src/sam34: Add missing HSCMI configuration settings to
- Kconfig; update naming to include SAM34_ (2014-3-24).
- * configs/sam4e-ek/include/board.h: Update HSMCI timing to use the
- CLKODD bit (2014-3-24).
- * drivers/include/mtd/Kconfig, sector512.c, and include/nuttx/mtd/mtd.h:
- Add a new MTD driver that can be used to contain another driver and
- force its apparent sector size to be 512 bytes (2014-3-24).
- * arch/arm/src/sam34/sam_lowputc.c sam_serial.c: Fix a mysterious
- multithreading bug that can lock up the serial port (2014-3-14).
- * drivers/usbdev/Kconfig, usbmsc.c, usbmsc.h, and usbmsc_scsi.c:
- Redesign threading module used with the USB MSC driver. It was using
- pthreads before and these were changed to a kernel thread. The reason
- for this has to do with task grouping: A pthread is a memory of the
- group of the task that started it. A kernel thread is independent of
- the task that started in (other than knowing it as the parent). This
- allows me to remove so kludge logic to "deparent" the pthread on
- startup (2014-3-25).
- * tools/astyle.sh: A code formatting tool from Lorenz Meier. This
- tool should do a better job than the old tools/indent.sh tool
- (2014-3-26).
- * arch/arm/src/sam_hsmci.c and sam_spi.c: Add support to invalidate
- cached memory if the CMCC is enabled (not yet tested, 2014-3-26).
- * arch/arm/src/sam_spi.c: Add logic to handle SPI word widths > 8
- (also untested on initial checkin, 2014-3-26).
- * configs/sam4e-ek: All configurations updated to run with 120MHz
- CPU speed and with the CMCC enabled. Calibrated delay loop
- (2014-3-26).
- * drivers/lcd/Kconfig: Add missing configuration for the MIO283QT-9A
- LCD. Reported by Toby Duckworth (2014-3-27).
- * arch/arm/include/sama5/chip.h and arch/arm/src/sama5/Kconfig: Add
- support for the SAMA5D36 (2014-3-28).
- * libc/strings/lib_strncpy.c: Change ordering of test and copy. Logic
- would have failed if n=0; one byte was always copying before testing
- for the end of the copy.
- * nuttx/configs/sama5d3-xplained/: Add a board support configuration
- for the Atmel SAMA5D3 Xplained board. The initial check in is not
- finished. For example, it still builds to run out of NOR FLASH but
- the SAMA5D Xlpained has no NOR FLASH (2013-4-28).
- * arch/arm/src/sama5/sam_pmc.c and .h: Add functions to calculate
- PLLACK, PCK, and MCK frequencies given the main clock frequency
- (2014-3-29).
- * configs/sama5d*/include/board.h, board_sdram.h, and other files:
- When booting from SDRAM, we need to query the PMC registers (using
- the functions in sam_pmc.c) to determine the MCK, PCK, etc. We assume
- that the MCK input clock is well known main crystal oscillator
- frequency (2014-3-29).
- * configs/sama5d3x-ek: Change all configuration names to board-
- specific names so that this are no name collisions with other
- boards that have similar configuration variables (2013-3-30).
- * configs/nuttx/compiler.h: Add macro UNUSED() that can be used
- to eliminate warnings about variables that are set to values
- that are not used (2014-3-30).
- * arch/arm/src/sama5/sam_hsmci_clkciv.c: Remove HSCMI-related
- functions that did not belong in sam_pmc.c and give them their
- own file (2014-3-30).
- * arch/arm/src/sama5/sam_boot.c: Fix some backward conditional
- compilation (2014-3-30).
- * libc/stdio/lib_sccanf.c: Fix a counting error in the return
- value from sscanf(). Noted by kfrolov. Also, sscanf() should
- return EOF if no values were converted (2014-3-30).
- * include/time.h and sched/clock_settime(): Add support for
- CLOCK_REALTIME. From Macs N (2014-3-31).
- * libc/stdio/lib_ferror.c, lib_fread.c, lib_libfflush.c,
- lib_libfread.c, and lib_libfwrite.c: Finish incomplete support
- for ferror(). From Macs N (2014-3-14).
- * libc/stdio/lib_ftell.c: Fix a logic error in ftell(). It was
- simply using the file offset and did not take into account data
- buffered in memory. From Macs N (2013-3-31).
- * Add CONFIG_CLOCK_MONOTONIC that case used to disable CLOCK_MONOTONIC
- for a smaller footprint (2013-3-31).
- * sched/Kconfig: Menu has gotten too long. And another layer of
- menuing in order to simplify this layer (2014-3-31).
- * arch/arm/src/sama5_boot.c: Fix double mapping of SDRAM when executing
- out of SDRAM. In this case, the SDRAM was already mapping in
- arm_head.S (2014-3-31).
- * arch/arm/src/sama5/chip/sam_dbgu.h: Add SAMA5D3 DBGU definition
- header file (2014-3031).
- * arch/arm/src/sama5/sam_dbgu.c and .h: Add support for the SAMA5D3
- DBGU (2014-4-1).
- * configs/sama5d3-xplained/nsh: Configurations now use the DBGU for
- the serial console (instead of USART1) (2014-4-1).
- * libc/stdio/lib_sccanf.c: Use stroul() vs strol() with %u format
- otherwise, range of values is restricted because of sign bit
- from kfrolov (2014-4-2).
- * arch/arm/src/sama5/sam_boot.c, sam_irq.c, chip/sama5d3x_memorymap.h:
- When running from SDRAM, vectors must lie in SRAM (2014-4-2).
- * arch/arm/src/armv7-a/arm_head.S and cache.h: On start-up, make
- certain that the MMU and caches are disabled (probably un-necessary)
- (2014-4-2).
- * arch/arm/src/sama5/sam_boot.c: If we have to copy vectors, then
- make sure to clean the DCache to be sure that the copied vectors are
- in the physical RAM (2014-4-2).
- * arch/arm/src/sama5/sam_irq.c: After we modify the AXI MATRIX, make
- sure to invalidate all caches and TLBs (probably un-necessary)
- (2014-4-2).
- * arch/arm/src/sama5/sam_irq.c: Set the VBAR register to zero. If
- were started by a bootloader (vs. a RESET), then the VBAR register
- may not be in its reset state (zero, 2014-4-3).
- * arch/arm/src/sama5/sam_boot.c, sam_irq.c, and chip/sama5d3x_memorymap.h:
- When booting from SDRAM, don't relocated vectors to ISRAM. Instead,
- just set the VBAR register to address of the vectors in SDRAM.
- * arch/arm/src/sama5/sam_clockconfig.c: BMS Fixed to match what the HW
- does. From David Sidrane (2014-4-3).
- * arch/arm/src/sama5/Kconfig, sam_boot.c, andsam_clockconfig.c: On some
- hardware, reconfiguring the PLL while executing out of NOR FLASH causes
- crashes. This was fixed by David Sidrane by implementing RAM functions.
- The killer code is copied and executed from ISRAM and the crash is
- avoided (2014-4-3).
- * configs/sama5d3-xplained/Kconfig and include/board*.h;
- configs/sama5d3x-ek/Kconfig and include/board*.h: Add support for
- 528MHz CPU clock (2014-4-3).
- * arch/arm/src/sama5/Make.defs: Fix a build error that occurs when
- only USB device tracing is enabled (2014-4-4).
- * Documentation/UsbTrace.html: Add some discussion of the USB monitor
- (2014-4-4).
- * nuttx/arch/arm/src/armv7-a/mmu.h: Bufferable bit did not do what
- I thought it was going to do. Result was the NOR FLASH accesses
- were very slow (2014-4-3).
- * arch/arm/src/sama5/sam_udphs.c: Fix a case where received status
- was not being cleared, causing OUT SETUP commands to fail (2014-4-6).
- * arch/arm/src/tiva/tiva_syscontrol.c: Add logic for TM4C125GXL based
- on logic from Daniel Carvalho with modifications. I think the
- LM4F120 may have broken before as well(?). In any event, the LM4F120
- also works well with this change (2014-4-7).
- * Back out part of 610e2aa0c224e2936fe8009ef4a2351ce607067a: Need to
- be able to select USB console devices when there is no /dev/console
- enabled. Noted by Librae (2014-4-8).
- * configs/*/defconfig: Increase the number of preallocated watchdogs
- in all configurations that use networking or USB (2014-3-9).
- * include/nuttx/syslog/syslog.h and ramlog.h: Move syslog.h and
- ramlog.h to include/nutt/syslog (2014-4-10).
- * sched/errno_getptr.c and getpid.c: Add some checks. If these
- functions are called early in initialization before the tasking
- structures are initialized, they will not behave properly
- (2014-4-10).
- * arch/arm/src/sama5/sam_twi.c: TWI data sending is fails to increment
- the number of bytes transferred on first byte sent. From David Sidrane
- (2014-4-10).
- * configs/sama5d3x-ek/src: The red LED is controlled by PE24 which is
- also the camera/ISI interface reset line. So if the a camera is
- installed, then we must avoid controlling the red LED or we inadvertently
- also reset the camera module. Noted by David Sidrane (2014-4-11).
- * arch/arm/src/stm32/stm32_usbhost.c/.h and stm32_otgfshost.c: USB host
- tracing added by Leo (2014-4-12).
- * arch/arm/src/sama5/sam_adc.c, sam_can.c, sam_emac.c, sam_gmac.c,
- sam_ssc.c, and sam_twi.c: If running from SDRAM, then BOARD_MCK_FREQUENCY
- is not a constant and cannot be used in conditional compilation (2014-4-16).
- * drivers/lcd/mio283qt9a.c and include/nuttx/lcd/mio283qt9a.h: Update the
- MIO183QT-9A LCD driver to support reading from the LCD. From Toby
- Duckworth (2014-4-16).
- * arch/arm/src/stm32/chip/stm32f20xxx_pinmap.h: Correct a mapping for
- SPI MOSI pin. From dlsitzer (2014-4-26).
- * arm/src/sama5/sam_clockconfig.c and common/up_internal.h: Move the
- un-definitions of __ramfuncs__ from the .c file to the .h file or,
- otherwise, the attribute will be applied differently for the prototype
- and the function definition. Sourceforge patch 38 from Luciano Neri
- (2014-4-17).
- * arch/arm/src/sama5/sam_emac.c: Add missing right parentheses. This
- introduced in the above change and is Sourceforge patch 39 from Luciano
- Neri (2014-4-17).
- * configs/sama5dx-ek/include/board.h and sama5d3-xplained.h: These files
- reference type xcpt_t and so must include nuttx/irq.h. This is
- Sourceforge bug 25 submitted by Luciano Neri (2014-4-17).
- * arch/arm/src/stm32/stm32_otgfshost.c: Some fixes related to low-speed
- devices and interrupt endpoints from Leo (2014-4-17).
- * configs/stm32f4discovery/src/stm32_usb.c: Add support to register
- keyboard and mouse classes if so configured. From Leo (2014-4-17).
- * include/nuttx/usb/usbhost: Fix some USB HID-related conditional
- compilation. From Leo (2014-4-17).
- * drivers/usbhost/usbhost_hidmouse.c: Don't include NAKs from the device
- in the error count. From Leo (2014-4-17).
- * arch/arm/src/sam34/sam_irq.c: Fix initialization of the default
- priorities (2014-4-17).
- * arch/arm/src/kinetis/kinetis_irq.c, lpc17xx/lpc17_irq.c, and
- tiva/tiva_irq.c: Modify the logic to disables the interrupts and sets
- the default interrupt priority so that it uses the ICTR to get the
- number of interrupt lines/registers. This is instead of using some
- fixed number of initializations based a priori knowledge of the number
- of interrupt lines in the MCU. This logic is untested on some MCUs
- on initial check-in0 (2014-4-17).
- * arm/src/lpc17xx/Kconfig and lpc17_ethernet.c: The default interrupt
- priority should be default, not the highest priority (2014-4-19).
- * configs/lpcxpresso-lpc1768: Refreshed all defconfig files (2014-4-19).
- * configs/olimex-lpc1766stk: Refreshed all defconfig files (2014-4-19).
- * configs/zkit-arm-1769: Refreshed all defconfig files (2014-4-19).
- * include/nuttx/binfmt/ieee695.h: Beginning of header file for IEEE
- 695 OMF header file (2014-4-19).
- * arch/arm/include/stm32/chip.h and src/stm32/Kconfig: Add support
- for the STM401RE. From Frank Bennett (2014-4-20).
- * README.txt, Documentation/README.html, configs/Kconfig and README.txt,
- configs/nucleo-f401re: Add support for the Nucleo-F401RE board. From
- Frank Bennett (2014-4-20).
- * arch/arm/src/sam34/sam_rtc.c/.h: Port RTC driver from SAMA5 to
- SAM3/4. From Bob Doiron (2014-4-21)
- * arch/arm/src/sam34/sam4s_periphclks.h: Fix error in macros that
- disable peripheral clocking. From Bob Doiron (2014-4-21)
- * drivers/mmcsd/mmcsd_sdio.c/.h: Misc improvements from Bob Doiron
- (2014-4-21)
- * arch/arm/src/sam34/sam_hsmci.c and chip/sam_hsmci.h: Extensions
- from Bob Doiron needed to support PDC-based HSMCI DMA transfers
- (2014-4-21).
- * configs/sam4s-xplained-pro: Support for the SAM4S Xplained Pro
- board from Bob Doiron (2014-4-21).
- * configs/sam4s-xplained-pro: Added card detect (kind of broken
- still); added proc/vfat mounting during init to save some typing.
- From Bob Doiron (2014-4-21).
- * configs/sam4s-xplained-pro: Boost PLLA to 240MHz to allow USB. From
- Bob Doiron (2014-4-21).
- * arch/arm/src/sam34/sam_wdt.c/.h: Add watchdog driver. From Bob
- Doiron (2014-4-21).
- * nuttx/configs/sam4s-xplained-pro: Add board-specific watchdog
- timer support. From Bob Doiron (2014-4-21).
- * drivers/timer.c and include/nuttx/timer.h: Timer "upper half"
- driver and lower half interface definition from Bob Doiron
- (2014-40-22).
- * arch/z16/src/z16f/z16f_espi.c: Add ZNEO ESPI driver (2014-4-24).
- * arch/arm/src/stm32/stm32_sdio.c: The dmaflight method must
- be conditioned on CONFIG_SDIO_PREFLIGHT. Noted by Pelle
- Windestam (2014-4-25)
- * configs/nucleo-f401re: Removed bogus references to the MPU
- (2014-4-25).
- * arch/z16/src/z16f_timerisr.c: Fix calculation of timer
- reload and prescaler. The timer frequency was way too fast
- (2014-4-25).
- * arch/arm/src/stm32/stm32_otgfsdev.c and others: Sourceforge
- Ticket #26. up_prioritize_irq should not be called if
- CONFIG_ARCH_IRQPRIO is not defined (2014-4-25).
- 7.3 2014-06-25 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/sama5/sam_clockconfig.c: Needed function sam_pmcwait()
- is needed when UDPHS, EHCI, or OHCI is configured but may not be
- compiled in due to insufficient conditional logic. From Luciano Neri
- (SourceForge patch #40) (2014-4-29).
- * arch/arm/include/stm32/chip.h, src/stm32/Kconfig, stm32_allocateheap.c,
- configs/nucleo-f401re/nsh/defconfig, and scripts/ld.script: Numerous
- changes, most correcting memory usage on the Nucleo-F401RE (2014-4-30).
- * /drivers/mtd/w25.c: Extended by Mark Whitehorn to support the 8Mbit
- W25Q80BV part (2014-4-30).
- * configs/sam4s-xplained-pro: Update LED control logic from Bob Doiron
- (2014-4-30).
- * drivers/timer.c and include/nuttx/timer.h: Enhanced timer interface
- from Bob Doiron (2014-4-30).
- * arch/arm/src/sam34/Kconfig and sam_tc.c: Enhanced timer/counter driver
- from Bob Doiron (2014-4-30).
- * configs/sam4s-xplained-pro/Kconfig, nsh/defconfig, and src/sam_tc.c:
- The SAM4S Xplained Pro now uses the extended timer/counter features.
- From Bob Doiron (2014-4-30).
- * include/nuttx/arch.h and sched/os_internal.h: If the CPU load
- measurements are being driven by an external clock, then the prototype
- for sched_process_cpuload() must be available in include/nuttx/arch.h
- (2014-4-30).
- * Documentation/NuttShell.html and many defconfig files: The alternate
- console device CONFIG_NSH_CONDEV must not be defined unconditionally.
- This causes errors when using Telnet sessions. This was solved by
- adding CONFIG_NSH_ALTCONDEV: CONFIG_NSH_ALTCONDEV enables or disables
- the feature then, if enabled, CONFIG_NSH_CONDEV provides the alternative
- console device name (2014-5-5).
- * arch/arm/src/sam34/sam_rtt.c/.h: RTT driver from Bob Doiron. Also
- added high resolution RTC emulation using the RTT for the sub-second
- counter (2014-5-5).
- * configs/sam4s-xplained-pro: Clean-up of LED usage and also some
- integration of new timer features. From Bob Doiron (2014-5-5).
- * drivers/timer.c and include/nuttx/timer.h: Timer driver updates from
- Bob Doiron (2014-5-5).
- * binfmt/symtab_findorderedbyname.c: Fix an error in the symbol search
- function. Noted by Pelle Windestam (2014-5-6).
- * arch/arm/src/stm32/stm32f40xxx_rcc.c and configs/nucleo-f401re/include/board.h:
- The Nucleo-F401RE has no on-board crystals and, hence, needs to run
- with the PLL input from the on-chip HSI clock (2014-5-6).
- * arch/arm/src/armv7-a/arm_memcpy.S: This is the same optimized memcpy()
- function that Mike Smith brought in for the ARMv7-M with minor tweaks
- by David Sidrane to work with the ARMv7-A (2014-5-6).
- * binfmt/libpcode, pcode.c, include/nuttx/poff.h, and binfmt/pcode.h:
- Framework to support Pascal P-Code as a binary format. At present this
- logic is incomplete and really nothing more than a thought experiment
- to determine the feasibility of the P-code binary format (2014-5-7).
- * drivers/sensors/Make.defs: Correct build dependency. Sourceforge
- ticket #41 from Kosma Moczek (2014-5-8).
- * drivers/serial.c, include/nuttx/serial.h, arch/arm/src/stm32/stm32_serial.c
- and minor updates to all other drivers using the serial interface: Add an
- rxflowcontrol method to the serial interface to better support RX flow control.
- From Jussi Kivilinna (2014-5-8).
- * arch/arm/include/stm32 and src/stm32: Add support for the STM32152 and
- STM32162 Medium+ density parts (plus miscellaneous other improvements to
- the original STM32151 logic). From Jussi Kivilinna and Sami Pelkonen
- (2014-5-8).
- * binfmt/binfmt_dumpmodule.c, binfmt_loadmodule.c, binfmt_unloadmdoule.c,
- builtin.c, elf.c, nxflat.c, pcode.c, and include/nuttx/binfmt/binfmt.h:
- Extend the binfmt interface to handle error conditions where format-specific
- binfmt clean-up is needed in the event of error conditions. This is needed
- by the P-Code binfmt (2014-5-8).
- * binfmt/libpcode, pcode.c, include/nuttx/poff.h, and binfmt/pcode.h:
- Now uses apps/interpreters/prun and is basically functional. More work
- is needed because (1) it is too coupled with apps/ and (2) will not work
- with CONFIG_NUTTX_KERNEL (2014-5-9).
- * arch/arm/src/stm32/stm32_i2c.c: Bring in PX4 fix for I2C in very high
- noise environments or with rogue perpipherals. Taken from the PX4 commit
- 099b2017ccfa0fc7696f168db2a0c2e13fe5edbc by Tridge here:
- https://github.com/PX4/NuttX (2014-5-10).
- * include/nuttx/video/rgbcolors.h: Fix typo in several macros: RBG -> RGB.
- (2014-5-12).
- * drivers/mtd/ramtron.c: Add support for Fujitsu MB85RS1MT part. From
- Charles Ash (2014-5-12).
- * configs/sam4e-ek/src/sam_ili9325.c: Add an LCD driver for the SAM4E-EK
- board. Untested on initial check-in (2014-5-13).
- * configs/sam4e-ek/src/sam_ads7843e.c: Add a touchscreen driver for the
- SAM4E-EK board. Untested on initial check-in (2014-5-13).
- * arch/arm/src/stm32/stm32_i2c_alt.c: Add an alternative I2C implementation
- for the STM32 F03 that works around errata in that part. From Patrizio
- Simona (2014-5-14).
- * arch/arm/src/sam34/sam_gpio.c: Fix some SAM4E compiler errors when
- CONFIG_DEBUG_GPIO is enabled (2014-5-15).
- * sched/sig_mqnotempty.c: Test for a valid signal number is inverted; this
- function could not have been working correctly??? From eero.nurkkala
- (2014-5-20).
- * arch/arm/src/stm32/stm32_lowputc.c: Fix error in conditional
- compilation. From Sami PelKonen (2014-5-20).
- * arch/*/src/* (several files): Make sure that all references to
- up_prioritize_irq() are conditioned on CONFIG_ARCH_IRQPRIO. Problem
- noted by Mike Smith (2014-05-20).
- * drivers/wireless/cc3000/Kconfig: Correct SPI mode for CC3000 is CPOL=0
- CHPA=1. See http://processors.wiki.ti.com/index.php/CC3000_Serial_Port_Interface_(SPI)
- From Jussi Kivilinna (2014-5-21).
- * drivers/wireless/cc3000/cc3000.c and include/nuttx/wireless/cc3000/include/cc3000_upif.h:
- Configuration has CC3000_SPI_MODE settings but source uses
- CONFIG_CC3000_SPIMODE. From Jussi Kivilinna (2014-5-21).
- * drivers/wireless/cc3000/cc3000drv.c: unsoliced_thread does
- initialization of message queue, but main thread might block that
- thread from running and use the uninitialized message queue. The main
- thread must wait until unsolice_thread initializes the required
- structures before proceeding. From Jussi Kivilinna (2014-5-21).
- * drivers/wireless/cc3000/cc3000.c: Fix build when POLL is enabled.
- From Jussi Kivilinna (2014-5-21).
- * arch/arm/include/armv7-m/irq.h: Change bne to bne.n in irqrestore()
- (2014-5-22).
- * Many files: Convert all old-style variadic macros to the C99 form.
- Recent GCC changes tightens up that behavior and can cause some problems
- (at least for the IAR compiler for some reason). See
- https://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html#Variadic-Macros.
- Noted by Bob Grimes (2014-5-22).
- * configs/viewtool-stm32f107/nsh: Configuration refreshed (2014-5-23).
- * arch/arm/src/stm32/stm32_i2c_alt.c: Final driver from Max Kriegleder et al.
- Reduces footprint and fixes a bug. (2014-5-23).
- * tools/configure.sh: In-place SED edit messes up permissions on windows.
- From Hannes Delago (2014-5-25).
- * include/nuttx/mtd/mtd.h: Needs forward reference to struct spi_dev_s.
- (2014-5-25).
- * arch/arm/src/stm32/stm32_i2c.c and stm32_i2c_alt.c: Back out PX4 fixes
- that were reverted in the PX4 repositories (2014-5-25).
- * sched/Kconfig: CONFIG_START_YEAR/MONTH/DAY are not required if the
- RTC is enabled (2014-5-26).
- * arch/arm/src/stm32/stm32_rtcc.c: Add retry logic to RTC initialization.
- It sometimes takes longer for the RTC to initialize, at least as noted
- on an F2 part. From dlsitzer (2014-5-27).
- * libc/stdio/lib_snprintf.c: If the size passed to snprintf() is zero,
- then snprintf() must write nothing, but instead return the size of the
- buffer needed to hold the entire string. From Sami Pelkonen (2014-5-30).
- * net/arp: Move arp related files from net/uip to net/arp. Files renamed
- with arp_ prefix (2014-5-30).
- * include/nuttx/net/arp.h and net/arp/arp_timer.c: Moved
- include/nuttx/net/uip/uip-arp.h to include/nuttx/net/arp.h; moved
- net/net_arptimer to arp/arp_timer.c. (2014-5-30).
- * net/igmp: Moved IGMP files from net/uip to net/igmp (2014-5-30).
- * net/icmp: Moved ICMP files from net/uip to net/icmp (2014-5-30).
- * net/uip/uip_tcptimer.c: NET: Notify upper layer when TIME_WAIT or
- FIN_WAIT_2 timeout occurs. Otherwise connections possibly won't get
- freed. From Max Holtzberg (2014-6-2).
- * TCP fallback allocation: Added all states in which the connections are
- about to be closed. Fallback mechanism is disabled when SO_LINGER is
- enabled to prevent deadlocks in netclose_disconnect(). From Max Holtzberg
- (2014-6-2).
- * configs/olimex-stm32_h405: Support for the Olimex STM32 H405 board
- contributed by Martin Lederhilger (2014-6-3).
- * net/arp/Make.defs: Fix an error introduced recently in the net/ build
- (2014-6-3).
- * net/iob: Add generic I/O buffering. Not currently used by anything.
- (2014-6-4).
- * arch/arm/include/sama5 and arch/arm/src/sama5: Basic framework to
- support the SAMA5D4 family. Incomplete on initial check-in (2014-6-3).
- * arch/arm/src/sama5/chip/sam_xdmac.h: Beginning of XDMAC register
- definition header file (incomplete) (2014-6-4).
- * arch/arm/src/sama5/chip/sam_l2cc.h: Add SAMA5D4 L2CC register definition
- header file (incomplete on initial check-in) (2014-6-5).
- * drivers/usbdev/cdcacm.c: Reset RX head to avoid resending last serial
- data when USB cable disconnected/re-connected. From Lizhuoyi (2014-6-6).
- * drivers/usbdev/pl2303.c: Same change cloned for PL2303 (2014-6-6).
- * arch/arm/src/lpc2378: Fix several typos. From Lizhuoyi (2014-6-6).
- * arch/arm/src/lpc17xx/lpc17_gpdma.c: Fix an error when DMA is
- started: The read-modify-write fails when the DMA is started. This
- is because the value read is not the same as the value set (on write
- it is the number of transfers to do; on read it is the number of
- transfers completed). From Lizhuoyi (2014-6-6).
- * configs/sama5d4-ek: Initial board support for the SAMA5D4-EK board.
- This initial check-in is basically the SAMA5D3-Xplained board support
- with appropriate name changes (2014-6-6).
- * stm32/arch/arm/src/stm32_serial.c: Handle configuration for the
- case of 8-bit data with parity. From Freddie Chopin (2014-6-11).
- * binfmt/libelf/elf.c: Fix a compilation error when CONFIG_ELF_DUMPBUFFER
- is defined. From Pelle Windestam (2014-6-12).
- * net/, include/nutt/net, and include/netpacket: Add support for "raw"
- sockets. From Lazlo Sitzer (2014-6-12).
- * arch/arm/src/sama5: Add SAMA5D4 XDMAC driver. Initial check-in is
- just the DMAC driver with a few naming changes (2014-6-12).
- * configs/sama5d4x-ek/ramtest: Add an SDRAM test configuration
- (2014-6-14).
- * libc/stdio/lib_libsnoflush.c, lib_memsistream.c, and lib_memsostream.c:
- Add support for seekable memory streams (2014-6-14).
- * libc/stdio/lib_rawsistream.c, and lib_rawsostream.c: Add support for
- seekable raw streams (2014-6-14).
- * libc/stdio/lib_stdsistream.c, and lib_stdsostream.c: Add support for
- seekable standard streams (2014-6-14).
- * configs/sam4x-xplained*/src/sam_buttons.c: Button interrupts not being
- disabled after being detached. (2014-6-15).
- * binfmt/binfmt_exec.c: Fix a critical error in exec(); argv was not
- being passed (2014-6-15).
- * arch/arm/src/sama5/sam_dmac.h: Fix some critical typos in the SAMA5D3
- DMA definitions (2014-6-17).
- * nuttx/net/net_send_unbuffered.c: Notify the device driver of the
- availability of TX data. From Daniel Lazlo Sitzer (2014-6-18).
- * net/net_close.c, net_send_unbuffered.c, socket.c, and uip_poll.c:
- Various fixes for raw sockets from Daniel Lazlo Sitzer: (1) properly
- free the socket in psock_close(), (2) socket() returns failure when
- there is no free socket/connection, and (3) Set number of bytes to
- transmit is set in the uip_driver_s instance (2014-6-18).
- * net/tcp: Move all TCP files from net/uip to net/tcp (2014-6-18).
- * net/udp: Move all UDP files from net/uip to net/udp (2014-6-18).
- * net/pkt: Move all AF_PACKET files from net/uip to net/pkt (2014-6-18).
- * net/Kconfig: Add option to select CONFIG_NET_GUARDSIZE (2014-6-18).
- * net/net_send_buffered.c: Add checks from buffer allocation failures.
- from Max/Himax (2014-6-19).
- * tools/mkfsdata.pl: Apparently, the trailing the 0x00 in http server
- files is seen as a bug in javascript and images. From Max/Himax
- (2014-6-19).
- * net/ and include/nutt/net (many files): Conversion of the TCP
- write buffering logic to use I/O buffer chains (not tested on initial
- check-in) (2014-6-22).
- * include/time.h and sched/clock_gettime.c: Fix typo in conditional
- compilation: CONFIG_CLOCK_MONOTONIC vs. CLOCK_MONOTONIC. From Manuel
- Stühn (2014-6-23).
- * arch/avr/Kconfig and arch/avr/src/avr32/Kconfig: Fix typos in
- Kconfig files from Stefan Sperling (2014-6-23).
- * net/net_send_unbuffered.c: Remove some spurious white space from
- field selectors. SourceForge ticket #42 (2014-6-23).
- * arch/arm/src/lpc17xx and configs/lpcexpresso-lpc1768: Added support
- for the lpcxpresso's rtc handler, adc, dac, timers, pwm and mcpwm
- drivers. From Max (himax) (2014-6-23).
- * net/tcp/Kconfig: Cannot enable bother TCP write buffering AND raw
- packet sockets. This should not logically be the case, but is because
- the implementations are presently too coupled. The logic packet
- socket logic in net/net_send_unbuffered.c needs to be broken out into
- a separate file so that write buffered TCP and packet socket transfers
- can co-exist (2014-6-23).
- * net/uip/uip_pktsend.c: Move the logic that copies data into the
- device buffer from net/net_send_unbuffered.c to net/uip/uip_pktsend.c.
- This makes the packet socket design more consistent with TCP and UDP
- (2014-6-23).
- * net/: Separate net/net_send_buffered.c and net/net_send_unbuffered.c
- to net/tcp/tcp_send_buffered.c, net/tcp/tcp_send_unbuffered.c, and
- pkt/pkt_send.c (2014-6-24).
- * include/net/if.h and /net/arp/arp_inout.c: Suppress ARP requests on
- data sent from packet sockets (2014-6-24).
- * include/nuttx/net/netconfig.h: Move include/nuttx/net/uip/uipopt.h to
- include/nuttx/net/netconfig.h (2014-6-24).
- * include/nuttx/net/netdev.h: Move include/nuttx/net/uip/uip-arch.h to
- include/nuttx/net/netdev.h (2014-6-24).
- * include/nuttx/net/tcp.h: Move include/nuttx/net/uip/uip-tcp.h to
- include/nuttx/net/tcp.h (2014-6-24).
- * include/nuttx/net/udp.h: Move include/nuttx/net/uip/uip-udp.h to
- include/nuttx/net/udp.h (2014-6-24).
- * include/nuttx/net/pkt.h: Move include/nuttx/net/uip/uip-pkt.h to
- include/nuttx/net/pkt.h (2014-6-24).
- * include/nuttx/net/icmp.h: Move include/nuttx/net/uip/uip-icmp.h to
- include/nuttx/net/icmp.h (2014-6-24).
- * include/nuttx/net/igmp.h: Move include/nuttx/net/uip/uip-igmp.h to
- include/nuttx/net/igmp.h (2014-6-24).
- * include/nuttx/net/ip.h: Move include/nuttx/net/uip/uip-ipopt.h to
- include/nuttx/net/ip.h (2014-6-24).
- * include/nuttx/net/uip.h: Move include/nuttx/net/uip/uip.h to
- include/nuttx/net/uip.h (2014-6-24).
- * net/uip/uip.h: Rename net/uip/uip_internal.h to net/uip/uip.h
- (2014-6-24).
- * net/iob: Add support for throttling read-ahead buffering if the
- read-ahead buffering is competing with write buffering for I/O
- buffers (2014-6-24).
- * net/: Many files changed. Convert existing TCP read-ahead logic
- to use I/O buffer chains (2014-6-24).
- * net/: Clean up all TCP and UDP related naming (204-6-24).
- * net/: Clean up all ICMP, IGMP, ARP, and PKT related naming
- (204-6-25).
- * arch/arm/src/sam34 and include/sam34: Add support for the SAM4CM
- family. From Max Neklyudov (2014-6-25).
- 7.4 2014-08-15 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/stm32_i2c.c: Fix missing configuration of
- GPIO pins in I2C driver. Fix from Alex D. (2014-6-25).
- * NET: Fix an include file ordering problem when CONFIG_NET_STATISTICS=y.
- (2014-6-26).
- * include/nuttx/net/netstats.h: Move statistics from uip.h to new netstats.h
- to remove nasty circular inclusion problem (2014-6-26).
- * arch/arm/src/sama5: Add logic to redirect all SAMA5D4 interrupts to
- the AIC (2014-6-26).
- * net/route: Move routing table functions to net/route (2014-6-26).
- * net/utils: Move some files into net/utils (2014-6-26).
- * net/: Repartition initialization logic so that net/uip is at the bottom
- of the food chain, instead of at the top.
- * apps/include/hex2bin.h: The hex2bin library did not build with
- debug disabled (2014-6-26).
- * configs/sama5d4-ek/dramboot and src/dram_main.c: Add a boot loader that
- runs from ISRAM and loads an Intel HEX file into DRAM (2014-6-26).
- * configs/sama5d4-ek/nsh and scripts/: Setup the SAMA5D4-EK NSH
- configuration to use the DRAMBOOT loader by default (2014-6-26).
- * binfmt: Various changes associated with symbol tables. Most from Pelle
- Windestam (2014-6-27).
- * Networking: Add network device ioctl to access PHY registers. From Daniel
- Lazlo Sitzer (2014-6-27).
- * net/netdev: Move net/netdev*.c to net/netdev/netdev*.c (2014-6-27).
- * arch/arm/src/sam34/chip/sam4cm_ipc.h: Add SAM4CM IPC register header
- file. From Max Neklyudov (2104-6-27).
- * arch/arm/src/sam34: Various fixes PMC and clock configuration for the
- SAM4CM port from Max Neklyudov (2104-6-27).
- * configs/sama5d4-ek/src/dram_main.c: SAMA5D4: Bootloader needs to flush
- D-Cache to memory before disabling the caches (2014-6-27).
- * net/Makefile: Fix a Make.defs inclusion omitted in a previous check-in
- (2014-6-17).
- * net/utils: Move net/uip/uip_chksum.c to net/utils/net_chksum.c
- (2014-6-17).
- * configs/sama5d4-ek/at25boot and src/at25_main.c: Add a configuration
- that will load a bootloader into AT25 Serial FLASH (2014-6-28).
- * libc/math: Change double_t to double in rint(). Add rintf() and rintl()
- while we are at it (2014-6-28).
- * net/iob: Fix some errors in recent network I/O buffering when stack runs
- from interrupt level. Reported by Manuel Stühn (2014-6-28).
- * net/sockets: Create the net/sockets directory and hook it into the
- build system. Move all socket-related C files into net/socket. Move
- net/net.h to net/socket/socket.h (2014-6-28).
- * net/ipv6: Move IPv6 files from net/uip to net/ipv6 (2014-6-28).
- * net/devif: Rename net/uip to net/devif. Rename uip/uip.h to
- devif/devif.h (2014-6-28).
- * net/devif: Rename many functions in net/devif from uip_* to devif_*
- (2014-6-28).
- * configs/sama5d4-ek/src/nsh: The SAMA5D4-EK NSH configuration now
- supports the RTC by default (2014-6-29).
- * arch/arm/src/sama5/Kconfig and sam_hsmci.c: Add configuration to
- assign an XDMAC channel to an HSMCI (2014-6029).
- * Various fixes for networking and tiny webserver from Max (2014-6-29).
- * SAMA5: Various fixes related to DMA in order to get the HSMCI
- driver to build for the SAMA5D4 (2014-6-29).
- * SAMA5D4-EK: Fix HSMCI card-detect pin selection (2014-6-29).
- * net/: Still renaming, mostly uip_* to net_* (2014-6-29).
- * arch/arm/src/stm32/stm32_i2c.c and stm32_i2c_alt.c, and
- libc/time/lib_daysbeforemonth.c: Make variable definitions
- 'static const' when possible to save RAM usage. From Kosma
- Moczek (2014-6-30).
- * include/stdint.h: Correct naming of [U]INT_LEASTn_{MAX|MIN}
- and [U]INT_FASTn{MAX|MIN}. From Kosma Moczek (2014-6-30).
- * drivers/mtd/mtd-config: Extend erase block size to 18-bits in
- order (decrease block size to 14-bits) to handle parts with large
- erase blocks. From Kosma Moczek (2014-6-30).
- * drivers/analog/adc.c: Remove empty ADC write method. From Kosma
- Moczek (2014-6-30).
- * arch/arm/src/stm32/stm32_serial.c: Unconfigure GPIO pins when
- closing a serial port to prevent back effects from back-powering on
- the TX pin. From Kosma Moczek (2014-6-30)
- * arch/arm/src/stm32/Kconfig: Move temperature ranges from chip
- selection configuration prompts. Reorder MCUs in choice menu;
- remove duplicates. Add support for the STM32F103RC and RD. From
- Kosma Moczek (2014-6-30)
- * configs/sam4s-xplained-pro: Correct description of LEDs and
- usage. From Kosma Moczek (2014-6-30)
- * include/unistd.h: Some POSIX_* and _POSIX_* macros are defined
- without value, whereas (as far as I can tell) the newer versions
- of the standard require them to have the value corresponding to
- the standard version implemented, like 200809L. Are the any plans
- to clean this up? For now I've put together a quick patch that
- defines those macros to 1, consistent with the rest of unistd.h.
- From Kosma Moczek (2014-6-30)
- * arch/arm/src/sama5/sam_memories.c: Fix some logic in conversion
- of physical and virtual DRAM addresses when running out of DRAM. This
- is an important bug fix for the SAMA5D3 and 4 when running out of
- DRAM (2014-6-30).
- * arch/arm/src/sama5/sam_pio.c: Another *critical* SAMA5D3 and 4 bug
- fix: PIO clocking must be enabled for all input pins or else the
- value that is read never changes. (2014-6-30).
- * net/: Many more functions renamed to follow new modularization of
- the networking code. This is part of an ongoing repartitioning
- effort and there is still more to be done. There will be no additional
- notations in this ChangeLog until the renaming is complete (2014-6-30).
- * arch/arm/src/sam34/sam_emac.c, sama5/sam_emaca.c, sam_emacb.c, and
- sam_gmac.c: Fix cloned error: Wrong bits being cleared before ORing
- in new bits (2014-7-1).
- * drivers/syslog/ramlog.c: syslog_putc needs to set the errno and
- return EOF on a failure (2014-7-1).
- * SAM3/4 and SAMA5 Ethernet: Fix an error in the function that
- determines the number of free TX descriptors. This is an important
- bugfix on busy networks (2014-7-2).
- * SAM4 AES driver. Contributed by Max Neklyudov (2014-7-3).
- * crypto/ and include/crypto: Beginnings of a crypto/ subsystem from
- Max Neklyudov (2014-7-3).
- * arch/arm/src/stm32 and fs/procfs: Add a procfs entry to show the
- state of the CCM heap usage. From Pelle Winderstam (2013-7-3).
- * SAMA5 OHCI: Fix an error in a DEBUGASSERT statement. Caused assertion
- to fire inappropriately when a low- or full-speed device was removed
- and CONFIG_DEBUG=y (2013-7-3).
- * SmartFS. Fix for a bug that would show up if CONFIG_MTD_BYTE_WRITE
- was not selected and the SMART sector size was larger than the mt
- device's block size (like it would be if using SMARTFS on larger
- flash devices). From Ken Pettit (2014-7-3).
- * tools/mkdeps.c: NAME_MAX not available on SunOS; use FILENAME_MAX
- or MAXNAMELEN. Noted by Douglas Beattie (2014-7-4).
- * drivers/mtd/smart.c: Increase some variables from uint16_t to uint32_t
- to handle larger device sizes. From Ken Pettit (2014-7-4).
- * SAMA5 OHCI: Pointers to allocated port values were not being nullified
- after being deallocated. This caused some assertions to fire when
- debug was enabled (2014-7-4).
- * include/nuttx/net/ip.h and ipopt.h: ip.h renamed ipopt.h. Moved
- parts of uip.h to net.h. Renamed the rest of uip.h to ip.h. Removed
- all includes of uip.h; added includes of ip.h wherever needed.
- Tried to fix problems of the now missing sneak inclusions because
- uip.h was removed. There are probably a few of these that were
- missed! (2014-7-4).
- * drivers/input/mxt.c/h and include/nuttx/input/mxt.h: Add very basic
- support for the Atmel maXTouch touchscreen controller (2014-7-5).
- * net/*/*.h: Start moving the private definitions from header files
- at include/nuttx/net to the corresponding header file under net/.
- So far pkt.h, upd.h, and igmp.h have been sanitized. Still a few
- to go (2014-7-5)
- * configs/sama5d4-ek/src/sam_maxtouch.c: Add board support for the
- maXTouch touchscreen controller (2014-7-5).
- * net/*/*.h: Finish moving the private definitions from header files
- at include/nuttx/net to the corresponding header file under net/.
- This additional header files have been sanitized: arp.h, icmp.h, tcp.h
- (2014-7-6)
- * net/: Add a few missing configuration options to the Kconfig files
- (2014-7-8).
- * net/iob/iob_trimhead_queue.c and socket/recvfrom.c: Important fix to
- the read-ahead buffer queue management: Consumed bytes were being
- trimmed from the head of the queue, but the queue head itself was
- not being updated. From Rony XLN (2014-7-7).
- * drivers/bch: Add configurable AES encryption support to block-to-
- character (BCH) driver. This allows any block device to be accessed
- as an encrypted character device. From Max Nekludov (2014-7-7).
- * SAM3/4: Fix compile of sam_aes.c if CONFIG_CRYPTO_AES is defined.
- From Max Nekludov (2014-7-7)
- * SAMA5D3/4 I2C: Test for read or write operation was reversed. How
- could this have worked before? (2014-7-7).
- * SAMA5D3/4 PIO Interrupts: Correct a typo in
- arch/arm/src/sama5/sam_pio.h that could disable PIO interrupt support
- if only PIOE interrupts were enabled (2014-7-7).
- * SAMA5D4 PIO Interrupts: Macro SAM_PION_VBASE is not defined for the
- SAMA5D4 and must be replaced with a table lookup (2014-7-7).
- * configs/sam*: Fix some cloned errors in SAM GPIO interrupt setup
- (1014-7-7).
- * arch/arm/src/sama5/Kconfig and sam_allocateheap.c: Add a
- configuration option to reserve DRAM for a framebuffer when executing
- out of DRAM. This optional was available before when executing out of
- NOR, but needs to work a little differently in this case (2014-7-7).
- * arch/arm/src/sama5/sam_lcd.c and chip/sam_lcdc.h: Adapt the SAMA5D3
- LCDC driver to work with the SAMA5D4 which has no hardware cursor
- (2014-7-8).
- * configs/sama5d4-ek: Add options to support an LCD (2014-7-7).
- * arch/arm/src/sama5/sam_twi.c: Now support the up_i2creset() method
- (2014-7-9)
- * drivers/input/mxt.c: Use i2c_reset() if it thinks that the bus
- might by hung (2014-7-9).
- * arch/arm/src/sama5/sam_pio.c/.h: Add a new interface
- sam_pio_forceclk() that can be used to force PIO clocking on. I am
- afraid I was too conservative with PIO clocking in the initial design;
- this is the price (2014-7-9).
- * arch/arm/src/sama5/sam_twi.c: Use sam_pio_forceclk() so that we can
- read the current state of an open-drain output in the TWI reset logic
- (2014-7-9).
- * arch/arm/src/sama5/sam_pio.c/.h: Fix a typo in Schmitt trigger
- configuration; Configure pin as a a vanilla input first so that final
- pin configuration is more read-able (i.e., easier to debug)
- (2014-7-9).
- * drivers/input/mxt: The maXTouch driver works! (2014-7-10).
- * configs/sama5d4-ek: The TM7000 LCD works! (2014-7-10).
- * configs/sama5d4-ek/NxWM: Add an NxWM configuration (2014-7-10).
- * drivers/mtc_rwbuffer.c (and others): Add an MTD layer that will add
- read-ahead or write buffering to any MTD driver (incomplete) (2014-7-11).
- * arch/arm/src/lpc17xx/lpc17_ethernet.c: Comment out an assertion that
- is reported to fire inappropriately. From Max (2014-7-11).
- * drivers/mtd (mostly): Addition rwbuffer interfaces should not be
- enabled unless they are needed; if rwbuffer support is enabled, it
- should not be unconditionally enabled in SMART and FTL (2014-7-11).
- * libnx/nxglib/nxglib_colorcmp.c and include/nuttx/nx/nxglib.h: New
- utility to compare two colors (2014-7-11).
- * graphics/Kconfig and nxbe/nxbe_configure.c: The initial background
- color is now configurable (2014-7-11).
- * graphics/nxmu/nxmu_server.c and nxsu/nx_setbgcolor.c: Don't change
- the background if the color did not really change (2014-7-11).
- * arch/arm/src/sama5/sam_ldc.c and sama5d4-ek/include/board.h: Back
- out the delay kludge. The actual fix to the LDC instability was to
- drive the LCD at 2xMCK instead of 1xMCK (2013-7-12).
- * drivers/input/mxt.c: Fix an error in the state machine (2014-7-12).
- * drivers/input/mxt.c: Add thresholding so that "move" reports are not
- generated unless there is a significant change in the reported
- position (2014-7-12).
- * SAMA5D4-EK MXT: The maXTouch should be able to handler an I2C
- frequency of 400KHz. Valid interrupts should occur only on the
- falling edge of the ~CHG signal (2014-7-12).
- * SAMA5D3x-EK: Use larger icons in NxWM configuration instead of
- scaling (2014-7-14).
- * Graphics: Rename CONFIG_NX_MOUSE to CONFIG_NX_INPUT, then add
- CONFIG_NX_XYINPUT_MOUSE and CONFIG_XYINPUT_TOUCHSCREEN (2014-7-16).
- * drivers/input/mxt.c: Fix error in threshoold test... backward
- logic (2014-7-16).
- * graphics/nxconsole/nxcon_scroll.c: Fix scrolling in the NxConsole
- for the case of the framebuffer device. In this case, the logic
- for clearing the vacated region at the bottom was missing so garbage
- up from the last, uncleared line (2014-7-17).
- * drivers/audio/wm8904.c/.h and include/nuttx/audio.wm8904.h: Framework
- for a WM8904 audio driver. The initial driver check-in is simply Ken
- Pettit's VS1053 driver forced to compile with only WM8904 definitions
- (2014-7-18).
- * configs/sama5d4-ek/src/sam_wm8904.c: Add logic to configure and
- initialize the WM8904 audio CODEC (2014-7-17).
- * arch/arm/src/sama5/sam_sckc.c/.h and chip/sam_sckc.h: Add SAMA5
- slow clock support.
- * arch/arm/src/sama5/sam_pck.c and .h: Add support to use the slow
- clock as the PCK clock source (2014-7-19).
- * drivers/audio/wm8904.c/: The WM8904 audio driver is mostly code
- complete and ready to begin initial testing (2014-7-19).
- * arch/arm/src/sama5/sam_pio.c: Logic for Schmitt trigger selection
- backward (2014-7-20).
- * drivers/net/slip.c: Fix an error in SLIP escaping. From Max
- Neklyudov (2014-7-22).
- * drivers/input/Kconfg: Add missing configuration option to select the
- MAX11802 touchscreen controller. From Petteri Aimonen (2014-7-22).
- * arm/src/stm32/chip/stm32_dac.h: Fix typos, from Peterri Aimonen
- (2014-7-22).
- * arch/arm/src/stm32/stm32_otgfsdev.c: STM32 OTGFS device: Various
- changes to try to reduce that amount of time in interrupts handles and
- with interrupts disbled. Needs verification on other platforms. From
- Petteri Aimonen (2014-7-22).
- * arch/arm/src/sama5/sam_pck.c: Fix a recently introduced typo that was
- being masked by some bad conditional compilation (2015=4-7-22).
- * drivers/audio/wm8904.c and include/nuttx/audio/wm8904.h: Remove WM8904
- driver unused parameters, clean-up comments, remove some kruft in
- capability reporting (2014-7-22).
- * audio/Makefile and pcm_decode.c, include/nuttx/audio/pcm_decode.c,
- configs/sama5d4-ek/src/sam_wm8904.c and others: Add new framework for
- the PCM decoder. It is now a 'front end' for lower-level drivers like
- the WM8904 that performs the PCM decoding from end (2014-7-22).
- * audio/pcm_decode.c, configs/sama5d4-ek/src/sam_wm8904.c,
- drivers/audio/wm8904.c, and include/nuttx/audio/pcm.h: Rename
- pcm_decode.h to pcm.h since it will hold more than just decoding
- definitions. Fix some porting errors like idbg should auddbg, etc.
- Add wav file header and a few low-level wav utilities (2014-7-22).
- * audio/pcm_decode.c and include/nuttx/audio/pcm.h: Flesh out a few
- more PCM methods, still incomplete. Re-vision PCM structure
- definition (2014-7-22).
- * configs/sama*: Disable MMC/SD multiblock transfers in all SAMA5D3/4
- configurations. I suspect an issue but have not had time to run it
- down yet so the easiest thing is simply to disable the feature for
- now (2014-7-23).
- * drivers/audio/audio_null.c, include/nuttx/audio/audio_null.c, and
- configs/sama5d4-ek/src/sam_audio_null.c: Add a NULL audio device that
- can be used to simply unit-level testing of audio decoders (2014-7/23).
- * audio/pcm_decode.c, include/nuttx/audio/audio.h, and drivers/audio/audio_null.c
- and wm8904.c: Add ioctls so that PCM decoder can configure the driver
- bitrate, num channels, and sample width (2014-7-23).
- * drivers/audio/Kconfig: Fix a typo in the audio Kconfig file,
- UDIO->AUDIO (2014-7-23).
- * configs/sama5d4-ek/nxwm/defconfig: The NxPlayer and audio system are
- now enabled in the default configuration (although they have not yet
- been fully integrated into the NxWM media player) (2014-7-23).
- * configs/sama5d4-ek/nsh/defconfig: Enable the command line media player
- in the NSH configuration as well (still does not work, however)
- (2014-7-23).
- * audio/Kconfig, audio.c, and include/nuttx/audio/audio.h: Add hooks for
- fast-forward and rewind needed by CMediaPlayer; add hooks for
- equalizer settings needed by the WM8904 (2014-7-24).
- * drivers/audio/audio_null.c and wm8904.c: Fix some compile errors when
- audio DEBUG is enabled (2014-7-24).
- * SAMA5D4-EK NxWM: Configuration refreshed (2014-7-24).
- * arch/arm/src/armv7-m/up_initialstate.c: Correct the initial value of
- the BASEPRI register. This was apparently never being initialized!
- From Max (2014-7-24).
- * configs/mbed/src/up_adc.c, up_dac.c, and up_pwm.c and include/board.h:
- Port ADC, DAC, and PWM logic from the configs/zkit-arm-1769. From Max
- (2014-7-24).
- * arch/arm/src/lpc17xx/lpc176x_rtc.c: Eliminate warnings. From Max
- (2014-7-24).
- * arch/arm/src/lpc17xx/lpc17_pwm.c, lpc17_timer.c, lpc17_dac.c: Mostly
- cosmetic updates from Max (2014-7-24).
- * arch/arm/src/lpc17xx/lpc17_adc.c and Kconfig : Added burstmode ADC
- conversion mode, with CONFIG_ADC_BURSTMODE option in Kconfig. From
- Max (2014-7-24).
- * arch/arm/src/lpc17xx/lpc17_ethernet.c: Added option to use the kernel
- worker thread to do most of the workload with CONFIG_NET_WORKER_THREAD
- option in Kconfig. Eliminated a problem with PHY DP83848C : it doesn't
- need a specific initialization on mbed. Critical bugfix: From time to
- time (after some hours) the Ethernet receiver would lose one receive
- interrupt and the IP stack never recover because there is no receive
- watchdog as the transmit watchdog. From Max (2013-7-24).
- * audio/pcm_decode.c: Add missing audio callback forwarding logic
- (2014-7-25).
- * arch/arm/armv7-a/l2cc_pl310.h: Move arch/arm/sama5/chip/sam_l2cc.h to
- arch/arm/armv7-a/l2cc_pl310.h. Adjust the two corresponding Kconfig
- files as well (2014-7-25).
- * arch/arm/src/armv7-a/arm_l2cc_pl310.c, l2cc.h, l2cc_pl310.h, Kconfig:
- Add initial support for the ARM L2CC-PL310 L2 cache (2014-7-26).
- * arch/arm/src/armv7-a/cp15_cacheops.h: Rename ARMv7-A cache.h to
- cp15_cache.h. Things will be broken on this commit until I get the
- new cache.h in place (2014-7-26).
- * arch/arm/src/armv7-a/cache.h: New cache.h file. Renames all functions
- like cp15_XYZ_cache() to arch_XYZ_cache() and adds L2 cache support if
- L2 cache is enabled (2014-7-26).
- * arch/arm/src/sama5/*.c (many files): Change naming from cp_XYZ_cache()
- to arch_XYP_cache() so that all cache operations will pick up L2
- support if it is enabled (2014-7-26).
- * arch/arm/src/sama5/sam_boot.c: Enables cache early in boot-up sequence
- (2014-7-26).
- * arch/arm/src/armv7-a/arm_l2cc_pl310.c and l2cc.h: Minor bugfixes/
- improvements (2014-7-26)
- * arch/arm/src/armv7-a/Kconfig: L2 Cache currently depends on
- EXPERIMENTAL because it does not yet work properly (2014-7-26).
- * include/nuttx/audio/audio.h: Move sub-sampling rate definitions from
- nxplayer.h to audio.h (2014-7-17).
- * audio/pcm_decode.c: PCM: First cut at fast forward by sub-sampling.
- This design is overkill: It manages too many audio buffers. I think
- that a cleaner design could do all sub-sampling in place without
- managing additional audio buffers (2014-7-27).
- * drivers/audio/audio_null.c: Was not returning buffers to the upper
- level (2014-7-27)
- * include/nuttx/audio/audio.h and audio/pcm_decode.c: Misc bugfixes
- while integrating fast forward by sub-sampling (2014-7-27).
- * audio/pcm_decode.c: Back out a change; the fix really belongs in
- NxPlayer. (2014-7-27).
- * arch/arm/src/lpc17xx/lpc17_adc.c and arch/arm/src/lpc17xx/lpc17_ethernet.c:
- ADC updates from Max. Also fixes some syntax errors that I introduced in
- the last commit (2014-7-28).
- * audio/pcm_decode.c: Fix a logic error in a DEBUG assertion (2014-7-28).
- * configs/sama5d4-ek/src/sam_pmic.c, dram_main.c, sama5d4-ek.h, Makefile.
- Add logic to disable the faulty PMIC. This must be done with JP23 open.
- It is performed only from the DRAMBOOT loader (2014-7-28).
- * drivers/audio/wm8904.c: Fix some compile problems with the WM8904 driver
- due to recent audio subsystem changes (2014-7-28).
- * arch/arm/src/sama5/sam_timerisr.c and configs/sama5d3*/include/board*.h:
- Correct system timer frequency. Input clock is MCK/2, not MCK
- (2014-7-29).
- * fs/fs_automount.c and include/nuttx/fs/automount.h (plus hooks in other
- files): Add support for an auto-mounter that will automatically mount
- and unmount a file system a media is inserted and removed (2014-7-29 .
- * configs/sama5d4-ek/src/sam_automount.c: Add automounter support for
- HSMCI0 and HSMCI1 (2014-7-29).
- * configs/sama5d4-ek/Kconfig and src/sam_hsmci.c: Minor warning/latent
- bug clean-up of auto-mounter logic (2014-7-29).
- * configs/sama5d4-ek/README.txt anand src/sam_nsh.c, fs/fs_automount.c,
- and include/nuttx/fs/automount.h: Cosmetic updates to comments and
- README files and some naming (2014-7-29).
- * configs/sama5d4-ek/nsh/defconfig and nxwm/defconfig: The SAMA5D4-EK
- NSH and NxWM configurations now have the auto-mounter configured to
- automatically mount the FAT file system on HSMCI0 at /mnt/sdcard
- (2014-7-29).
- * arch/arm/src/sama5/sam_hsmci.c: Add method to do RX transfer without
- DMA. The 8-byte SCR transfer was failing silently with the DMA
- transfer, leaving the SD card in single bit mode (2014-7-29).
- * arch/arm/src/sama5/sam_hsmci.c: Fix a problem on card insertion/removal
- callback handling. Interrupts were being disable so that the callbacks
- occurred with interrupts disabled. This resulted in loss of some
- interrupts and some not-so-good behaviors. The solution is to perform
- all callbacks on the work thread unconditionally (2014-7-30).
- * nuttx/fs/fs_automount.c: Auto-mounter: Fix state setting. Not
- harmful other than it can cause a debug assertion to fire if you
- manually unmount the media before removing it which is, of course,
- what you are supposed to do (2014-7-30).
- * arch/arm/src/sama5/sam_hsmci.c and README files: Re-enable TX DMA and
- verify that DMA writes to the SD card are functional. They are so now
- TX DMA is re-enabled in the driver. This might affect the SAMA5D3
- platforms where the TX DMA problem was found. The SAMA4D3 and 4 use
- the same HSMCI driver. Much has change since then and it is not
- surprising that DMA is now functional. However, the has not be re-
- verified on the SAMA5D3 which has a different DMA controller
- (2014-7-30).
- * arch/arm/src/sama5/sam_dmac.c, sam_pio.c, and sam_pioirq.c: Changes
- needed for a clean SAMA5D3 build after all of the recent SAMA5D4
- changes (2014-7-31).
- * configs/sama5d3x-ek/nsh/defconfig: Refresh configuration (2014-7-31).
- * configs/sama5d3x-ek/Kconfig, README.txt, src/sam_wm8904.c, Makefile,
- sam_nsh.c, and sama5d3x-ek.h: Add support for the WM8904 audio CODEC
- (2014-7-31).
- * configs/sama5d3x-ek/nxplayer: Add a configuration to support the
- command line NxPlayer (2014-7-31).
- * audio/audio.c: More debug output (2014-7-31).
- * configs/sama5d3x-ek/README.txt: REAME update (2014-7-31).
- * drivers/audio/wm8904.c: Was not saving I2S interface instance
- (2014-7-31).
- * sched/sem_wait.c: Use set_errno() and get_errno(). Direct access
- inside the OS may not be supported in the future (2014-7-31).
- * drivers/audio/audio_null.c, vs1053.c, wm8904.c, include/nuttx/audio/audio.h,
- libc/audio/lib_buffer.c: Change how the end of the audio stream is
- detected by the leaf audio component. This used to be done by looking
- for the first partial buffer. That does not work with the in-place
- sub-sampling performed by the PCM decoder: That always reduces the
- size of the buffer so that all buffers only partially filled by the
- time they get to the leaf. Now, a flag is set in the audio buffer
- flags set to indicate the final buffer in the stream (2014-7-31).
- * arch/arm/src/sama5/sam_ssc.c: Needs to account for data offset in
- audio buffer (2014-7-31).
- * drivers/audio/wm8904.c: Can't reset the WM8904 unless we also
- reinitialize all registers. Try to get a saner timeout based on
- sample rate, bits-per-sample, and buffer size (2014-7-31).
- * arch/arm/src/sama5/Kconfig and sam_ssc.c: SCC Frame Synch Delay and
- Start Delay are now configurable (2014-8-1).
- * drivers/audio/wm8904_debug.c: Add logic to dump WM8904 registers
- (2014-8-1).
- * drivers/audio/wm8904.c: Fix an error in write logic. I am not sure
- why this fixes the problem (2014-8-1).
- * include/nuttx/audio/wm8904.h (and implementers of the interface):
- the WM8904 driver needs to know the frequency of the MCLK in order
- to set up the FLL to generate the correct bitrate (2014-8-1).
- * WM8904: Add an option to control WM8904 register dumping (2014-8-2).
- * WM8904: Add logic to program the FLL to achieve the bitrate
- (2014-8-1).
- * arch/arm/src/sama5/sam_ssc.c: Verify that the requested bit width
- is supported. Correct some alignment tests that depend upon the data
- bit width (2014-8-2).
- * audio/pcm_decode.c: Correct the end of audio stream handling. It was
- not being detected before so that logic was not examining the WAV
- header in the first buffer of the next audio file (2014-8-2).
- * configs/sama5d3x-ek/nxplayer/defconfig: Update with last WM8904
- settings (2014-8-2).
- * drivers/audio/wm8904.c: Disable the FFL at the end of playing
- (2014-8-2).
- * include/nuttx/audio/wm8904.h: Fix wm8904_dump_registers macro:
- Wrong number of parameters (2014-8-2).
- * arch/arm/src/sama5/sam_pck.* and all SAMA5D board header files:
- Add Main clock as an option for the PCK clock source (2014-8-3).
- * configs/sama5d*-ek/Kconfig and src/sam_wm8904.c: Add option to
- use MAINCK as source fort he WM8904 MCLK (2015-8-3).
- * include/nuttx/audio/wm8904.h, configs/sama5d3x-ek/src/sam_wm8904.cm,
- and sama5d4-ek/src/sam_wm8904.c: WM8904 interface enable method now
- returns the previous interrupt state (2014-8-4).
- * configs/sama5d3x-ek/src/sama5d3x-ek.h and sama5d4-ek/src/sama5d4-ek.h:
- Correct the WM8904 interrupt configuration, active high level. Fix
- that and don't pull-up (2014-8-4).
- * configs/sama5d3x-ek/src/sam_wm8904.cm, and sama5d4-ek/src/sam_wm8904.c:
- Correct ordering of some WM8904initialization: Need to provide MCLK
- before initializing the WM8904, not after (2014-8-4).
- * drivers/audio/wm8904.c and .h: Correct calculation of bitrate (I am
- not sure why this is correct). LR clock divisor is now a constant 32-
- bits per frame. Conditioned out interrupt logic; it is not being used.
- Also added some FLL lock interrupt/poll logic (which was subsequently
- disabled) (2014-8-4).
- * SAMA5D3x-EK and SAMA4D4-EK: Add/update usage documents for media
- players (2014-8-4).
- * drivers/audio/wm8904.c and .h: Add reset logic to put the part back
- in its initial state after playing each WAV file. Base samples per
- second on frame length, not bits-per-sample. Use a different frame
- length for 8-bit and 16-bit data (2014-8-4).
- * arch/arm/src/sama5/sam_hsmci.c: TX DMA is again disabled for the
- SAMA5D3 family. Although it works with the SAMA5D4 (which has a
- different DMA subsystem), it does not work with the SAMA5D3 (2014-8-5,
- see also 2014-7-30).
- * audio/pcm_decode.c: Handle errors in the PCM WAV file in a way that
- the Nxplayer can recover gracefully: Send and Audio Complete message
- (2014-8-5).
- * arch/*/src/*/*_timerisr.c, up_initialize.c, and up_internal.h: Re-name
- up_timerinit() to up_timer_intialaize() for compatibility with new
- tickless OS interface name (2014-8-6).
- * arch/*/src/*/Make.def: Don't build existing timer initialization
- logic if CONFIG_SCHED_TICKLESS is defined (2014-8-6).
- * include/nuttx/arch.h: First cut at platform-specific interfaces
- needed to support tickless OS option (2014-8-6).
- * sched/Kconfig: Add a new option CONFIG_SCHED_TICKLESS to enable the
- tickless OS. This is a work in progress but should be relatively
- safe since the new features are only enabled by this option (Safer
- but not 100% safe since it does not protect from typos and other
- dumb errors) (2014-8-6).
- * arch/sim/src/Makefile, up_idle.c, up_internal.h, and up_tickless.c:
- Add support for a simulated interval timer support verification of
- the tickless OS (2014-8-6).
- * include/nuttx/arch.h: Added another tickless OS interface to get
- the timer remaining on the interval timer (2014-8-6).
- * include/nuttx/clock.h, sched/clock_initialize.c and clock_internal.h:
- If CONFIG_SCHED_TICKLESS is defined, then the global variable
- g_system_timer does not exist (2014-8-6).
- * sched/Makefile: Don't build in sched_processtimer.c if
- CONFIG_SCHED_TICKLESS is selected (2014-8-6).
- * sched/clock_gettime.c and clock_settime.c: Use the clock_systimer()
- macro, do access the g_system_timer() global directly (2014-8-6).
- * sched/clock_systimer.c: Uses interval timer interfaces to get the
- time if CONFIG_SCHED_TICKLESS is selected (2014-8-6).
- * sched/sched_timerexpiration.c, Makefile, os_internal.h,
- sched_addreadytorun.c, sched_processtimer.c, sched_unlock.c,
- wd_cancel.c, wd_internal.h, and wd_start.c: Implements the
- tickless OS (2014-8-7).
- * Many files: Remove CONFIG_DISABLE_CLOCK. Why? This option is not
- really very useful and was only selected in a few unusable, mostly
- unusable configurations anyway (m9s12/ostest, kl25z/minnsh,
- z180/ostest, 8051, sh1, z80, and z8). The only real loss is probably
- to the kl25z/minsh configuration . And with the addition of the
- tickless OS, I just wanted to make the pain go away (2014-8-7).
- * Many files: Change CONFIG_MSEC_PER_TICK to CONFIG_USEC_PER_TICK.
- This gives more options for system timers in general, but more
- importantly, let's us realize higher resolution for the case of
- CONFIG_SCHED_TICKLESS=y -- of course, at the risk of some new
- integer overflow problems 2014-8-7).
- * Many files: Change all time conversions. Yech. New timer units
- in microseconds breaks all existing logic that used milliseconds
- in the conversions. Something likely got broken doing this,
- probably because I confused a MSEC2TICK conversion with a TICK2MSEC
- conversion (2014-8-7).
- * arch/sim/src/up_tickless.c and sched/sched_timerexpiration.c: The
- tickless OS now appears fully functional and passes the OS test
- on the simulator with no errors (2014-8-7).
- * sched/mqueue: Move POSIX message queue files from sched/ to
- sched/mqueue (2014-8-8).
- * sched/signal: Move signal-related files from sched/ to sched/signal
- (2014-8-8).
- * sched/pthread: Move all pthread files from sched/ to sched/pthread
- (2014-8-8).
- * sched/semaphore: Move POSIX counting semaphore files from sched/ to
- sched/semaphore (2014-8-8).
- * sched/environ: Move environment files from sched/ to sched/environ
- (2014-8-8).
- * sched/group: Move group logic from sched/ to sched/group (2014-8-8).
- * sched/wdog: Move watchdog functions from sched/ to sched/wdog
- (2014-8-8).
- * sched/irq: Move interrupt dispatch logic from sched/ to sched/irq
- (2014-8-8).
- * sched/clock: Move clock functions from sched/ to sched/clock
- (2014-8-8).
- * sched/timer: Move POSIX timer files from sched/ to sched/timer
- (2014-8-8).
- * sched/paging: Move page fill sources from sched/ to sched/paging
- (2014-8-8).
- * sched/init: Move initialization functions from sched/ to sched/init
- (2014-8-8).
- * sched/errno: Move errno related files from sched/ to sched/errno
- (2014-8-8).
- * sched/task: Move task control files from sched/ to sched/task
- (2014-8-8).
- * sched/: Move a few files in sched/ that did not seem to have a home to
- sched/signal and sched/task (2014-8-8).
- * sched/sched: Move scheduler files from sched/ to sched/sched
- (2014-8-8).
- * (Many files): Replace os_internal.h with sched/sched.h in files that
- actually reference something in sched.h (2014-8-8).
- * sched/task/exit.c: Move sched/exit.c to sched/task/exit.c (2014-8-8).
- * (Many files): Remove os_internal.h it has been replace by several new
- header files under sched/. There have been some sneak inclusion paths
- via os_internal.h, so expect a few compilation errors for some
- architectures (2014-8-8).
- * Documentation/NuttxPortingGuide.html, arch/sim/src/up_tickless.c, and
- include/nuttx/arch.h: Fix errors in documentation and comments related
- to the Tickless OS. From Vijay Kumar (2014-9-9).
- * arch/arm/src/sama5/sam_tc.c and .h: Can now handle non-constant
- BOARD_MCK_FREQUENCY. Also now supports methods to attach user
- interrupt handlers (2014-8-9).
- * drivers/audio/audio_null.c: Fix an error in a variable name
- (2014-8-9).
- * arch/arm/src/sama5/sam_oneshot.c, .h, Kconfig, Make.defs, sam_tc.c,
- .h, and sam_adc.c: Add support for a one-shot timer wrapper around
- the low-level timer/counter logic. This also involved several changes
- that rippled into the ADC driver (untested) (2014-8-9).
- * arch/arm/src/sama5/sam_freerun.c, .h, Kconfig, and Make.defs: Add
- support for a free-running timer wrapper around the low-level
- timer/counter logic (2014-8-9).
- * arch/arm/Kconfig, src/sama5/sam_tickless.c, Kconfig, Make.defs: Use
- the one-shot and free-running timers to implement tickless OS support
- for SAMA5 (2014-8-9).
- * arch/arm/src/sama5/sam_oneshot.c and sam_tc.c: Fix several bugs in
- timer/counter interrupt logic and one-shot timer logic. Comments and
- debug output updated in additional files (2014-8-10).
- * sched/wdog/wd_start.c: Correct a bug in Tickless OS support: logic to
- detect changes in head of timer list was wrong (2014-5-10).
- * sched/sched/sched_timerexperation.c, sched.h, and wdog/wd_start.c: In
- tickless mode, need to stop the interval timer before inserted a new
- delay into the timer list. Otherwise, the time is incorrect on the
- first entry of the list (2014-8-11).
- * arch/arm/src/sama5/sam_freerun.c and sam_oneshot.c: Correct bad time
- conversion, 1000000 not 1000 to convert seconds to microseconds
- (2014-8-11).
- * sched/sched/sched_timerexpiration.c: Fix inaccurate time conversion.
- Remove MSEC_PER_TICK from calculation and convert uint32_t to uin64_t
- (2014-8-11).
- * libc/time/lib_localtime.c, private.h, tzfile.h and several header and
- make-related files: Adds support for localtime. From Max Neklyudov
- (2014-8-12)
- 7.5 2014-09-28 Gregory Nutt <gnutt@nuttx.org>
- * clock/clock_systimespec.c and sched/clock/clock_gettime.c: When
- reading the system timer, don't read a struct timespec, convert it
- to a fake tick count, then back to a timespec (2014-8-15).
- * sched/clock/Make.defs, clock_gettime.c, clock_settime.c, include/time.h,
- nuttx/clock.h, configs/vsn/src/sif.c: Remove CLOCK_ACTIVETIME. It is non-
- standard, unused, and gets in the way of maintaining clocks (2014-8-15).
- * libc/time/lib_localtime.c: Modified to that the coding style is much
- closer to NuttX coding style. The local header files private.h and
- tzfile.h were removed and incorporated into lib_localtime.c. All
- conditional compilation within lib_localtime.c that unconditionally
- evaluated to FALSE was removed (2014-8-15).
- * drivers/net/Kconfig and include/nuttx/arch.h: Standardize a PHY
- interrupt attachment interface (2014-8-16).
- * configs/Kconfig, sama5d3-xplained, sama5d3x-ek, and sama5d4-ek:
- Convert existing board specific PHY interrupt interfaces to use newly
- defined standard interface (2014-8-16).
- * include/net/slip.h: Move SLIP prototypes from net.h to slip.h
- (2014-8-16).
- * include/net/net.h and net/: Fix some missing function headers
- (2014-8-16).
- * drivers/net/phy_notify.c, include/nuttxarch.h, net/phy.h, and
- ioctl.h: Add support for an ioctl that can be used to notify an
- application when there is a change in the network status signalled
- by a PHY interrupt (2014-8-16).
- * drivers/net/phy_notify.c, include/net/if.h, ioctl.h, netdev.h, phy.h,
- and net/netdev/netdev_ioctl.c: Finishes the ioctl definition to
- subscribe to PHY events. Revamp network ioctl signature to support
- arguments other than struct mii_ioctl_data (2014-8-16).
- * arch/arm/src/stm32/stm32_eth.c: Modified to support the change to the
- network ioctl signature changes. Also add support for new ioctl to
- setup PHY event notifications (2014-8-16).
- * arch/arm/src/sama5/sam_emaca.c, sam_emacb.c, and sam_gmac.c: Implement
- all network ioctls, including the new ioctl to setup PHY event
- notifications (2014-8-16).
- * include/net/if.h: Add some helper macros to make the code that uses
- the ioctls a little more compact (2014-8-17).
- * libc/stdio/lib_sscanf.c: NuttX libc tried to guess how many characters
- to parse, extracted them into a buffer, then ran strtol() on that
- buffer. That guess is often wrong. A better approach would be to
- call strtol() directly on the input data, using the endptr return
- value to determine how many characters to skip after parsing. From
- Kosma Moczek (2014-8-18).
- * net/arp/arp_dump.c: Add missing configuration option to select
- dumping of ARP packet headers. Move ARP dumping logic from
- arp_inout.c to its own file (2014-8-18).
- * net/arp/arp_out.c: Move arp_out() from arp_inout.c to its own file
- (2014-8-18).
- * net/arp/arp_arpin.c: Move arp_arpin() from arp_inout.c to its own file
- (2014-8-18).
- * net/arp/arp_ipin.c: Rename arp_inout.c to arpipin.c because that is
- all that is left in the file (2014-8-18).
- * net/arp/arp_format.c: Move the logic that formats an ARP packet into a
- separate file where it can be re-used. (2014-8-18).
- * net/arp/arp_out.c and net/pkt/pkt_send.c: Change how the IFF_NOARP
- flag is handled. This should be set only when data is moved into the
- buffer and cleared after tested by the ARP logic. Setting it globally
- can cause packets to be sent with no valid MAC addresses (2014-8-18).
- * net/arp/arp_send.c: Partial implementation of logic to send ARP
- requests to assure that an IP address mapping is present in the ARP
- table (2014-8-18).
- * net/arp/arp_poll.c: Finished the implementation of logic to send ARP
- requests. Complete, fully hooked into the networking logic, and ready
- for test (but still untested) (2014-8-18).
- * net/icmp/icmp_ping.c, net/socket/net_sendfile.c, sendto.c,
- net/tcp/tcp_send_buffered.c, and tcp_send_unbuffered.c: If
- CONFIG_NET_ARP_SEND is enabled, then all ICMP, TCP, and UDP send
- operations will call arp_send() before attempting the real send
- operation. arp_send() will check if the IP address mapping is in
- the ARP table and, if not send ARP requests periodically until it is.
- This eliminates losing the first outgoing message because there is not
- mapping in the ARP table (2014-8-18).
- * net/arp/arp_notify.c, arp_send.c, arp_arpin.c, and arp.h: Add
- signalling logic so that we do not have to wait so long with the
- network responses to ARP requests quickly (2014-8-19).
- * include/nuttx/lcd/ili9341.h: Add a register definition header file
- for the ILI9341 LCD (2014-8-19).
- * net/arp/Kconfig: ARP request logic is no longer EXPERIMENTAL
- (2014-8-20).
- * net/arp/arp_send.c: ARP request logic needs to do the right thing if
- (1) the address is a broadcast or multicast address, and (2) if the
- IP address lies outside of the network. Problem noted by Manuel Stuehn
- (2014-8-20).
- * configs/sam4e-ek/src/Kconfig and src/sam_ili9341.c: Add ILI9341-based
- LCD driver. Fully functional (2014-8-20).
- * configs/sam4e-ek/nxwm: Add an NxWM configuration for the SAM4E-EK
- (2014-8-21).
- * configs/viewtool-stm32f107: Refresh some configurations (2014-8-20).
- * nuttx/sched/wdog: If we run out of pre-allocated watchdog times, the
- logic will allocate additional timers from the heap. A reserve of
- pre-allocated watchdog timers is maintained so that there will always
- be timers available for interrupt handlers (2014-8-21).
- * include/nuttx/wdog.h (and many affected files): wdog.h does not
- contain any application interface, only internal OS interface.
- Further, it is non-standard. Move wdog.h from include/ to
- include/nuttx (2014-8-21).
- * Documentation/NuttxPortingGuide.h: For the same reason as above, move
- the description of the watchdog timer interfaces from the Users Guide
- to the Porting Guide (2014-8-21).
- * arch/arm/src/stm32/stm32_uart.h: STM32 F401: Correct support for
- USART6 on this chip. From Freddie Chopin (2014-8-22).
- * nuttx/sched/wdog and include/nuttx/wdog.h: Add support for statically
- allocated watchdog timer (also eliminate some unconventional typing)
- (2014-8-22).
- * configs/p112/ostest and tools/mkdeps.c: Changes to try to get P112 to
- compile with latest SDCC (it still does not) (2014-8-22).
- * sched/group/group_leave.c: Need to release the address environment when
- the task group is released (2014-8-22).
- * mm/mm_granreserve.c and and mm_granmark.c: gran_reserve(): Add a
- new function to reserve unallocatable regions in the granule heap
- (2014-8-23).
- * include/nuttx/pgalloc.h and mm/mm_pgalloc.c: Add a simple page
- allocator based on the existing NuttX granule allocator. I am not
- certain if the granule allocator is sufficiently deterministic for
- long range use, but it gets get a page allocator in place for testing
- very quickly (2014-8-23).
- * ARMv7-A: Add skeleton implementation and build support for process
- address environments (2014-8-23).
- * Many files: Change CONFIG_ADDRENV to CONFIG_ARCH_ADDRENV; change how
- it is selected -- the architecture must first declare support
- (2014-8-24).
- * include/nuttx/addrenv.h, arch/arm/include/arch.h, armv7-a/irq.h, and
- other files: Add addrenv.h; First cut at Cortex-A address environment
- structures; Add configuration options to setup address environment
- (2014-8-24).
- * addrenv interface changes: up_addrenv_create() may need to create
- .text and .bss/.data separately because of differing access privileges
- (read/execute vs read/write). And, as a consequence, up_addrenv_vaddr()
- needs to be split into up_addrenv_vtext() and up_addrenv_vdata().
- Affects several files (2014-8-24).
- * arch/arm/src/armv7-a/arch_coherent_cache.c: New file. These cache
- operations are called from the ELF loader in order to flush D-cache
- and invalidate I-cache after an ELF module has been loaded into memory.
- With this change, ELF modules work correctly on the SAMA5/Cortex-A
- platform (2014-8-24).
- * configs/sim: Add build support for ELF modules. Useless at the moment
- because there is no x86 relocation logic support (2014-8-25).
- * configs/sim: Update some sim/ defconfig files. This now automatically
- switches them to x86_64 builds (2014-8-25).
- * arch/arm/include/arch.h, armv7-a/irq.h, src/armv7-a/arm_addrenv.c,
- armv7-a/arm_mmu.c/.h, sama5/Kconfig, Make.defs, sam_pgalloc.c,
- include/nuttx/addrenv.h, arch.h, pgalloc.h, mm/Kconfig, mm_pgalloc.c,
- sched/init/os_start.c: Cortex-A/SAMA5 address environment support is
- code complete (untested) (2014-8-25).
- * arch/arm/include/tiva and src/tive: Add support for the TI CC3200.
- From Jim Ewing (2014-8-26).
- * configs/cc3200-launchpad: Add support for the TI CC3200 Launchpad.
- From Jim Ewing (2014-8-26).
- * arch/*/*_blocktask.c, arch/*/*_unblocktask.c, and arch/*/*_exit.c:
- Add address environment support to all implementation of up_block_task(),
- up_unblock_task(), and _exit() (2014-8-31).
- * arch/arm/src/stm32/stm32_flash.c and chip/stm32_flash.h,
- include/nuttx/progmem.h, and configs/vsn/src/sif.c: STM32 FLASH fixes:
- use size_t instead of uint16_t, make interface more generic. From
- Freddie Chopin (2014-8-28).
- * Kconfig, Makefile.unix, Makefile.win, syscall/Kconfig,
- arch/arm/src/armv6-m/svcall.h, up_svcall.c, armv7-m/svcall.h, and
- up_svcall.c: The system call library can now be built with
- CONFIG_NUTTX_KERNEL. New selection: CONFIG_LIB_SYSCALL (2014-8-28).
- * arch/arm/src/armv7-a/syscall.h: "Add an ARMv7-A system call definition
- header file (2014-8-28).
- * arch/arm/include/armv7-a/irq.h, arm_syscall.c, syscall/Kconfig,
- syscall_funclookup.c, syscall_nparms.c, and syscall_stublookup.c:
- ARMv7-A: Add SYSCALL handling logic (2014-8-28).
- * nuttx/fs/, drivers/, and sched/: Remove explicit references to errno.
- That is a problem from within the kernel for certain configurations
- (there are still more references to be fixed) (2014-8-28).
- * sched/clock/clock.h: In some configurations, g_system_tmer must be
- extern'ed as a private variable in the OS (2014-8-28).
- * include/errno.h and nuttx/clock.h: errno and g_system_timer must be
- handled in a special way if there are external modules (2014-8-28).
- * include/sys/syscall.h: System definitions should depend on
- CONFIG_LIB_SYSCALL not CONFIG_NUTTX_KERNEL (2014-8-28).
- * arch/arm/src/armv7-a: Rename syscall.h to svcall.h to work around
- some include path name collisions; fix some compilation errors in
- SYSCALL logic when debug is enabled (2014-8-29).
- * arch/arm/include/arm/syscall.h and armv7-a/syscall.h: Fix ARM7/9
- and Cortex-A SYSCALLs: For threads in SVC mode, the SVC instructions
- clobbers R14. This must be taken account in the inline assembly
- (2014-8029).
- * arch/arm/src/armv7-a/arm_syscall.c: Fix hard coded values in
- dispatch_syscall() inline assembly. Back out/correct part of last
- change; that was going the wrong direction. With this change, the
- apps/examples/elf test works with address environments and call
- gates! (2014-8029).
- * Many, many files: Renamed CONFIG_NUTTX_KERNEL to CONFIG_BUILD_PROTECTED.
- Added configuration CONFIG_BUILD_KERNEL that will be used to generate
- a kernel (only) with full process support and will execute programs
- only from a file system. This new configuration is defined but only
- partially integrated (2014-8-29).
- * tools/refresh.sh: Add a tool to make refreshing configurations easier
- when you want to do a lot of them (2014-8-29).
- * tools/mksyscall.c: Build syscalls that do not need header files (there
- are none, however) (2014-8-30).
- * include/nuttx/errno.h syscall/syscall.csv and syscall_funclookup.c:
- Yet more issues with errno access via syscalls fixed (2014-8-30).
- * Makefile.unix, Makefile.win, Directories.mk, FlatLibs.mk, ProtectedLibs.mk,
- and KernelLibs.mk: Separate the common directory selection logic
- into Directories.mk; add support for kernel build. Move library
- selection logic in common *.mk files, one each for flat-, protected-,
- and kernel- mode builds (2014-8-30).
- * include/nuttx/syscall.h syscall/syscall.csv: clock_systimer needs the
- same fix as for get/set_errno when used with system calls (2014-8-30).
- * sched/Kconfig sched/init/os_bringup.c tools/cfgdefine.c: Add
- configuration options to start the system from a program on a file
- system (2014-8-30).
- * mm/ and include/nuttx/mm.h: Remove CONFIG_MM_MULTIHEAP. Non-multiheap
- operation is no longer supported (2014-8-31).
- * configs/sama5d4-ek/kernel: Add a configuration for testing the
- kernel build configuration (still a work in progress) (2014-8-31).
- * include/nuttx/arch.h, kmalloc.h, mm.h, sched/init/os_start.c,
- sched/sched_free.c, and arch/arm/src/sama5/sam_allocateheap.c: Clean
- up some kernel build heap allocation issues. The Cortex-A kernel
- build now compiles without errors (but cannot link until brk() and
- sbrk() are implemented) (2014-8-31).
- * mm/*mm_brkaddr.c, *mm_extend.c, Makefile, and include/nuttx/mm.h: Add
- low-level memory management hooks that will be needed to support brk()
- and sbrk() (2014-8-31).
- * Rename krealloc() to kmm_realloc() and kmemalign to kmm_memalign() for
- consistency with the rest of the naming (2014-8-31).
- * Rename kurealloc() to kumm_realloc(), kumemalign to kumm_memalign(),
- and kufree to kumm_free for consistency with the rest of the naming
- (2014-8-31).
- * Rename kumalloc() to kumm_malloc() and kuzalloc to kumm_zalloc() for
- consistency with the rest of the naming (2014-8-31).
- * Rename kmalloc() to kmm_malloc(), kzalloc() to kmm_zalloc(), and
- kfree() to kmm_free() and kuzalloc to kumm_zalloc() for consistency
- with the rest of the naming (2014-8-31).
- * mm/mm_sbrk.c, kmm_sbrk.c, umm_sbrk.c, and include/unistd.h: Initial
- implementation of sbrk() (2014-9-1).
- * arch/arm/src/armv7-a/arm_pgalloc.c, mm/umm_malloc.c, and mm_zalloc.c:
- Completes the implementation of sbrk() (untested) (2014-9-1).
- * configs/cc3200-launchpad: Updates to the CC3200-Launchpad configuration
- for better compatibility. From Jim Ewing (2014-9-1).
- * Removed all support from the 8051 from the NuttX source tree. The
- obsoleted code along with the removal patch can now be found at
- misc/Obsoleted/ (2014-9-1).
- * sched/sched/sched_releasetcb.c and task_setup.c, include/nuttx/arch.h
- and sched.h, and arch/*/*/*/Make.defs: There used to be two ways to
- pass parameters to new tasks, depending upon the configuration: Either
- (1) argv[] as created as an array with each string strdup'ed. Or (1)
- argv[] array and strings were created on the stack before the new task
- was started. Now, there is only one way, way (1). Way (2) might be
- slightly more compact, but this is not worth carry the complexity of
- two different ways of doing the same thing (2014-9-1).
- * sched/init/os_start.c: Fix error in initialize of IDLE TCB due to last
- change. The argument list is no long in the TCB, but in the stack.
- But not for the IDLE task. It needs its own mini-argv[] list so that
- it looks more like other threads (2014-9-1).
- * arch/arm/src/armv7-a/arm_addrenv.c, include/nuttx/addrenv.h, and
- mm/umm_*.c: Space at the beginning of the process data space is now
- reserved for user heap management structures. In the kernel build
- mode, these heap structures are shared between the kernel and use
- code in order to allocate user-specific data (2014-9-2).
- * include/unistd.h, nuttx/mm.h, and kmalloc.h, sched/init/os_start.c
- and sched/sched/sched_free.c, mm/kmm_sbrk.c and mm_sbrk.c, and
- arch/arm/src/sama5/sam_allocateheap.c: Restructuring of build to
- allow use of use-space allocators by kernel logic in the kernel
- build (2014-9-2).
- * arch/arm/include/armv7-a/irq.h, arm_syscall.c, crt0.c,
- include/nuttx/addrenv.h, and mm/umm_*.c: Add support for delivery
- of use-mode signals in the kernel build (2014-9-2).
- * mm/mm_graninit.c: Granule allocator initialization uses wrong
- allocator to setting aside kernel memory (2014-9-3).
- * sched/init/os_start.c: IDLE TCB setup needs to indicate that the
- IDLE thread is a privileged, kernel thread (2014-9-3).
- * include/nuttx/sched.h: Add a flag to group structure: If the group
- is created by a kernel thread, then all resources in the group must
- be privileged (2014-9-3).
- * sched/group/group_malloc.c, group_zalloc.c, group_free.c,
- group_create.c, group.h: Group creation logic must use new group flag
- when allocating resources so that the privileges on the resource are
- set correctly (2014-9-3).
- * sched/Kconfig and sched/init/os_bringup.c: Add capability to perform
- initial board initialization on a separate worker thread (2014-9-3).
- * tools/mkexport.sh: Fix 'make export'. Adding subdirectories to the
- sched/ directory broke the header file collection logic (2014-9-4).
- * Makefile.unix, Makefile.win, FlatLibs.mk, KernelLibs.mk, and
- ProtectedLibs.mk: In the kernel or protected builds, only the user
- libraries should be exported (2014-9-4).
- * Makefile.unix, Makefile.win, and tools/mkexport.sh: In 'make export',
- do not copy internal header files or build scripts if this is a
- kernel or protected build (014-9-4).
- * tools/mkexport.sh, arch/*/src/Makefile, arm/src/a1x/Make.defs,
- sama5/Make.defs, armv7-a/crt0.c: The 'make export' target needs to
- bundle up the user C startup file (crt0), not the kernel head object
- for the kernel and protected builds (2014-9-4).
- * tools/mkexport.sh: Add .config file to export package (2014-9-5).
- * configs/16z: Support for this board has been removed from the NuttX
- source tree (but still can be found in the misc/Obsoleted directory).
- This port is not ready for usage but may return to the NuttX tree
- at some point in the future (2014-9-5).
- * tools/Makefile.export and mkexport.sh: The apps/ import build requires
- that we extract more information from the platform Make.defs file
- (2014-9-5).
- * tools/Makefile.export and mkexport.sh: Need to export the setting of
- WINTOOL as well (2014-9-5).
- * SAMA5D4-EK kernel configuration now builds NSH instead of examples/elf
- (2014-9-6).
- * libc/pthread/pthread_attrinit.c, sched/pthread/pthread_create.c, and
- include/nuttx/pthread.h: Fix some conditional compilation in kernel
- build mode. And, while we are touching this logic, make
- g_default_pthread_attr const (2014-9-7).
- * arch/arm/src/armv7-a/arm_addrenv.c: Correct size comparison (pages vs.
- sections) (2014-9-7).
- * configs/sama5d4-ek/src/sam_bringup.c and sama5d4-ek.h: Need to call
- elf_initialize() on bring-up before attempting to load ELF modules
- (2014-9-7).
- * arch/arm/src/armv7-a/arm_addrenv.c: Fix loop counter... was overrunning
- a table on larger ELF files (2104-9-7).
- * arch/arm/src/sama5/sam_memories.c, sam_pgalloc.c, and sam_pgalloc.h: In
- kernel build with address environment, need logic to map user virtual
- addresses to physical addresses, and vice versa (2104-9-7).
- * SAM3X/Arduino Due: Fix typo in sam3x_periphclks.h; add SCLK
- definitions to board.h header file. From Fabien Comte (2014-9-8).
- * Several pthread interfaces: Add const storage class to to phthread
- parameters. From Freddie Chopin (2014-9-8).
- * libc/math: Corrected atan2 implementations from Denis Arnst (2014-9-8).
- * sama5d4-ek/knsh: Rename the kernel configuration to knsh to better
- match the naming used with other platforms (2014-9-8).
- * configs/cc3200-launchpad/README.txt: Add README file for the CC3200
- Launchpad (2014-9-9).
- * configs/sama5d4-ek/README.txt, Kconfig, knsh/defconfig.ROMFS,
- src/sam_bringup.c, and sama5d4-ek.h: SAMA5D4-EK kernel config can now
- boot from a ROMFS file system (2014-9-9).
- * LibTargets.mk, Makefile.unix, and Makefile.win: Move common library
- targets out of Makefile.unix and Makefile.win into a new LibTargets.mk
- (2014-9-9).
- * LibTargets.mk and configs/sama5d4-ek/knsh/Make.defs: Add logic that will
- permit us to build user libraries with different CFLAGS than kernel
- code. This is needed because we need the -fno-common option when
- building ELF code to prevent SHN_COMMON relocations (2014-9-8).
- * binfmt/libelf/libelf_symbols.c, libelf_bind.c, and all implementations
- of up_relocate(): ELF relocations. Some relocation types do not have
- a named symbol associated with them. The design did not account for
- that case (2014-9-9).
- * binfmt/binfmt_execmodule.c: When allocating a stack for a new process
- using the user-space allocator, need to select the address environment
- first (2014-9-9).
- * arch/Kconfig, arm/src/armv7-a/pginline.h, arm_addrenv.c, and
- arm_pgalloc.c and include/nuttx/addrenv.h: Add configuration to use
- the fixed DRAM mapping for the page pool (if available) instead of
- remapping dynamically to access L2 page tables and page data. Also,
- add logic in address environment creation to initialize the shared
- data at the beginning of the .bss/.data process memory region
- (2014-9-10).
- * configs/sama5d4-ek/elf and knsh: These configurations now use the
- fixed DRAM mapping for manipulating the page memory pool (2014-9-10).
- * arch/arm/include/arch.h and src/armv7-a/arm_addrenv.c,
- nuttx/binfmt/binfmt_execmodule.c, libelf/libelf_addrenv.c,
- libelf_load.c, libnxflat/libnxflat_addrenv.c, include/nuttx/arch.h, and
- mm/umm_initialize.c: Add logic to initialize the per-process user
- heap when each user process is started (2014-9-10).
- * sched/clock/clock.h, clock_initialize.c, and clock_settime.c: Remove
- vestiges of g_tickbias; apply bias instead to g_basetime (2014-9-10).
- * include/nuttx/lib.h, sched/init/os_start.c, and
- configs/ea3131/locked/mklocked.sh: Replace the empty lib_initialize()
- function with a pre-processor macro (2014-9-11).
- * libc/misc/lib_stream.c: When a privileged thread exits, we have to use
- the kernel allocator to free memory; when an unprivileged thread exits,
- we don't have to do anything... heap memory will be cleaned up when the
- address environment is torn down (2014-9-11).
- * arch/arm/src/stm32/stm32_serial.c and chip/stm32f20xxx_rcc.h: Fix for
- UART7 and UART8 on STM32 clock enable from Aton (2014-9-11).
- * arch/arm/src/armv7-a/arm_vectors.S: ARMv7-A: Exception register
- save/restore needs to work a little differently if we support user
- mode processes (2014-9-11).
- * configs/cc3200-launchpad/src/cc3200_leds.c and other board files: Add
- LED support for the CC3200 Launchpad. From Jim Ewing (2014-9-11).
- * arch/arm/src/armv7-a/arm_initialstate.c: All tasks, even user mode
- tasks, must start in supervisor mode until they get past the start-up
- trampoline (2014-9-11).
- * arch/arm/src/armv7-a/arm_vectors.S: Fix logic for returning from
- exceptions to user-mode contexts. NuttX processes are now functional
- on the Cortex-A (2014-9-11).
- * arch/arm/src/armv7-a/arm_fullcontextrestore.S, arm_syscall.c, crt0.c,
- and svcall.h: Modify up_fullcontextrestore() for CONFIG_BUILD_KERNEL.
- It changed CPSR while in kernel. That will crash if the new CPSR is
- user mode while executing in kernel space. Fixed by adding a
- SYS_context_restore system call. There is an alternative, simpler
- modification to up_fullcontextrestore() that could have been done: It
- might have been possible to use the SPSR instead of the CPRSR and then
- do an exception return from up_fullcontextrestore(). That would be
- more efficient, but I never tried it (2014-9-12).
- * binfmt/libelf/libelf_load.c: ELF: Critical bugfix.. BSS was not being
- cleared (2014-9-12).
- * configs/sama5d4-ek/knsh/defconfig and defconfig.ROMFS: Enable NSH
- file applications in these configurations (2014-9-12).
- * libc/Kconfig, unistd/lib_execsymtab.c, configs/sim/nsh/defconfig, and
- stm32f4discovery/posix_spawn/defconfig: Having a symbol table is an
- option. There are no symbol tables with CONFIG_BUILD_KERNEL, for
- example (2014-9-12).
- * syscall/syscall.csv and include/sys/syscall.h: exevc, execvl,
- posix_spawn, and posix_spawnp were not properly integrated as system
- calls (2014-9-12).
- * syscall/syscall_lookup.h: Fix typos in the stub lookup table
- (2014-9-12).
- * configs/stm32f4discovery/netnsh, Kconfig, README.txt, and
- include/board.h: Add the network enabled NSH configuration for the
- STM32F4Discovery board with the STM32F4DIS-BB base board installed
- (2014-9-13).
- * nuttx/mm/umm_sbrk.c: Fix a typo in use of a configuration setting
- (2014-9-13).
- * configs/stm32f4discovery/README.txt: Add STM32F4DIS-BB GPIO pin
- usage (2014-9-13).
- * arch/Kconfig, arch/arm/include/arch.h, src/armv7-a/arm_addrenv.c,
- sama5/sam_pgalloc.c, and include/nuttx/addrenv.h: Add a configuration
- option for dynamic stack management (stack management not yet
- implemented) (2014-9-13).
- * arch/Kconfig arm/src/armv7-a/addrenv.h, arm_addrenv.c, and
- arm_addrenv_utils.c, a1x/Make.defs, and sama5/Make.defs,
- include/nuttx/addrenv.h and arch.h: Move static helper routines from
- arm_addrenv.c and may them global so that they can be shared by
- forthcoming stack address environment logic (2014-9-13).
- * arch/arm/src/armv7-a/arm_addrenv_stack.c, arm_addrenv.c,
- a1x/Make.defs, sama5/Make.defs, and include/nuttx/arch.h: Add logic
- needed to manage a virtualized stack. Not yet incorporated into
- base OS logic (2014-9-13).
- * sched/task/task_posixspawn.c: Kernel proxy thread should be a kernel
- thread, not a user task (2014-9-14).
- * include/sched.h and spawn.h, libc/Kconfig, spawn/Make.defs,
- lib_psa_getstacksize.c, lib_psa_init.c, and lib_psa_setstacksize.c,
- sched/task/Make.defs, task_create.c, and task_spawn.c: Don't build
- task_create() or task_spawn() interfaces if there is an address
- environment (2014-9-14).
- * arch/arm/src/armv7-a/arm_addrenv_ustack.c, include/nuttx/addrenv.h,
- arch.h, and other files: Rename everything associated with the dynamic
- process stack to ustack to make room in the name space for a kstack
- (2014-9-14).
- * arch/arm/src/armv7-a/arm_addrenv_kstack.c, include/nuttx/addrenv.h,
- arch.h, and other files: Add the initial implementation of the process
- kernel stack logic. Not yet integrated into the main OS logic nor
- tested (2014-9-14).
- * binfmt/binfmt_execsymtab.c and Makefile, sched/task/task_execv.c,
- task_posixspawn.c, and Make.defs, include/unistd.h,
- include/nuttx/binfmt/symtab.h, and libc/unistd/Make.defs: execv() is
- a basic system interface. It should not be in libc/ but rather in
- sched/task. Its symbol table helper logic also belongs in the kernel
- but belongs in binfmt/ with the other symbol table logic (2014-9-15).
- * include/sys/syscall.h, syscall/syscall.csv, syscall_lookup.h, and
- syscall_stublookup.c: execl() is not a system interface. It belongs
- in libc and should not have a system call associated with it
- (2014-9-15).
- * arch/arm/include/armv7-a/irq.h and src/armv7-a/arm_syscall.c: If we
- are configured to use a kernel stack while in SYSCALL handling, then
- we need to switch back to the user stack to deliver a signal (2014-9-15).
- * arch/arm/src/armv6-m/up_svcall.c, armv7-a/arm_syscall.c, and
- armv7-m/up_svcall.c: Fix a typo in system call when fetching parameter
- from the stack: regs[REG_PC]+4 is the address, not regs[REG_PC+4]
- (2014-9-15).
- * sched/sched/sched_releasetcb.c: Don't release user stack in kernel
- build. Already destroyed with all of the address environment
- (2014-9-15).
- * arch/arm/src/armv6-m/up_signal_dispatch.c, src/armv7-a/arm_signal_dispatch.c,
- and arch/arm/src/armv7-m/up_signal_dispatch.c: Move
- common/up_signal_dispatch.c to armv6-m, armv7-m, and armv7-a. The
- armv7-a version needs to be different to handle the case where we
- are dispatch kernel mode signals when running under a user mode group
- (2014-9-16).
- * arch/arm/src/armv7-a/arm_syscall.c: Correct stack handling if signal
- deliver to user processes (2014-9-16).
- * arch/arm/src/armv7-a/arm_physpgaddr.c, pgalloc.h, sama5/sam_pgalloc.c,
- and sam_pgalloc.h: Move some share-able logic from sama5/sam_pgalloc.c
- to armv7-a/arm_physpgaddr.c (2014-9-16).
- * arch/arm/src/sam34/sam_rtt.c: Only SAM4 family has RTTDIS bit in the
- MR register. SourceForge bug #33 from Fabien Comte (2014-9-17).
- * arch/arm/src/stm32/stm32_can.c: At the end of the interrupt handler,
- the interrupts were being disabled, if all packets have been
- transferred when the interrupt handler was invoked. This is
- problematic, because the interrupt handler calls can_txdone of the
- upper half which can enqueue new packets to send. Removed the block
- altogether, because can_txdone calls can_xmit which disables
- interrupts if there are no new packets to send. From Daniel Lazlo
- Sitzer (2014-9-17).
- * drivers/can.c: In can_txdone, waiters on the semaphore should be
- informed regardless of the return value of can_xmit. First it returns
- -EIO if there are no new packets, and second the information of the
- waiters is about the last transferred packet. From Daniel Lazlo
- Sitzer (2014-9-17).
- * SAMA5D4-EK: Add documentation/support for Rev E. board. Refresh NSH
- configuration. Fix some build errors/warnings introduced with recent
- work with the knsh configuration (2014-9-17).
- * arch/sim/Kconfig, src/up_spiflash.c, Makefile, up_initialize.c, and
- up_internal.h: Emulated SPI FLASH driver for the sim target from Ken
- Pettit (2014-9-19).
- * configs/stm32f4discovery/include/board.h, netnsh/defconfig,
- src/Makefile, stm32_sdio.c, stm32_boot.c, stm32_nsh.c,
- stm32_bringup.c, and stm32f4discovery.h: STM32F4Discovery: Add
- support for the microSD card slot on the STM32F4DIS-BB base board
- (2014-9-20).
- * Change all occurrences of NxConsole to NxTerm (2014-9-20).
- * include/sys/ipc.h, shm.h, mman.h, and types.h: Add shared memory
- definitions, types, prototypes (2014-9-22).
- * fs/smartfs/smartfs_smart.c: SMART FS update from Ken Pettit
- (2014-9-22).
- * mm/mm_gran/: Move granule allocator and page allocator from mm/. to
- mm/mm_gran/. (2014-9-22).
- * mm/kmm_heap/: Move kernel heap allocator from mm/. to mm/kmm_heap/.
- (2014-9-22).
- * mm/umm_heap/: Move user heap allocator from mm/. to mm/umm_heap/.
- (2014-9-22).
- * mm/mm_heap/: Move common heap logic from mm/. to mm/mm_heap/.
- (2014-9-22).
- * mm/shm/: Create a home for forthcoming shared memory logic
- (2014-9-22).
- * fs/procfs/fs_procfs.c: Fix some procfs breakage introduced by
- reorganizing some un-reorganizable data structures. From Ken
- Pettit (2014-9-22).
- * drivers/mtd/smart.c, fs/smartfs/smartfs.h, smartfs_procfs.c, and
- smartfs_utils.c, include/nuttx/fs/ioctl.h, and mtd/smart.h: Updated
- SMART FS procfs support. From Ken Pettit
- * configs/mikroe-stm32f4: Fix a few compile bugs and minor corrections
- to the mikroe-stm32f4 configuration source. From Ken Pettit
- (2014-9-22).
- * mm/Kconfig, shm/Make.defs, shmat.c, shmctl.c, shmdt.c, shmget.c, and
- Documentation/NuttxUserGuide.html: Add the documentation, build
- framework, and skeleton files for the shared memory feature (no logic
- yet provided) (2014-9-22).
- * include/sys/syscall.h, syscall/syscall.csv, syscall_lookup.h, and
- syscall_stublookup.c: Add system calls for shared memory interfaces
- (2014-9-22).
- * include/nuttx/shm.h, mm/shm/shm.h, and shm_initialize.c: Add shared
- memory initialization logic (2014-9-23).
- * include/nuttx/arch.h, Documentation/NuttxPortingGuide.html, and
- NuttxUserGuide.html: Add platform-specific interface definitions
- needed to support the shared memory feature (2014-9-23).
- * arch/arm/include/arch.h, src/armv7-a/addrenv.h, arm_addrenv.c,
- arm_addrenv_ustack.c, and arm_addrenv_utils.c: Add logic necessary
- to handle remapping of shared memory on context switches (2014-9-23).
- * include/nuttx/gran.h, mm/mm_gran/mm_granrelease.c, and Make.defs: Add
- interfaces to support un-initializing a granule allocator (2014-9-23).
- * arch/arm/src/armv7-a/arm_pgalloc.cm sched/group/group_addrenv.c, and
- other files: Fix some inconsistent field name in struct task_group_s:
- addrenv should be tg_addrenv (2014-9-23).
- * arch/arm/src/armv7-a/pgalloc.h: Extend virtual/physical address
- conversions to include addresses in shared memory (2014-9-23).
- * include/nuttx/shm.h, sched.h, mm/shm/shm_initialize.c,
- binfmt/binfmt_execmodule.c, sched/group/group_leave.c: Add support
- for a per-process virtual page allocator. This is a new member of
- the task_group_s structure. The allocator must be initialized when a
- new user process is started and uninitialize when the process group
- is finally destroyed. It is used by shmat() and shmdt() to pick the
- virtual address onto which to map the shared physical memory
- (2014-9-23).
- * mm/shm/shmat.c and shmdt.c: Completes the implementation of the core
- shared memory logic: shmget(), shmctl(), shmat(), and shmdt(). This
- is still some unfinished platform-specific code that needs to be done
- before we can begin testing (2014-9-23).
- * include/nuttx/mm: Move mm.h, gran.h, and shm.h from include/nuttx to
- include/nuttx/mm (2014-9-24).
- * arch/arm/src/stm32/stm32_can.c: STM32 CAN correction suggested by Max
- Holtzberg (2014-9-24).
- * arch/arm/src/armv7-a/addrenv.h, arm_addrenv_shm.c,
- arm_addrenv_utils.c, and pgalloc.h: This completes the implementation
- of shared memory support for the Cortex-A platforms (2014-9-24).
- * fs/fs_poll.c: Fix unnecessary delays and timing jitter in the
- implementation of poll(): No delay if timeout is zero; If timeout is
- greater than zero, first check if events are already pending events
- before starting the delay. From Johannes Hampel (2014-9-25).
- * drivers/mtd/at45db.c: In at45db_bwrite , the buffer is not increased
- when writing more than 1 page. Sourceforge bug #34 (2014-9-25).
- * crypto/cryptodev.c: Path segments reversed in include file path.
- Noted by Brennan Ashton (2014-9-25).
- * drivers/mtd/mtd_rwbuffer.c: The MTD Read-ahead/Write buffer layer
- appears to be functional (2014-9-25).
- * libc/stdio/lib_libdtoa.c: Change to lib_dtoa() to fix precision error
- from trailing zeroes. From Bob Doiron (2014-9-26)
- * fs/fs_poll.c: Re-implemented poll() delay using sem_timedwait()
- (2014-9-26).
- 7.6 2014-11-26 Gregory Nutt <gnutt@nuttx.org>
- * fs/fs.h and other files: Rename fs/fs_internal.h to fs/fs.h (2014-9-28).
- * include/nuttx/semaphore.h and fs/fs.h: Add data structures that will
- allow us to move name semaphore support out of the OS and into the
- VFS (not complete) (2014-9-28).
- * fs/inode: Move inode and VFS utils from fs/. to fs/inode/. (2014-9-28).
- * fs/driver: Move driver logic from fs/. to fs/driver/. (2014-9-28).
- * fs/dirent: Move directory operations from fs/. to fs/dirent/. (2014-9-23).
- * fs/mount: Move mount-related files from fs/. to fs/mount/. (2014-9-23).
- * fs/vfs: Move renaming files in fs/. to fs/vfs/. (Don't all belong there)
- (2014-9-23).
- * fs/semaphore: Create a build structure that will (eventually) support
- using the VFS to manage named semaphores (2014-9-23).
- * configs/stm32f4discovery/include/board.h: STM32F4-Discovery: Fix some
- backward conditional compilation (2104-9-29).
- * nuttx/sched/init/os_start.c, semaphore/Make.defs, sem_initialize.c,
- and semaphore.h: Semaphore initialization is now only required if
- priority inheritance is enabled (2014-9-29).
- * fs/Makefile and mqueue/: Add build support for messages queues as part
- of the VFS (only build logic, no C files yet) (2014-9-29).
- * fs/inode/inode.h and fs/driver/driver.h: Move fs/fs.h to fs/inode/inode.h
- and some to fs/driver/driver.h (2014-9-29).
- * sched/task/task_vfork.c: Fix vfork(). Now that arguments are kept on
- the stack, the way that arguments are passed from parent to child in
- vfork() must change. This bug has always been present, but was not
- visible with the old strdup() way of passing arguments (2014-9-29).
- * arch/arm/src/common/up_vfork.c: Another vfork() problem: If we get to
- vfork() via system call, then we need to clone some system call
- information so that the return form the cloned system call works
- correctly (2014-9-29).
- * fs/mqueue: Move mq_open(), mq_close(), and mq_unlink() logic from
- sched/mqueue to fs/mqueue. Convert the logic so that it uses the VFS to
- managed the message queue namespace (instead of custom logic). By
- default, now message queues can be seen in /var/mqueue (2014-9-29).
- * arch/sim/src/up_simuart.c, up_uartwait.c: Removed old, strange
- up_stdio.c and implemented a simulated UART driver to provide the
- console input. Starts a separate, Linux domain pthread to read
- the console input in raw mode and provides the incoming data to
- NuttX via standard NuttX domain IPCs (2014-9-30).
- * arch/sim/src/up_setjmp32.S, up_setjmp64.S, Kconfig, Makefile,
- up_initialstate.c, up_internal.h, up_stackframe.c, and include/irq.h:
- Add support for 64-bit longjmp/setjmp in simulator platform. This
- will permit operation of the simulation natively on a 64-bit platform
- (2014-10-2).
- * include/fcntl.h: Implement create() as a macro (2014-10-4).
- * fs/vfs/Make.defs, fs_pread.c fs_pwrite.c, and include/unistd.h: Add
- pread() and pwrite() (2014-10-4).
- * include/sys/syscall.h syscall/syscall.csv, syscall_lookup.h, and
- syscall_stublookup.c: Add pread() and pwrite() system calls
- (2014-10-4).
- * include/aio.h: Add aio.h header file (2014-10-4).
- * libc/aio/lio_listio.c and Make.defs: Add empty skeleton file where
- lio_listio() will eventually be implemented (2014-10-4).
- * libc/Kconfig, aio/aio_read.c, aio_write.c, aio_return.c, aio_error.c
- aio.h, and Make.defs: Initial implementation of aio_read(),
- aio_write(), aio_return(), and aio_error() (2014-10-4).
- * include/signal.h and sched/Kconfig: Add definitions for SIGPOLL
- (2014-9-5).
- * libc/aio/aio_signal.c, Make.defs, and aio.h: Move AIO signal logic
- to a common location in aio_signal.c. Also fix several typos
- (2014-9-5).
- * libc/aio/aio_suspend.c, aio_cancel.c, aio_fsync.c, lio_listio.c and
- Make.defs: Initial implementation of aio_suspend(), aio_cancel(),
- lio_listio.c, and aio_fsync.c. This completes this implementation
- of the asynchronous I/O interfaces but there are still untested
- (2014-9-5).
- * fs/aio/Make.defs, aio.h, aio_cancel.c, aio_fsync.c, aio_read.c,
- aio_signal.c, and aio_write.c: Move all file operations from libc/aio
- to fs/aio. These will need to be kernel routines in order to
- handler issues with using file descriptors on worker thread
- (2014-10-5).
- * fs/aio/aio.h, Kconfig, aio_initialize.c, aioc_contain.c, Make.defs,
- and include/aio.h: Add a AIO control container to increase the
- payload with OS internal stuff (2014-10-6).
- * fs/aio/aio_cancel.c, aio_fsync.c, aio_read.c, aio_signal.c, and
- aio_write.c: Modify logic to use AIO control block container
- (2014-10-6).
- * fs/fs_initialize.c, Makefile, fs/inode/fs_inode.c, and inode.h:
- Modify FS initialization logic to handle AIO container
- initialization (2014-10-6).
- * Too many files to list: Major structuring of file system functions
- to better support asynchronous I/O. Repository should not be
- trusted until I have a chance to verify everything (2014-10-6).
- * include/nuttx/mm/mm.h: Fix a place in the memory manager where it
- explicitly assumed that the size of a pointer is 4 bytes. That is OK
- if the actual size is smaller but makes the heap unstable when used
- with the x86_64 host simulation (2014-10-6).
- * sched/wqueue, include/nuttx/wqueue.h, and libc/Kconfig sched/Makefile:
- Add support for priority inheritance on the low priority worker queue
- (2014-10-7).
- * sched/Makefile and sched/*/Make.defs: Simplify how C source files are
- selected in the build (2014-10-7).
- * fs/aio/aio_queue.c, Make.defs, aio.h, aio_fsync.c, aio_read.c, and
- aio_write.c: The asynch I/O implementation now satisfies POSIX
- priority requirements; it uses the new low priority worker thread
- interfaces to adjust the priority of the worker thread according to
- the priority of the client thread (2014-10-7).
- * arch/arm/src/stm32/chip/stm32_otghs.hstm32_otghs.c/h and
- chip/stm32_otghs.h: Add files that implement true high speed support
- for the STM32 OTGHS peripheral. From Brennan Ashton (2014-10-7).
- * arch/arm/src/stm32/ (several files): Integrates OTGHS support into
- the STM32; Eliminates the older OTGHS in FS mode logic. From Brennan
- Ashton (2014-10-7).
- * arch/arm/src/stm32/Kconfig, stm32_otgfsdev.c, chip/stm32f40xxx_pinmap.h,
- configs/stm32f429i-disco/ (several files): Remove non-functional
- vestiges of OTGHS in FS mode (including OTGFS2); try to convert the
- stm32f429i-disco configuration to use OTGHS instead of OTFHS in F
- mode (OTGFS2). But I don't have the boards and can't test (2014-10-7).
- * include/syslog.h, debug.h, libc/libc.csv, misc/lib_dbg.c,
- lib_dumpbuffer.c, stdio/lib_lowsyslog.c, lib_printf.c, lib_syslog.c,
- and fs/driver/fs_syslog.c: Make standard syslog and vsyslog POSIX
- compliant (also modify non-standard syslog functions for
- compatibility). This will break a lot of things until ALL usage of
- syslog is updated to use the modified interfaces (2014-10-8).
- * drivers/: Correct everything under nuttx/drivers, nuttx/arch, nuttx/net,
- nuttx/binfmt, and nuttx/configs to use the corrected syslog interfaces
- (2014-10-8).
- * libc/syslog and fs/syslog: Move syslog logic from libc/misc and
- libc/stdio to libc/syslog and fs/syslog. Also move some syslog logic
- from fs/driver to fs/syslog (2014-10-8).
- * fs/syslog/fs_syslogmask.c: Implement syslogmask() (2014-10-8).
- * include/sys/syscall.h, syscall/syscall.csv, syscall_lookup.h, and
- syscall_stublookup.c: Add syslog system calls (2014-10-8).
- * fs/Kconfig, syslog/fs_syslogenable, and include/syslog.h: Remove
- non-standard, conditional syslog_enable(), instead only the
- required, standard setlogmask() (2014-10-9).
- * arch/arm/src/stm32/chip/stm32_exti.h: Correct STM32 RTC EXTI bit
- definition. From Lazlo (2014-10-9).
- * include/syscall.h, syscall/, and libc/: Remove syslog interfaces
- from the set of system calls (2014-10-9).
- * libc/syslog: Move syslog back out of the kernel into the C libary
- (2014-10-9).
- * arch/mips/src/pic32mx/pic32mx-devcfg.h: For PIC32MX7, DEVCFG0 bit
- 2 must be set. Writing bit 2 as zero can brick the CPU on some
- versions. From Cris Kvist (2014-10-9).
- * sched/wqueue/, libc/wqueue, and include/nuttx/wqeueue.h: Separate
- kernel- and user-mode work queue logic. Decouple work queue data
- structures. This is part of the preparation to support multiple
- low-priority worker threads (2014-10-10).
- * include/nuttx/wqueue.h, libc/wqueue/Make.defs, work_usrthread.c,
- work_usrstart.c sched/init/os_bringup.c wqueue/kwork_hpthread.c,
- kwork_lpthread.c, and wqueue.h: Modularize starting of worker
- threads to better isolate individual initialization characteristics
- (2014-10-10).
- * arch/arm/src/ stm32_iwdg.c, stm32_wwdg.c, and chip/stm32_dbgmcu.h:
- Fix watchdog stop bit usage. From Lazlo (2014-10-10).
- * sched/wqueue/, libc/wqueue, and include/nuttx/wqueue.h: Add support
- for multiple low-priority worker threads. This is a necessary
- piece of the support for asynchronous I/O (2014-10-10).
- * sched/wqueue/work_inherit.c: Add logic for priority inheritance with
- multiple worker threads. How should this work? Tentatively, the all
- get reprioritized together. It would be best to just reprioritize the
- single thread doing the high priority work, but we don't know which
- that will be in advance (2014-10-10).
- * fs/aio/ and include/aio.h: Add support for socket-based transfers
- (2014-10-11).
- * arch/arm/include/stm32/chip.h, /src/stm32/Kconfig, and
- stm32_allocateheap.c: Support for the STM32 F411RE from Serg Podtynnyi
- (2014-10-14).
- * configs/Kconfig, README.txt, and nucleo-f401re: Extend this board
- configuration to also support the Nucleo-F411RE. From Serg Podtynnyi
- (2014-10-14).
- * tools/Config.mk: Add a PRELINK macro to Config.mk. From Kriegleder
- (2014-10-17).
- * arch/arm/src/efm32 and arch/arm/include/efm32: Add a basic port for
- the SiLabs EFM32 family. Includes many files contributed by Pierre-noel
- Bouteville (2104-10-20).
- * configs/efm32-gxxx-stk: Add board support for the EFM32 Gecko Starter
- Kit (2014-10-20).
- * configs/olimex-efm32g880f128-stk: Add board support for the Olimex
- EFM32G8809128 STK (2014-10-20).
- * drivers/lcd/Kconfig, ili9341.c, Make.defs, and include/nuttx/lcd/ili9341.h:
- Add support for a generic ILI9341 driver. From Marco Krahl (2014-10-20).
- * configs/stm32f429i-disco/Kconfig, src/ and lcd/: Add support for the
- STM32F429i Discovery's LCD. From Marco Krahl (2014-10-20).
- * arch/arm/src/lpc43xx/lpc43_gpioint.c, .h, lpc43_irq.c, and
- chip/lpc43_gpio.h: Fixes to allow compile of lpc43_gpioint.c. It
- likely doesn't work. From Brandon Warhurst (2014-10-21).
- * arch/arm/src/stm32/chip/stm32f103r_pinmap.h: Add ADC pinmap
- definitions for the STM32 F103R from Martin Lederhilger (2014-10-21).
- * arch/arm/src/armv7-m/up_itm.c and itm.h: Add CMSIS ITM header file and
- library. From Pierre-noel Bouteville (2104-10-21).
- * arch/arm/src/armv7-m/dwt.h and tpi.h: Add CMSIS DWT and TPI header files.
- From Pierre-noel Bouteville (2104-10-21).
- * arch/arm/src/armv7-m/arm_item_syslog.c, itm_syslog.h, and Kconfig: Add
- ARMv7 support to use ITM for SYSLOG debug output. Includes logic from
- Pierre-noel Bouteville (2014-10-22).
- * arch/arm/src/efm32/efm32_clockconfig.c, efm32_start.c, and Make.defs:
- Add logic to initialize and use ITM for syslog. Includes logic from
- Pierre-noel Bouteville (2014-10-22).
- * sched/sched/sched_timerexpiration.c and include/nuttx/arch.h: Fixes
- to tickless operation code, especially in alarm mode. From Brandon
- Warhurst (2014-10-23).
- * nuttx/arch/arm/src/lpc43xx/lpc43_rit.c, lpc43_rit.h, and related
- files: Add support for tickless operation using the NXP LPC43xx. From
- Brandon Warhurst (2014-10-23).
- * arch/arm/src/efm32/efm32_gpio.c and efm32_gpioirq.c: EFM32 port and
- pin decoding backward in every case. From Pierre-Noel Bouteville
- (2014-10-23).
- * arch/arm/src/armv7-m/up_itm_syslog.c: Correct file naming and fix
- compilation errors in up_itm_syslog.c. From Pierre-Noel Bouteville
- (2014-10-23).
- * configs/sam4e-ek/src/sam_ethernet.c (and other files):SAM4E-EK: Add
- support for PHY interrupt (2014-10-24).
- * include/wchar.h: Add a mostly bogus wchar.h header file. This file
- is mostly bogus because none of the wide character operations are
- currently supported in the Nuttx C library (2014-10-27).
- * include/termios.h, libc/termios/lib_isatty.c, and Make.defs: Add
- isatty() function. From Alan Carvalho de Assis (2014-10-27).
- * arch/arm/include/efm32, src/efm32, and configs/efm32-gxxx-stk:
- The EFM32 Gecko Starter Kit port is now functional. At least
- NSH is running over LEUART0 on the board (2014-10-29).
- * arch/arm/src/sam34/sam_serial.c and Kconfig: Add support for SAM3/4
- basic TERMIOS and flow control. There are issues with IFLOW control:
- PDC or DMAC support is required (2014-10-29).
- * configs/sam4e-ek/src/sam4e-ek.h: Fix an error in a USART1 pin number
- (2014-10-29).
- * configs/efm32gg-stk3700: Board support for the SiLabs EFM32GG
- Giant Gecko Starter kit. Current with basic NSH configuration only.
- Testing is on hold until I receive hardware (2014-11-03).
- * libc/Kconfig: Move CONFIG_NSH_TMPDIR to CONFIG_LIBC_TMPDIR (2014-11-05).
- * libc/stdlib/lib_mkstemp.c, lib_mktemp.c, Make.defs and include/stdlib.h:
- Add mktemp() and mkstemp() (2014-11-05).
- * libc/stdio/lib_tempnam.c, lib_tmpnam.c, Kconfig, Make.defs and
- include/stdio.h: Add tmpnam() and tempnam() (2014-11-05).
- * drivers/rwbuffer.c: Fix typo that can cause compiler error (2014-11-05).
- * drivers/mtd/m25px.c: Extend MTD support to M25P16. From Sébastien
- Lorquet (2014-11-07).
- * arch/arm/src/stm32/Kconfig, chip.h, and include/stm32/chip.h: Support
- for the STM32F103RG. From Murilo Ponte (2014-11-10).
- * configs/stm32f100rc_generic: Removed this generic board configuration.
- I have decided to stop support of generic board configurations. Generic
- board configurations do not provide support for any specific hardware
- but can be useful only if there are not other examples for the setup
- for a particular architecture. Not the case here (2014-11-10).
- * include/nuttx/vt100.h: Add foreground and background color commands
- (2014-11-10).
- * sched/wdog/wd_create.c: Fix an important bug in the watchdog creation
- logic (2014-11-10).
- * include/unistd.h, libc/unistd/lib_access.c and Make.defs: From Lorenz
- Meier: The implementation of access() as vararg macro has the issue that
- any function call with the same name (even in a C++ class) will match
- with it and result in a compile error. I have replaced it with a small
- function, and tried to have decent documentation as well. This resolves
- the compile issue, and shouldn’t have negative side effects for users
- of the function (2014-11-11).
- * mm/mm_gran/mm_granrelease.c: If the INTR granule allocator mode is
- enabled, there is no semaphore to destroy. From Lorenz Meier (2014-11-12).
- * fs/nxffs/nxffs_dump.c: Fix problems with redefinitions of fdb macro.
- With the fix to the syslog prototype, a LOG priority must now be the
- first parameter. Fixed by replacing all occurrences of fdbg with
- syslog(LOG_DEBUG, and eliminating the macro redefinitions. Noted by
- Sebastien Lorquet (2014-11-12).
- * arch/arm/src/common/up_internal.h: Add protection from C++ name
- mangling in the ARM up_internal.h. From Lorenz Meier (2014-11-12).
- * include/nuttx/compiler.h: Defines inline functions as not
- instrumented - this is relevant for anyone using instrumentation. From
- Lorenz Meier (2014-11-12).
- * libc/string/lib_strncpy.c: The definition of strncpy() is that empty
- space should be zero-filled, the patch adds the zero filling (I didn’t
- know this, see e.g. the POSIX spec here:
- http://pubs.opengroup.org/onlinepubs/7908799/xsh/strncpy.html). From
- Lorenz Meier (2014-11-12).
- * arch/arm/include/limits.h: Remove the definition of INT_FAST32_MIN
- which is already defined in stdint.h (the correct location). From
- Lorenz Meier (2014-11-12).
- * arch/arm/src/efm32/efm32_clockconfig.c, configs/efm32gg-stk3700/README.txt
- and include/board.h: Fixes to get the EFM32GG-STK3700 basic NSH
- configuration running. It works! (2014-11-12).
- * drivers/bch/bchdev_driver.c: Add support for seeking in BCH. From
- Sébastien Lorquet. (2014-11-13).
- * sched/Kconfigs and configs/*/*/defconfig: Remove CONFIG_MAX_TASK_ARGS
- (2014-11-13).
- * binfmt/: Remove use of CONFIG_MAX_TASK_ARGS in exec() and unload_module()
- (2014-11-13).
- * libc/unistd: Remove use of CONFIG_MAX_TASK_ARGS in execl() (2014-11-13).
- * sched/: Remove some misc. usage of CONFIG_MAX_TASK_ARGS in task_start(),
- task_setup(), and vfork() (2014-11-13).
- * arch/arm/src/stm32/chip/stm32_otgfs.h: Correct a typo in the STM32 OTGFS
- register bit definitions (2014-11-13).
- * drivers/lcd/st7565.c/.h and include/nuttx/lcd/st7565.h: Add driver for
- ST7565 that works with NHD�C12864KGZ display. From Pierre-noel
- Bouteville (2014-11-13).
- * net/route/net_router.c: I don't think that the net_route function has
- ever worked correctly. The source ip was updated in the match struct
- instead of the route ip. From Brennan Ashton (2014-11-14).
- * net/Kconfig arp/Make.defs, arp_send.c, and drivers/net/slip.c: ARP:
- Add support for the case where there are multiple networks: One being
- Ethernet and the other not. Suggested by Brennan Ashton (2014-11-14).
- * net/Kconfig, netdev/netdev_register.c, arp/arp_send.c,
- include/nuttx/net/net.h, netdev.h and several network drivers in arch/
- and drivers/: Add a parameter to netdev_register() to indicate the
- link protocol supported by the driver. Use this value to replace some
- logic committed yesterday (2014-11-15).
- * configs/stm32f4discovery/netnsh/defconfig: Needs to set MAC address
- (2014-11-15).
- * arch/ and drivers/: Remove use of NET_LL_HDRLEN from Ethernet drivers.
- Use ETH_HDRLEN instead (2014-11-15).
- * net/arp/: Remove use of NET_LL_HDRLEN from net/arp logic. Use
- ETH_HDRLEN instead (2014-11-15).
- * net/ and include/nuttx/net: All network logic will now handle
- variable length link layer protocol headers within incoming packets.
- This permits use of multiple network interfaces with differing data
- links. For example, ETHERNET + SLIP (2014-11-15).
- * arch/arm/src/sam34/sam4s_periphclks.h: Add missing SPI0 clock
- configuration macro for the SAM4S. From spasbyspas (2014-11-16).
- * arch/arm/src/efm32/efm32_lowputc.c: EFM32 USART setup: Computation of
- BAUD includes shift; Eliminate additional shift. From Pierre-noel
- Bouteville (2014-11-16).
- * net/, include/, drivers/, arch/, various files: Rename
- CONFIG_NET_BUFSIZE to CONFIG_NET_ETH_MTU; Add CONFIG_NET_SLIP_MTU.
- Add data structures and logic to handle different MTUs when both
- Ethernet and SLIP are enabled (2014-11-16).
- * net/, include/, various files: Rename CONFIG_NET_RECEIVE_WINDOW to
- CONFIG_NET_ETH_TCP_RECVWNDO and CONFIG_NET_SLIP_TCP_RECVWNDO. Add
- data structures and logic to handler different TCP receive windows
- when both Ethernet and SLIP are enabled (2014-11-16).
- * configs/sama5d4-ek/bridge: Add a simple test for the dual EMACs on
- the SAMA5D4 (2014-11-17).
- * arch/arm/src/sama5/sam_emacb.c: Fix several typos that will prevent
- EMAC1 from initializing properly (2014-11-17).
- * include/nuttx/net/ip.h and tcp.h, net/icmp/icmp_send.c and
- igmp/igmp_send.c: Move IP header flags from tcp.h to ip.h and rename
- IP_FLAGS vs TCPFLAGS. The problem fixed here is that there IP flags
- were not available when TCP was disabled. The IP flags are used in
- ICMP and IGMP (2014-11-17).
- * sched/clock/clock_abstime2ticks.c: Calling mq_timedreceived() with
- immediate timeout was getting stuck and not timing out. Immediate
- timeout is achieved by setting absolute timeout value to past time,
- for example abstime={ .tv_sec=0, .tv_nsec=0 }. However absolute
- time was converted to relative time using unsigned integer arithmetic
- and resulted large ticks count by clock_abstime2ticks, instead of
- expected negative ticks value. Change corrects clock_abstime2ticks()
- to return negative ticks, if absolute time is in the past. From
- Jussi Kivilinna (2014-11-19).
- * fs/vfs/fs_poll.c: poll() was not waking up from signals (for example
- mq_notify() events). From Jussi Kivilinna (2014-11-19).
- * arch/arm/src/stm32/stm32_otghs.c, Make.defs,
- configs/stm32f429i-disco/src/stm32_usb.c and Makefile: STM32 F4 OTGHS
- device controller driver from Brennan Ashton (2014-11-20).
- * configs/sama5d3-xplained/bridge: Add a simple test for the EMAC
- and GMAC on the SAMA5D3 working together (2014-11-20).
- * libnx/nxtk/nxtk_drawframe.c: Remove warnings when CONFIG_NXTK_BORDERWIDTH
- is set to zero. From Pierre-Noel Bouteville (2014-11-20).
- * fs/vfs/fs_poll.c: Add proper handling for sem_timedwait errnos.
- From Jussi Kivilinna (2014-11-21).
- * net/udp/udp_conn.c and udp.h: Extensions to UDP "connection" structure
- for the case of multiple networks. In this case, assigned port numbers
- only have to be unique with respect to the IP address. So, for
- example, you could have multiple port 80's, one on each network
- (2014-11-21).
- * net/tcp/tcp_conn.c and tcp.h: Make tcp_listener static scope; it is
- not used outside of tcp_conn.c (2014-11-22).
- * net/udp/tcp_conn.c and tcp.h: Extensions to TCP connection structure
- for the case of multiple networks. See the description of the similar
- change for UDP above (2014-11-22).
- * net/route/net_router.c: Refuse to perform routing table lookups for
- the Broadcast IP address. From Brennan Ashton.
- * net/netdev/netdev_findbyaddr.c and netdev: Add logic to netdev_findbyaddr()
- to return the correct network device for the case where a broadcast
- address is used. This change caused trivial ripples through other
- files because additional parameters are required for netdev_findbyaddr()
- when CONFIG_NET_MULTINIC. Those other file include net/netdev/netdev_rxnotify.c,
- netdev_txnotify.c which, in turn, for changes to arp/arp_send.c,
- icmp/icmp_ping.c, socket/net_sendfile.c, recvfrom.c, sendto.c,
- tcp/tcp_send_buffered.c, and tcp_send_unbuffered.c (2014-11-23).
- * arch/arm/src/kl/chip/kl_i2c.h: I2C header file for the Freescale KL
- family. From Alan Carvalho de Assis (2014-11-23).
- * include/nuttx/fs/fs.h: Fix typo in conditional compilation. From
- Alan Carvalho de Assis (2014-11-23).
- 7.7 2015-01-26 Gregory Nutt <gnutt@nuttx.org>
- * nuttx/drivers/eeprom and include/nuttx/eeprom/: Add support for generic
- EEPROM access via a character driver. Add also the EEPROM driver itself.
- From Sébastien Lorquet (2014-11-26).
- * libnx/nxfonts/nxfonts_pixel-lcd-machine.h and nxfonts_pixel-unicode.h,
- include/nuttx/nx/nxfonts.h, graphpics/Kconfig, and build-related files
- in libnx/nxfonts: Two new fonts from Pierre-noel Bouteville (2014-11-26).
- * configs/lpc4357-evb, arch/arm/src/pc43xx/chip/, configs/Kconfig, and
- and other related files: A port of NuttX to the LPC4357-EVB from
- Toby Duckworth. This port is a leverage of the LPC3330-Xplorer port
- and still have a some misinformation from that port that needs to be
- updated for the LPC4357-EVB (2014-11-26).
- * arch/arm/include/stm32/chip.h, src/stm32/Kconfig, chip.h, and
- chip/stm32f102_pinmap.h: Enable support for the STM32 F102. From
- https://github.com/PX4/NuttX/pull/28.diff (2014-11-27).
- * drivers/loop.c: Loop device should return -EINTR is interrupt by a
- signal (2014-11-27).
- * drivers/input/djoystick.c and include/nuttx/input/djoystick.h. Also
- drivers/input/Kconfig and Make.defs, and include/nuttx/fs/ioctl.h: Add
- an interface definition and upper half driver for a discrete joystick
- device (2014-11-27).
- * arch/arm/src/efm32/Kconfig and efm32_serial.c: Add support for serial
- termios TCGET and TCSET. For the moment, only set/get speed is
- implemented. From Pierre-noel Bouteville (2014-11-27).
- * drivers/wireless/ and include/nuttx/wireless/cc3000.h: A set of 11
- patches correcting issues with the CC3000 networking. All from Jussi
- Kivilinna (2014-11-28). Among these:
- 03/11: CC3000 driver was getting stuck at recv() when remote host
- closed connection and application tried to read data from remotely
- shutdown socket. This patch adds proper handling for remotely closed
- socket event.
- 07/11: Socket state initialization was done in 'register', while it
- should be initialized in 'open' and deinitialized in 'close'. Old
- way caused problems when device is closed, power-cycled and then
- reopened as old socket state was left enabled.
- 08/11: Select thread was getting stuck after 'close, power-cycle,
- reopen', since selectsem was not properly setup and cleaned up.
- 09/11: 'maxFD' was not properly reset in select worker and not checked
- for before calling cc3000_select().
- 10/11: After wlan_stop()/cc3000_close(), irqsem was left with count
- '-1'. Therefore on next wlan_start()/cc3000_open(), initial value
- for irqsem was wrong. Additional repeated wlan_start()/wlan_stop()
- decreased irqsem value further. Obviously this causes driver not to
- function correctly and freeze. Patch moves initialization and
- destruction of waitsem, irqsem and readysem to
- cc3000_open/cc3000_close.
- * include/cxx/cctype: Undefine macros defined ctype.h so that builtin
- C++ implementations will be used intead. From Lorenz Meier
- (2014-11-28).
- * configs/stm3210e-eval/src/stm32_djoystick.c: Add a discrete Joystick
- supportfor the STM3210E-EVAL (2014-11-28).
- * drivers/input/djoystick.c include/nuttx/input/djoystick.h: Add a new
- ioctl to get the supported joystick discrete signals (2014-11-28).
- * drivers/input/ajoystick.c and include/nuttx/input/ajoystick.h. Also
- drivers/input/Kconfig and Make.defs, and include/nuttx/fs/ioctl.h: Add
- an interface definition and upper half driver for an analog joystick
- device. Initial check-in is only a little more of a clone of the
- discrete joystick driver and is as-of-yet untested (2014-11-27).
- * libc/Kconfig, misc/Make.defs, misc/lib_ioctl.c, fs/vfs/fs_ioctl.c,
- include/nuttx/fs/fs.h, include/sys/ioctl.h, syscall.h, and several
- files in syscall/: Add support for a variadic ioctl() function. The
- ioctl() interface is a non-standard, Unix interface. NuttX has always
- used the older, three-parameter version. Most contemporary systems
- now, however, use a variadic form of the ioctl() function. Added an
- option to insert a shim layer to adapt the three-parameter ioctl() to
- use the variadic interface form. Internally, the ioctl handling is
- the same three-parameter logic. The only real complexity to the shim
- is in how the system calls must be handled (2014-11-29).
- * arch/arm/src/stm32/stm32_i2c.c: Port Tridge's I2C noise resilience
- logic from the PX4 repository (2014-11-29).
- * arch/arm/src/stm32/chip/stm32l15xxx_pinmap.h: Fix a typo in the
- MCO pin definition. From Jussi Kivilinna (2014-12-02).
- * arch/arm/src/stm32/stm32_rcc.h: Add missing MCO configuration for
- the STM32L1xxx. From Jussi Kivilinna (2014-12-02).
- * configs/sama5d3-xplained/src/sam_ajoystick.c: Add analog Joystick
- shield support for the SAMA5D3 Xplained board (2014-12-3).
- * configs/ucleo-f4x1re/src/sam_ajoystick.c and sam_adc.c: Add
- analog Joystick shield support for the Nucleo F4x1RE boards. There
- are still some ADC issues to be worke through as of the initial
- commit (2014-12-3).
- * /drivers/eeprom/spi_xx25xx.c and /include/nuttx/eeprom/spi_xx25xx.h:
- Add support for ST Micro EEPROM device geometries. From Sebastien
- Lorquet (2014-12-5).
- * sched/mqueue: msg type should be char * not void * in mq_send,
- mq_timedsend, mq_receive, and mq_timedreceive. Noted by Pierre-Noel
- Bouteville (2014-12-05).
- * fs/mqueue/mq_open.c and sched/mqueue/mq_msgqalloc.c: In message queue
- creation return ENOSPC error if size exceeds the configured size of
- pre-allocated messages; Use ENOSPC vs ENOMEM per OpenGroup.org. From
- Pierre-Noel Bouteville (2014-12-6).
- * Add sys/custom_file.h. Used when CUSTOM_FILE_IO is define and avoids
- re-definition errors about the FILE define. From Thomas Gruber via
- the PX4 repository (2014-12-06).
- * tools/bfd-converter.c and mkdeps.c: Eliminate a warnging about
- redefined strtok_r on some platforms (2014-12-8).
- * arch/sim/Kconfig: Allow building the simulated framebuffer driver
- even if NX is not enabled (12014-12-8).
- * configs/sim/traveler and README.txt: Add a configuration build and test
- the Traveler first person game using the simulator (2014-12-8).
- * arch/arm/src/stm32/chip/stm32f20xxx_pinmap.h and stm32f40xxx_pinmap.h:
- Set the GPIO_SPEED_50MHz on all F2 and F4 SPI pin configurations.
- This is based on an F411 SPI1 errata but the fixed is generalized to
- all SPI and all F2 and F4 (let me know if this introduces any other
- issues). Discovered and fixed by Sebastien Lorquet after much
- consternation (2014-12-8).
- * libc/stdio/lib_avsprintf.c: avsprintf(): Fix a bug in usage of
- va_list on x86. On x86, va_list is a pointer to a single copy on the
- stack. avsprintf() calls lib_vsprintf() twice and so traverses the
- va_list twice using va_start. va_start modifies that single copy on
- the stack so that the second call to lib_vsprintf() fails. This appears
- to be an issue with x86 only so far (2014-12-8).
- * stdint.h: Don't use hex values to specify minimum values of fixed
- width, signed values. Hex values are inherently unsigned and not
- usable for this purpose in all contexts (2014-12-8).
- * arch/arm/src/tiva/tiva_i2c.c, tiva_i2c.h, Kconfig, and Make.defs: Add
- build framework and skeleton files for Tiva I2C driver. Initial
- commit is just the STM32 I2C driver with name changes and STM32-
- specific logic removed (2014-12-9).
- * fs/procfs/fs_procfs.c: Add procfs write support. From Ken Pettit
- (2014-12-9).
- * include/crc8.h, libc/misc/lib_crc8.c, and Make.defs: Add CRC8 support.
- From Ken Pettit (2014-12-9).
- * drivers/mtd/smart.c, Kconfig, fs/smartfs/smartfs_smart.c,
- smartfs_procfs.c, smartfs_utils.c, smartfs.h, Kconfig,
- include/nuttx/fs/ioctl.h, smart.h, and mtd/smart.h: Implements wear-
- leveling in the SmartFS. From Ken Pettit (2014-12-9).
- * arch/arm/src/tiva/tiva_i2c.c: Driver is code complete but still
- untested (2014-12-10).
- * configs/tm4c123g-launchpad/src/tm4c_at24.c, tm4c_bringup.c, and other
- files: Add initialization logic for an external AT24 EEPROM. This
- is intended only to support testing of the Tiva I2C driver
- (2014-12-10).
- * libnx/Makefile, libnx/nxfonts/nxfonts_x11-misc-fixed-*.h, Make.defs,
- Makefile.sources, nxfonts_bitmaps.c, graphics/Kconfig, and
- include/nuttx/nx/nxfonts.h: Lots of fonts that derive from
- X11-misc-fixed-* fonts. Converted for use by NuttX by Pierre-Noel
- Bouteville (2014-12-10).
- * nuttx/drivers/mtd/m25px.c; M25P serial flash driver: Add subsector
- size of the M24P16 part. From Lazlo (2014-12-10).
- * libc/string/lib_strncpy.c: Commit d0c76ccacf0dc8988f9617ad82bf4349f456bb08
- will trash a lot of memory if n == 0. From Yasuhiro Osaki (2014-12-11).
- * arch/arm/src/stm32/stm32_otghsdev.c. Fix for OTGHS device driver
- working in FS mode. From Ken Pettit (2014-12-12).
- * libc/stdio/lib_sscanf.c: Accept %X as well as %x as a format
- specifier. From Sébastien Lorquet (2014-12-12).
- * libc/stdio/lib_sscanf.c: Also accept %F as well as %f (2014-12-12).
- * arch/arm/src/stm32/stm32_otghsdev.c: For STM32 OTG HS DEV (in FS
- mode): Disable ULPI clock enable in RCC AHB1 Register. If Both ULPI
- and the FS clock enable bits are set in FS mode, then the ARM never
- awakens from WFI due to a chip issue. This is only an issue if you
- are using the internal PHY. From Ken Pettit (2014-12-13).
- * drivers/serial/serial.c: In case a thread is doing a blocking
- operation (e.g. read()) on a serial device, while it is being
- terminated by pthread_cancel(), then uart_close() gets called, but
- the semaphore (dev->recv.sem in the above example) is still blocked.
- This means that once the serial device is opened next time, data will
- arrive on the serial port (and driver interrupts handled as normal),
- but the received characters never arrive in the reader thread.
- The problem was fixed by re-initializing the semaphores on the last
- uart_close() on the device. From Harald Welte (2014-12-13).
- * sched/semaphore/sem_recover.c, Make.defs, seamphore.c,
- sched/wdog/wd_recover.c, Make.defs, wdog.h, sched/task/task_recover.c:
- Add logic to clean up after task_delete() or pthread_cancel() if the
- task happens to be waiting on a semaphore when it is cancelled
- (2014-12-13).
- * arch/arm/src/kl/kl_gpioirq.c, Kconfig, Make.defs, and kl_irq.c: Add
- GPIO interrupt capability for the KL architecture. The patch is
- almost the same as kinetis_pinirq.c, just minor modifications and
- rename kl_pinirq to kl_gpioirq to make it more generic to developers.
- From Alan Carvalho de Assis (2014-12-13).
- * arch/sim/src/up_ajoystick.c, Kconfig, Makefile, up_idle.c,
- up_internal.h, up_x11eventloop.c, up_x11framebuffer.c,
- configs/sim/src/Makefile, sim_boot.c, and traveler/defconfig: Add an
- X11 mouse-based simulation of an analog joystick device (2014-12-14).
- * drivers/sensors/adxl345*, include/nuttx/sensors/adxl345.h and other
- files: Add driver support for the ADXL345 accelerometer. From Alan
- Carvalho de Assis (2014-12-16).
- * configs/freedom-kl25z: Add board support for the ADXL345 accelerometer.
- From Alan Carvalho de Assis (2014-12-16).
- * Kconfig, include/debug.h, drivers/sensors/*, and Qencoder logic in
- arch/arm/src/stm32 and various QEncoder board support files under
- config/: Unify sensor debug. ADX driver was using input debug; LM75
- and QENCODE that their own custom debug. Now all use
- CONFIG_DEBUG_SENSOR, sndbg() (2014-12-16).
- * configs/dk-tm4c129x: Initial board support for the Tiva DK-TM4C129x
- Connected Development Kit. The initial commit is just the Tiva
- TM4C123G-Launchpad board support with naming changes (2014-12-16).
- * include/nuttx/sched.h, sched/Kconfig, sched/init/os_start.c,
- sched/pthread/pthread_create.c, sched/task/task_prctl.c,
- sched/task/task_setup.c: strncpy() will not copy the terminating \0
- into the destination if the source is larger than the size of the
- destination. Ensure that the last byte is always zero and let strncpy
- only copy CONFIG_TASK_NAME_SIZE bytes. The issue of unterminated names
- can be observed in ps when creating a pthread while
- CONFIG_TASK_NAME_SIZE is set to 8. From Daniel Willmann (2014-12-17).
- * configs/*/*/defconfig: The previous change increased the task name
- size allocation by one to hold a NUL terminator. This changes reduces
- the configured name size by one so that no additional memory is used
- (2014-12-17).
- * drivers/wireless/cc3000/cc3000.c: CC3000 Fix: Data can be unaligned.
- When dereferenced as an input ntosh(), a bad value is returned.
- Reported by Alan Carvalho de Assis (2014-12-18).
- * configs/freedom-kl25z: Update the Freedom KL25Z board CC3000 support
- to use the current CC300 interfaces. From Alan Carvalho de Assis
- (2014-12-18).
- * arch/arm/src/tiva, include/tiva, and many configurations: Change
- negative Tiva logic CONFIG_TIVA_DISABLE_GPIOx_IRQS to positive logic
- CONFIG_TIVA_GPIOx_IRQ (2014-12-18).
- * arch/arm/src/tiva/Kconfig: Fix configuration logic for IRQ interrupts.
- The various parts support varying numbers of GPIO blocks and with varying
- capabilities to support interrupts on the pins of different GPIO blocks
- (2014-12-18).
- * arch/arm/src/stm32/chip/stm32f40xxx_rcc.h: PLLSAI register name to
- this one in the reference manual. From Marco Krahl (2014-12-19).
- * arch/arm/src/stm32/chip/stm32_ltdc.h: Rename CFBLR register name to
- the name used in the reference manual. From Marco Krahl (2014-12-19).
- * arch/arm/src/stm32/chip/stm32_ltdc.h: Add missing clut register
- definition. From Marco Krahl (2014-12-19).
- * arch/arm/src/stm32/stm32f40xxx_rcc.c: Configure PLLSAI clock to
- enable ltdc register access. From Marco Krahl (2014-12-19).
- * configs/stm32f429i-disco/include/board.h: Update board definition for
- the ili9341 LCD display. This configures all LCD settings for the RGB
- interface. Also adds a customer LCD display template. From Marco Krahl
- (2014-12-19).
- * arch/arm/src/stm32/stm32_ltdc.h: Define a common layer description for
- the ltdc and dma2d controller. From Marco Krahl (2014-12-19).
- * arch/arm/src/stm32/stm32_dma2d.c/.h and related files: Add
- infrastructure for dma2d support. From Marco Krahl (2014-12-19).
- * arch/arm/include/stm32/ltdc.h: Add interface to perform hardware
- accelerated layer operation. The following methods must be supported
- by the implementation: gevideoinfo, getplaneinfo, getlid, setclut,
- getclut, setcolor, getcolor, setcolorkey, getcolorkey, setalpha,
- getalpha, setblendmode, getblendmode, setarea, getarea, and update.
- And if DMA2D is supported: blit and blend. The method up_ltdcgetlayer
- provides access to a reference of a specific ltdc layer. From Marco
- Krahl (2014-12-19).
- * arch/arm/src/stm32/stm32_ltdc.c: Implements ltdc frambuffer support
- for the generic nuttx framebuffer interface, (see nuttx/video/fb.h).
- This also implements the interface to perform hardware accelerated
- layer operation by the ltdc controller and dma2d controller later
- (see nuttx/video/ltdc.h). The following methods are supported by the
- ltdc interface: getvideoinfo, getplaneinfo, getlid, setclut, getclut,
- setcolor, getcolor, setcolorkey, getcolorkey, setalpha, getalpha,
- setblendmode, getblendmode, setarea, getarea, and update. From Marco
- Krahl (2014-12-19).
- * include/nuttx/lcd/ili9341.h: Update interface control definitions.
- From Marco Krahl (2014-12-19).
- * configs/stm32f429i-disco/src/stm32_lcd.c: Add support for
- initializing ltdc framebuffer and the configured lcd display. This
- adds support for initializing of the ltdc controller and the lcd
- device connected on the stm32f429i-disco. The following methods are
- provided for the generic fb interface: up_fbinitialize,
- up_fbgetvplane, and up_fbuninitialize. The following methods are
- provided for the ltdc interface: up_ltdcgetlayer. From Marco Krahl
- (2014-12-19).
- * zrch/arm/src/stm32/Kconfig: Add configuration option for ltdc. This
- adds the following ltdc configuration options: dither support, cmap
- support, is this the right place for CONFIG_FB_CMAP?, support for
- extended ltdc interface. From Marco Krahl (2014-12-19).
- * nuttx/configs/stm32f429i-disco: Enable configuration of framebuffer
- support for the ltdc controller. From Marco Krahl (2014-12-19).
- * configs/stm32f429i-disco/src/stm32_boot.c: Initialize ltdc during
- bootup. From Marco Krahl (2014-12-19).
- * configs/stm32f429i-disco/ltdc: Add default platform configuration to
- test framebuffer support for the ltdc. From Marco Krahl
- (2014-12-19).
- * libnx/nxfonts/nxfonts_getfont.c: A patch to add previous added font
- into nxf_getfonthandle function. From Pierre-Noel Bouteville
- (2014-12-19).
- * arch/arm/src/tiva, include/tiva, and many configurations: Change
- negative Tiva logic CONFIG_SSIx_DISABLE to positive logic
- CONFIG_TIVA_SSIx. Add support for SSI2 and SSI3 (2014-12-21).
- * arch/arm/src/efm32/efm32_pwm.c/.h, efm32_timer.c/.h, and related
- build files: Add support for timer/PWM on the EFM32GG. From
- Pierre-noel Bouteville (2014-12-26).
- * drivers/serial/Kconfig, serial.c, serialirq.c, and
- include/nuttx/serial/serial.h: Add watermark levels to the serial
- RX flow control logic. Modify the rxflowcontrol method to accept
- the number of bytes in the buffer and a boolean indication of which
- watermark was crossed (2014-12-27).
- * sched/semaphore/sem_waitirq.c must be built when signals are disabled.
- That is because not handles not only the case of semaphore wait
- being awakened by a signal, but also the case with sem_timedwait.c
- when the semaphore wait is awakened by a timeout (2014-12-28).
- * arch/arm/src/stm32/stm32_ltdc.c: stm32: Fix faulty access to non-
- existing layer. This disables operation that requires double layer
- support, when configured for single layer only. From Marco Krahl
- (2014-12-29).
- * arch/arm/src/stm32/stm32_ltdc.c: stm32: Fix wait upon vertical blank.
- This should never have occurred before. From Marco Krahl (2014-12-29).
- * configs/stm32f429i-disco/ltdc/defconfig and src/stm32_boot.c:
- stm32f429i-disco: change ltdc initializing during boot up. This moves
- initializing of the ili9341 lcd and ltdc driver to the board specific
- initializing routine. From Marco Krahl (2014-12-29).
- * arch/arm/src/stm32/stm32_ltdc.c: Clean up documentation, some
- formatting improvements. From Marco Krahl (2014-12-29).
- * arch/arm/src/tiva/chip/tiva_ethernet.h, lm3s_ethernet.c, and
- tm4c_ethernet.h: Add logic to discriminate between LM3S class Ethernet
- register definitions and TM4C129X class Ethernet register definitions.
- Add TM4C129X Ethernet register definitions (2014-12-30).
- * arch/arm/src/tiva/tm4c_ethernet.c, lm3s_ethernet.c, Kconfig, and
- Make.defs: First cut at TM4C129X Ethernet driver. Initial commit is
- basically just the STM32 Ethernet driver with modifications for a clean
- compilation in the Tiva environment (2014-12-31).
- * arch/arm/src/stm32/stm32_rtc.c, stm32_rcc.c, Kconfig: Add support for
- the internal low speed clock (LSI) as a source of the RTC clock. Some
- boards do not have the external 32khz oscillator installed, for those
- boards we must fallback to the crummy internal RC clock. Turn on by
- defining CONFIG_RTC_LSICLOCK. From Kevin Hester (2015-01-02).
- * net/tcp/tcp_conn.c: Fix a logic error when CONFIG_NETDEV_MULTINIC is
- selected: net_unlock(flags) will be called will an uninitialized
- variable (2015-01-03).
- * arch/arm/src/tiva/tiva_irq.c: Fix Tiva IRQ control logic; was limited
- to only 64 IRQs. That is a problem for higher numbered IRQs on many
- platforms (2015-01-06).
- * arch/arm/src/stm32/stm32_sdio.c, drivers/mmcsd/mmcsd_sdio.c and Kconfig,
- and include/nuttx/sdio.h: MMCSD SDIO: Add support for a new
- SDWAIT_WRCOMPLETE condition. The previous logic used a busy-wait loop
- to poll the card R1 status to determine when the card was ready for
- the next transfer. That busy-wait can be quite long -- up to hundreds
- of milliseconds. An alternative is to look the SD D0 pin which
- will change state when the card is no longer busy. This change avoids
- the busy-wait poll by reconfiguring the SD D0 pin as a GPIO interrupt,
- then waiting for the card to become ready without taking up CPU
- cycles. This change is conditioned on CONFIG_MMCSD_SDIOWATI_WRCOMPLETE
- and is currently only implemented for the STM32 SDIO driver. From
- David Sidrane (2015-01-08).
- * arch/arm/src/tiva/tiva_timerlib.c and .h: Add a timer library for
- generic support of Tiva timers (2015-01-08).
- * arch/arm/src/tiva/tiva_timerlow32.c: Add a driver lower half for
- drivers/timer.c. Only 32-bit periodic timers are supported. This
- provides userspace access to timers.
- * configs/px4-v2_upstream, Kconfig, README.txt: Remove the px4-v2_upstream
- configuration. Moved to misc/Obsoleted/configs. This was not the
- official configuration for the PX4 board and has led to confusion by
- NuttX users. The board configuration also requires some ongoing
- maintenance and customization to support ongoing PX4 testing and
- evaluation. It is best retained the PX4 repositories where it can be
- properly maintained and not in the upstream NuttX repository
- (2015-01-14).
- * net/netdev/netdev_ioctl.c and include/nuttx/net/ioctl.h: Add support
- for IPv6 ioctls to manipulate IP addresses (2015-01-14).
- * net/icmpv6: Create a future home for ICMPv6 (2015-01-14).
- * net/icmp: Remove all logic conditioned on CONFIG_NET_IPv6
- (2015-01-14).
- * net/, include/nuttx/net, and a few other files: (1) Copied all ICMP
- sources files to net/icmpv6 with proper renaming and removal of IPv4
- logic, (2) remove IPv6 logic from files in net/icmp, (3) copied
- include/nuttx/icmp.h to icmpv6.h and removed IPv4 specific logic, (4)
- removed all IPv6 logic from icmp.h, (5) IP_HDRLEN became IPv4_HDRLEN
- and IPv6_HDRLEN, (6) ip_chksum() became ipv4_chksum() and
- ipv6_chksum(), and (7) added partial support for ICMPv6 statistics
- (2015-01-14).
- * arch/, drivers/net/, include/nuttx/net, and net/devif: (1) Rename
- devif_input() ipv4_input(), (2) copy net/devif/devif_input.c to
- ipv6_input.c, remove all IPv4-specific logic, (3) rename
- net/devif/devif_input.c to ipv4_input.c, remove all IPv6-specific
- logic, and (4) xplit IPv4 header structure out as net_ipv4hdr_s from
- net_iphdr_s (2015-01-15).
- * arch/ and drivers/net: All Ethernet drivers: Call ipv6_input() if
- IPv6 is enabled and an IPv6 packet is received (2015-01-15).
- * net/devif, net/tcp, net/ucp, include/nuttx/net: Separate tcp_input()
- and udp_input() into separate functions tcp_ipv4_input(),
- tcp_ipv6_input(), udp_ipv4_input(), and upd_ipv6_input() than can deal
- will the data offsets caused by the differing sizes of the IP header
- (2015-01-15).
- * net/utils/net_ipv6_maskcmp.c: Add missing implementation of
- net_ipv6_maskcmp() (2015-01-15).
- * Networking: Drivers can have both IPv4 and IPv6 addresses, but a
- socket can only only one or the other; The socket connection
- structures need to include a union of IPv4 and IPv6 addresses for
- the local address binding and for the remote address connections
- (2015-01-16).
- * Networking: Replace all references to net_ipaddr_t with either
- in_addr_t on net_ipv6addr_t. The goal is to support both IPv4 and
- IPv6 simultaneously. This requires that the two types be distinct
- and not conditionally typedef'ed to net_ipaddr_t (2015-01-16).
- * Networking: Replace all references to the macros net_ipaddr_copy,
- net_ipaddr_hdrcopy, net_ipaddr_cmp, net_ipaddr_hdrcmp, and
- net_ipaddr_maskcmp with the appropriate IPv4 or IPv6 version of the
- macro (such as net_ipv4addr_copy). The goal is to support both
- IPv4 and IPv6 simultaneously. This requires that the macros be
- distinct and not conditionally defined to one on or the other
- (2015-01-16).
- * Networking: UDP and TCP MSS depends on the IP header size (as well
- as the link layer header size) and cannot be represented with a
- single value (2015-01-16).
- * net/neighbor: Move net/ipv6 to net/neighbor (2015-01-16).
- * include/net/if.h: Add a bit to the device flags to indicate if the
- device packet buffer holds an IPv4 or an IPv6 domain packet.
- Set/clear the flag along with the correct offset to the application
- payload data as each packet is received (2015-01-17).
- * net/socket, net/tcp, net/udp: Add logic to select the domain of the
- outgoing packet before sending any UDP or TCP packet. This sets the
- bit to indicate the IPv4 or IPv6 domain and the correct offset to the
- output going payload data (2015-01-17).
- * net/socket and net/tcp: When we are ready to receive data or when we
- have outgoing data ready to be sent, we need to the notify the
- appropriate device driver of this condition. The notifying socket
- will be configured as either PF_INET or PF_INET6 and must look up the
- correct driver using the correct IP domain (2015-01-17).
- * net/socket/accept.c: Fix accept() so that it returns the correct IP
- address for the selected socket IP domain (2015-01-17).
- * Networking: Final detangling off IPv4 and IPv6 TCP/UDP send logic.
- The networking subsystem now compiles with IPv6 enabled (2015-01-18).
- * arch/arm/src/tiva/tm4c_ethernet.c: When calling into the stack
- from the worker thread, it is necessary to have the stack locked
- (2015-01-18).
- * nuttx/arch/arm/src/stm32/stm32_serial.c: Fix declaration and
- definition of up_receive() and up_dma_receive() to match fields of
- uart_ops_s from nuttx/include/nuttx/serial/serial.h. From Freddie
- Chopin (2015-01-19).
- * drivers/pipes/pipe.c, drivers/usbdev/cdcacm.c, and
- mm/mm_gran/mm_granalloc.c: Fixes some issues found by the PX4 team
- using Coverity. From Pavel Krienko (2015-01-19).
- * net/icmpv6/icmpv6_solicit.c, net/neighbor/neighbor_out.c, and other
- files: Add logic to search the Neighbor Table and update the
- destination address in the output Ethernet header OR to send an
- ICMPv6 Neighbor Solicitation if there is no entry in the Neighbor
- table for the IPv6 address (2015-01-20).
- * arch/ and drivers/net: Add missing raw/packet socket support to
- all Ethernet driverss (2015-01-20).
- * arch/ and drivers/net: Networking: Modify all Ethernet drivers:
- Do neighbor look-up on all outgoing IPv6 packs in order to properly
- set the destination link layer address (2015-01-20).
- * Networking: When sending ICMPv6 advertisements and solicitations,
- set the NOARP bit so that we don't overwrite the destination MAC
- address (2015-01-20).
- * Many files: Correct name of fields in struct sockaddr_in6: sin6_port
- and sin6_family, not sin_port and sin_family (2015-01-20).
- * net/socket/accept.c: Correct the value returned by accept() in the
- case where net_lockingwait() is called. It was returning -1 and
- losing the errno value. Noted by Rony Xln (2015-01-22).
- * net/: After some significant effort, ICMPv6 and TCP are both
- functional when IPv6 is selected. UDP still requires testing
- (2015-01-22).
- * configs/dk-tm4c129x/ipv6: Add an IPv6-enabled NSH configuration
- (2015-01-23)
- * include/nuttx/net/icmpv6.h and net/icmpv6/icmpv6_ping.c: First cut
- at ICMPv6 ping logic. It works in both directions! (2015-01-23).
- * arch/arm/src/efm32/efm32_rmu.c and .h: Add support for the EFM32
- reset management unit (RMU). From Pierre-noel Bouteville
- (2015-01-23).
- * include/nuttx/math.h: Adds support for the expm1 functions:
- http://pubs.opengroup.org/onlinepubs/009695399/functions/expm1.html.
- From Brennan Ashton (2015-01-23).
- * Many file: Add CONFIG_STACK_COLORATION that does the same thing as
- CONFIG_DEBUG_STACK but without enabling debug. From David Sidrane
- (2015-01-24).
- * Remove CONFIG_DEBUG_STACK. Adding CONFIG_STACK_COLORATION makes
- this configuration option pointless (2015-01-24).
- * net/: Clean up network status collection for IPv6 (2015-01-24).
- * arch/ and configs/: Changes to get USART 2 & 3 working on
- lpc4357-evb. These changes are required to get USART 2 and 3 working
- on the Embest development board. From Toby Duckworth.
- 7.8 2015-02-11 Gregory Nutt <gnutt@nuttx.org>
- * include/nuttx/math.h and libc/math: Add support for inverse
- hyperbolic functions. From Brennan Ashton (2015-01-26).
- * include/nuttx/math.h: Add math library definition for isfinite().
- From Brennan Ashton (2015-01-26).
- * include/nuttx/math.h and libc/math/lib_erf*.c: Add error function
- to math library. From Brennan Ashton (2015-01-26).
- * include/nuttx/math.h and libc/math: Add math library defines for
- nan(), copysign(), and trunc() functions. From Brennan Ashton
- (2015-01-26).
- * sched/wqueue/kwork_process and libc/wqueue/lib_usrthread.c: Fix
- a backward calculation when determining the time to the next event.
- This is a bug in the back-up, "fail safe", work queue timing so it
- not as bad as it seems. From Liio Chen via the PX4 repository
- (2015-01-27).
- * arch/arm/src/stm32/stm32_exti_gpio.c: Disabling any of EXTI 5-9
- interrupts was disabling interrupts for all EXTI 5-9. Same issue with
- EXTI 10-15. From Jussi Kivilinna (2015-01-27).
- * arch/arm/src/stm32/stm32_rtcc.c and Kconfig: Recent changes to
- stm32_rtcc.c do not compile with STM32L15XX configurations. From
- Jussi Kivilinna (2015-01-27).
- * net/local: Add initial support for local, Unix domain sockets.
- Initial support is limited to SOCK_STREAM and is untested on
- initial commit (2014-01-27).
- * net/iob, net/tcp/tcp_callback.c, and include/nuttx/net/iob.h: There
- were issues with the TCP write-ahead buffering if CONFIG_NET_NOINTS was
- enabled: There is a possibility of deadlocks in certain timing conditions.
- I have not seen this with the Tiva driver that I have been users but
- other people claim to see the issue on other platforms. Certainly it
- is a logic error: The network should never wait for TCP read-ahead
- buffering space to be available. It should drop the packets
- immediately. This was fixed by duplicating most of the IOB interfaces:
- The versions that waited are still present (like iob_alloc()), but now
- there are non-waiting versions of the same interfaces (like
- iob_tryalloc()). The TCP read-ahead logic now uses only these non-
- waiting interfaces (2015-01-27).
- * net/tcp/tcp_send_buffered.c and tcp_wrbuffer.c: Fix another deadlock
- condition. tcp_write_buffer_alloc() calls sem_wait() with network
- locked. That worked if CONFIG_NET_NOINTS was not defined because
- interrupts are automatically restored when the wait happens. But
- with CONFIG_NET_NOINTS=y, the wait blocks with the network locked --
- bad style and also can lead to a deadlock condition (2015-01-28).
- * arch/arm/src/armv7-a/arm_memcpy.S and arch/arm/src/armv7-m/up_memcpy.S:
- ARM assembly language memcpy.S's were not returning a value in R0 they
- are required to do. From David Sidrane (2015-01-29).
- * net/local: Extend Unix domain socket support to include support
- for datagram Unix domain sockets (2015-01-29).
- * net/socket/accept.c: Fix a major TCP bug introduced with commit
- e71c09ce9777ff732cb60bd07fb43d85522f79d6. Some connection logic was
- reordered; setting the socket as 'connected' got moved to BEFORE the point
- where the check was made if the socket was already connected. The
- resulting behavior was odd: Telnet would connect, but then when you
- exit and reconnect, it would fail to connect. But then if try again, it
- would connect okay. So the symptom was connect-fail-connect-fail-...
- (2015-01-29).
- * net/socket/net_poll.c, recvfrom.c, and udp/udp_callback.c: Add UDP
- read-ahead support. This enables support for for poll/select on UDP
- sockets and also non-blocking UDP sockets. From Macs N (2015-01-30).
- * net/local/local_netpoll.c, socket/net_poll.c, and udp/udp_netpoll.c:
- Separate out UDP poll logic from net_poll.c into a new udp_netpoll.c;
- Create a skeleton local_netpoll (2015-01-30).
- * net/socket/net_poll.c and tcp/tcp_netpoll.c: Separate TCP poll logic
- out of net_poll.c and move it into the new tcp_netpoll.c (2015-01-30).
- * arch/arm/src/efm32/efm32_clockconfig.c: Logic to unconditionally enable
- LE clocking. Even you don't use core clock LE as source for LFA or LFB,
- to read are write any register not clocked by HFPERCLK or HFCORECLK,
- HFCORECLKLE should be enabled. From Pierre-noel Bouteville (2015-01-30).
- * drivers/net/slip.c: SLIP interface improvements. From Macs N
- (2015-01-30).
- * clock_systimespec(): Fixes for compilation errors in certain
- configurations. From Macs N.
- * drivers/pipes/fifo.c, include/nuttx/fs/ioctl.h, and net/local/local_fifo.c:
- Fix a race condition between FIFO buffer operations and the opening and
- closing of FIFOs which necessary when the FIFOs are used to support
- Unix domain, datagram sockets. The default policy is the deallocate
- FIFO buffering when the last client closes the pipe. When when used
- for datagram communications, packets left in the FIFO will be lost.
- Some like UDP read-ahead is needed: The buffered data in the FIFO
- needs to be retained until the reader gets a chance to re-open the
- FIFO. Added an ioctl (PIPEIOC_POLICY) to control the buffer policy.
- Default (0) is the legacy behavior; Unix domain datagram logic sets
- the alternative policy so that the packet data persists after the FIFO
- is closed (2015-01-30).
- * net/local: Add configuration options so that Unix domain stream and
- datagram support can be separately enabled (2015-01-31).
- * fs/vfs/fs_unlink.c and include/nuttx/fs/fs.h: Add an unlink method to
- both the character and block driver interface. This is important
- because if the driver inode is unlinked and there are no open references
- to the driver, then the driver resources will be stranded. On the unlink
- call, the driver has the opportunity (1) check if there an any open
- references, and if not, (2) free the driver resources (2015-01-31).
- * drivers/pipes: Implement the unlink method. If the pipe/FIFO is
- unlinked, it will marked the pipe/FIFO as unlinked. If/when all open
- references to the driver are closed, all of the driver resources will
- be freed (2015-01-31).
- * arch/avr: Added architecture support for the Atmel AVR ATMega1284P
- MCU. From Jedi Tek'Unum (2015-01-31).
- * configs/moteino-mega: Added support for the LowPowerLab MoteinoMEGA
- that is based on the Atmel AVR ATMega1284P MCU. From Jedi Tek'Unum
- (2015-01-31).
- * EFM32 RTC: RTC driver using BURTC. From Pierre-Noel Bouteville
- (2015-02-01).
- * drivers/ramdisk.c, include/nuttx/fs/ramdisk.h, and other files: Add
- logic to dispose of the driver and RAM buffer when the RAM disk has
- been unlinked and all open references to the RAM disk have been
- closed. Add new parameters to romdisk() to specify what should be
- done with the RAM/ROM buffer -- Should it be freed or not? Changed
- all calls to ramdisk() to use these new parameters (2015-02-01).
- * net/icmpv6/icmpv6_neighbor.c, icmpv6_notify.c (and other files): Adds
- basic logic to support verification that we have the IPv6 address in
- the Neighbor Table. This feature is important because otherwise the
- first packet sent to a remote peer will fail (it will be replaced
- with a Neighbor Solicitation) (2015-01-02).
- * net/arp/arp.h, arp_notify.c, and arp_send.c: Fixes another
- CONFIG_NET_NOINTS issues. When called sem_timedwait() with the
- network locked, the network stays locked while we wait which is not
- what we want (without CONFIG_NET_NOINTS, interrupts are re-enabled
- while we wait and all is well) (2015-02-02).
- * net/icmpv6/icmpv6.h, icmpv6_neighbor.c, icmpv6_notify.c: Apply the
- same fix as for ARP to the Neighbor Solicitation logic (2015-02-02).
- * sched/sched/sched_timerexpiration.c, Kconfig, and include/nuttx/arch.h:
- On my platform I have just 16-bit timer clocked at 32kHz. As result
- oneshot timer max delay is 2s. The patch adds limit of maximum ticks
- in sched_timer_start(). From Macs N (2015-02-03).
- * arch/arm/src/sam34: Add support for Tickless mode of operation for
- the SAM4CM platform. From Macs N (2015-02-03).
- * include/nuttx/net/icmpv6.h and net/icmpv6/Kconfig: Add support for
- sending ICMPv6 Router Solicitation and receiving Router advertisement.
- This is a part of the ICMPv6 auto-configuration logic is still not
- complete (2015-02-03).
- * libnx/nxfonts/nxfonts_getfont.c and nxfonts_sans39x48.h: Fixes a
- problem with one of the font files. From Pierre-noel Bouteville
- (2015-02-03).
- * arch/arm/src/efm32/efm32_rtc_burtc.c: Remove a misbehaving assertion.
- From Pierre-noel Bouteville (2015-02-03).
- * net/icmpv6: Implemented the ICMPv6 Autonomous Auto-Configuration
- logic. This is an IPv6 alternative to DHCP. It obtains the IPv6
- addresses and masks using ICMPv6 Router Solicitation and
- Advertisement messages (2015-02-03).
- * arch/arm/src/stm32/stm32_aes.c, stm32_aes.h, and
- chip/stm32l15xxx_aes.h: Add driver for STM32L162XX AES peripheral.
- From Juha Niskanen (2015-02-04).
- * net/icmpv6/icmpv6_radvertise.c, Kconfig, and other files: Add option
- to send Router Advertisement Messages (2015-02-05).
- * net/icmpv6/icmpv6_input.c, arch/arm/src/tiva/tm4c_ethernet.c, and
- stm32/stm32_eth.c: Add logic to behave like a router (if so
- configured): NuttX will not send the router advertisement message
- in response to any router solicitation messages (2015-02-05).
- * configs/stm32f4discovery/ipv6 and arch/arm/src/stm32/stm32_eth.c: Add
- an IPv6 configuration for the STM32F4-Discovery board (with the
- STM32-DISCO_BB base board). Verify that the STM32 Ethernet driver
- works with IPv6 (2015-02-05).
- * net/icmpv6/icmpv6_input.c and icmpv6_rnotify.c: With these two
- changes both ICMPv6 autonomous autoconfiguration and router
- functionality appear to be working with no problems (2015-02-05).
- * arch/arm/src/tiva and configs/tm4c123g-launchpad: Adds support for
- TM4C123G timers; integrates with the TM4C123G Launchpad. From Calvin
- Maguranis (2015-02-05).
- * arc/arc/src/tiva/tiva_adc.c and .h: Adds a Tiva ADC driver. From
- Calvin Maguranis (2015-02-05).
- * tmv4c123g-launchpad: Add Tiva ADC support to the TM4C123G-Launchpad.
- From Calvin Maguranis (2015-02-05).
- * arch/arm/src/stm32/stm32_spi.c: The source clock for SPI 4,5, and 6
- should be PCLK2, not PCLK1 (for F411, F427, and F429). Per David
- Sidrane (2015-02-07).
- * drivers/syslog/syslog_console.c, include/nuttx/syslog/syslog_console.h,
- and the console device initialization logic for all architectures: Add
- an option to use the syslog'ing device as the system console. This
- option enables a low-level, write-only console device at /dev/console
- (similar to the low-level UART console device). From Pierre-noel
- Bouteville (2015-02-08).
- * net/utils: Clean up and consolidate some clunky stuff in ARP and
- ICMPv6 time waiting logic by adding new net_timedwait() function
- (2015-4-09).
- * arch/arm/src/stm32/stm32_eth.c: Add logic so that STM32 Ethernet
- driver can avoid interrupt level processing and, instead, execute on
- the work thread (2015-4-09).
- * configs/stm32f4discovery/netnsh and ipv6: Convert all STM32F4-
- Discovery configurations (with base board) to configure the Ethernet
- driver to use the work queue (vs. interrupt level processing)
- (2015-4-09).
- * libc/unisted/lib_execl.c: Fix bad logic in counting the number of
- arguments. This could never have worked. Noted by Pierre-noel
- Bouteville (2015-4-09).
- * arch/arm/src/sama5/sam_emacb.c: Add support for Multicast address
- matching and IPv6 in the SAMA5D4 Ethernet driver (2015-02-09).
- * configs/sama5d4-ek/ipv6: Add a configuration for testing IPv6 with
- the SAMA5D4-EK (2015-02-09).
- * arch/arm/src/armv7-a/arm_doirq.c: ARMv7-A interrupt handler should not
- automatically re-enable interrupts on interrupt return. That
- interferes with the driver's ability to manage interrupts (2015-02-09).
- * arch/arm/src/sama5/sam_emacb.c: Add support for CONFIG_NET_NOINTS in
- the SAMA5D4 Ethernet driver so that the driver can operate from the
- work queue thread instead of doing everything from the interrupt level
- (2015-02-09).
- * SAMA5D4-EK: CONFIG_NET_NOINTS is now enabled in the nsh and ipv6
- configurations (2015-02-09).
- * arch/arm/src/a1x, arm, c5471, common, dm320, imx, lpc2378, lpc31xx,
- sama5, str71x, hc/src.common, sh/src/common, x86/src/common,
- z16/src/common, z16f, z80/src/z8: Big, very risky change: Remove all
- occurrences of up_maskack_irq() that disable and enable interrupts
- with up_ack_irq() that only acknowledges the interrupts. This is only
- used in interrupt decoding logic. Also remove the logic that
- unconditionally re-enables interrupts with the interrupt exits. This
- interferes with the drivers ability to control the interrupt state.
- This is a necessary, sweeping, global change and unfortunately
- to test (2015-02-09).
- * mtd/ramtron.c: Table of parts is not terminated properly if
- CONFIG_RAMTRON_FRAM_NON_JEDEC is not defined. Noted by David
- Sidrane (2015-02-09).
- * arch/arm/src/sam34/sam_emac.c, sama5/sam_emaca.c, and sama5/sam_gmac.c:
- Clone the SAMA5D4 IPv6 support to the SAM4E EMAC and SAMAd3 EMAC and
- GMAC drivers (2015-02-09).
- * net/: Lots of build problems introduced into multiple NIC support.
- Many places where conditional logic based on CONFIG_NETDEV_MULTINIC is
- confused with CONFIG_NET_MULTILINK. Lots of code changed with IPv6
- that was never compiled with MULTINIC enabled. Still some problem
- with parameter passing in the MULTINIC configuration(2015-02-09).
- * net/iob/Kconfig: In IOB Configuration, the default number of IOB
- chains must be more than zero is UDP read-ahead is enabled (2015-02-10).
- * net/tcp/tcp_conn.c and udp/udp_conn.c: Fix several build errors/warning
- with IPv4 + IPv6 + multiple networks are enabled (2015-02-10).
- * arch/arm/src/sam34/sam_emac.c: SAM4 Ethernet driver bow supports
- operation using the high priority work queue so that packet processing
- can occur outside of interrupt level processing (2015-02-10).
- * SAM4E-EK: The nsh configuration now configures the Ethernet driver
- for execution on the HP work thread (2015-02-10).
- * arch/arm/src/lpc17xx/lpc17_ethernet.c: Add IPv6 support to the LPC17
- Ethernet driver. Untested... I no longer have a proper environment
- for LPC17 debug (2015-02-10).
- * include/netinet/in.h and libc/net/lib_addrconfig.c: Some extensions
- to netinet/in.h adding some Linux compatible definitions. From Macs N
- (2015-02-11).
- * arch/arm/src/kl: Add architectural support for the K26Z128VLH4 chip.
- From Derek B. Noonburg (2015-02-11).
- * configs/freedom-kl26z: Add board support for the Freedom KL26Z board.
- From Derek B. Noonburg (2015-02-11).
- 7.9 2015-04-14 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/tiva: Add support for the TM4C1294. Contributed by
- Frank Sautter (2015-02-11).
- * configs/tm4c1294-launchpad: Add support for the TM4C1294 Launchpad.
- Contributed by Frank Sautter (2015-02-11).
- * gettimeofday(): Move gettimeofdady() from sched/clock to libc/time.
- Remove gettimeofday() from NuttX system calls. It is only a wrapper
- around clock_settime() and does not need a trap. gettimeofday() is
- no longer treated as a core OS interface (2015-02-12).
- * settimeofday(): gettimeofday has been decrecated in POSIX 2008.
- settimeofday() was never part of POSIX, but I decided to add it to
- libc as well just for symmetry (2015-02-12).
- * drivers/sensors/mpl115a.c and include/nuttx/sensors/mpl115a.h: Add
- driver for the Feescale MPL115A baramoter. From Alan Carvalho de
- Assis (2015-02-12).
- * configs/viewtool-stm32f107: Add support for an optional, add-on
- Freescale MPL115A baramoter. From Alan Carvalho de Assis
- (2015-02-12).
- * sched/clock/clock_systimer.c: Fix a problem in clock_systimer64 that
- occurs when (1) the 64-bit system time is enabled, and (2) the value
- of CONFIG_USEC_PER_TICK is less than 1 milliseconds (such as when using
- the tickless mode of operation). In that case, the conversion of time
- to 64-bit millisecond value in clock_systmer64() causes some bad times
- to be returned. Time was converted to milliseconds, then to configured
- ticks. Precision was lost in the millisecond conversion. The fix is
- to first convert time to a 64-bit microsecond value, then to the
- configured tick value. Noted by David Sidrane (2015-02-13).
- * include/nuttx/rtc.h, arch.h, and arch/*/src/*_rtc.h: Removed all of the
- old, malformed RTC interface definitions from include/nuttx/rtc.h. The
- necessary prototypes have been removed, renamed, scattered to the wind,
- hidden under rocks, -- whatever it takes to make it clear that there is
- no RTC interface callable from application code (2015-02-13).
- * include/nuttx/rtc.h and fs/ioctl.h: Begin the definition of a proper,
- driver based RTC interfaces that is better suited to the architectural
- goals of nuttx (2015-02-13).
- * drivers/timers/timer.c and watchdog.c: Move timer-related drivers from
- drivers/ to drivers/timers (2015-02-13).
- * drivers/timers/rtc.c: Add an RTC upper half driver. This is the driver
- that is documented in include/nutt/rtc.h (2015-02-13).
- * arch/arm/src/stm32/stm32_rtcc.c and stm32_rtc.h: Break out a new internal
- interface, stm32_rtc_setdatetime(). This eliminates some un-necessary
- time conversions. From Freddie Chopin (2015-02-13).
- * arch/arm/src/stm32/stm32_rtc_lowerhalf.c, Make.defs, and stm32_rtc.h: Add
- a skeleton implementation of the RTC lower half interface at
- arch/arm/src/stm32/stm32_rtc_lowerhalf.c. This is just the framework for
- the RTC lower half. None of the interface methods have yet been
- implemented (2015-02-13).
- * net/icmpv6/icmpv6_advertise.c and icmpv6_solicit.c: Add inclusion of
- nuttx/net.h to two files. Without these there can be compilation errors
- in certain configurations. From Max Neklyudov (2015-02-13).
- * net/net_initialize.c, sched/init/os_start.c, and a few other files:
- Divide net_intiialize() into net_setup() and net_initialize() to solve
- a chicken-and-egg problem. net_setup() must be called before
- up_initialize() is called so that networking data structures are ready
- to register new network devices. net_initialize() now does only timer
- related operations and is called AFTER up_initialize() where the timers
- are configured. Problem note by Max Neklyudov (2015-02-14).
- * include/time.h and sys/time.h: Move struct timeval from include/time.h
- to include/sys/time.h where it belongs (2015-02-15).
- * arch/arm/src/stm32/stm32_rtcc.c, stm32_rtc.h, and Kconfig: Extend the
- RTC interface to support reading subseconds. From Jussi Kivilinna
- (2015-02-16).
- * arch/arm/src/efm32/efm32_usbdev.c: EFM32 USB Device is now basically
- functional with this change. From Pierre-noel Bouteville (2015-02-16).
- * include/nuttx/net/ip.h: Move macros and common logic for IPv4-mapped
- IPv6 addresses from files in net/ to include/nuttx/ip.h. These are
- currently only used for UDP, but will need to be be used in many places
- in the future (2015-02-17).
- * includes/nuttx/compiler.h: Add support for the restrict keyword
- (2015-02-17).
- * include/netdb.h: Add a mostly-commented-out version of the standard
- netdb.h header file (2015-02-17).
- * arch/arm/src/tiva/: Updated files to allow for ADC triggering by the
- timer. I’ve cleaned up some parts of the ADC code, too, and fleshed
- out the PWM triggering ioctl. From Calvin Maguranis (2015-02-17).
- * configs/tm4c123g-launchpad: Add ADC support. From Calvin Maguranis
- (2015-02-17).
- * fs/fat/fs_mkfatfs.c: Use DMA memory for mkfatfs when needed. This makes
- mkfatfs use fat_dma_alloc() when CONFIG_FAT_DMAMEMORY is set. This is
- needed to ensure mkfatfs operates with boards that use DMA for microSD.
- From Andrew Tridgell via the PX4/NuttX repository (2015-02-17).
- * include/nuttx/rtc.h, fs/fs.h, drivers/ramdisk.c, pipes/, and
- timers/rtc.c: The inode unlink method should not be support if
- operations on the root pseudo-filesystem are disabled (2015-02-18).
- * include/nuttx/sched timing functions: Fix some nanosecond comparisons.
- Comparisons should be greate than OR EQUAL TO 1000000000 for maximum
- value of nanoseconds in struct tm. From Juha Niskanen (2015-02-20).
- * tm4c123g-launchpad: Add board button interrupt logic. From Calvin
- Maguranis (2015-02-20).
- * "Tiva: Move GPIO prototypes out of arch/arm/include/tiva/irq.h to
- arch/arm/tiva/tiva_gpio.h where they belong (2015-02-20).
- * arch/arm/src/tiva: Tiva GPIO clean-up by Calvin Maguranis (2015-02-20).
- * arch/arm/src/stm32/stm32_pwr.c, stm32_pwr.h, and stm32_rtcc.c: Changes
- to support fully write protecting the backup domain. N.B.
- stm32_pwr_enablebkp did not account for the delay from enable to the
- domain being writable. The KISS solution is a up_udelay. A more
- complex solution would be a negated write test with restore. From
- David Sidrane (2015-02-21).
- * arch/arm/src/stm32/stm32_bbsram.c, stm32_bbsram.h, Kconfig, and
- Make.defs: Adds the ability to use the STM32F2 and STM32F4 Battery
- Backedup SRAM in the file system. With an option to Save Panic
- context to one of the files. From David Sidrane (2015-02-21).
- * configs/pic32mx-starterkit: Rename from pic32-starterkit to make
- room on the namespace for a pic3mz-starterkit. Update src/ directory
- file naming to match current standard. Refresh configurations. Move
- linker scripts to a new scripts/directory. Make sure that it builds
- using the Pinquino toolchain (2015-02-21).
- * arch/mips/src/mips32/Toolchain.mk: Current Pinguino toolchain uses
- the prefix p32- instead of mips- (2015-02-21).
- * configs/pic32mz-starterkit: Add basic board support for the PIC32MZ
- (can't build yet of course because there is not yet any PIC32MZ
- support) (2015-02-22).
- * arch/mips/src/pic32mz and include/pic32mz: Add some PIC32MZ header
- file definitions and just enough logic in the source directory so
- that we can run 'make menuconfig'. Still a very long way from being
- complete (2015-02-22).
- * libc/time/lib/lib_sfrtime.c: Missing implementation of %C in
- sfrtime() C (was being treated as %y). From Freddie Chopin
- (2015-02-23).
- * drivers/can.c: In the can_open function: this line
- 'dev->cd_ocount = tmp;' needs to be moved a few lines down otherwise
- the open count will only be incremented from 0 to 1. This causes
- problems when trying to open the can bus from two different tasks.
- SourceForge Patch #46 from Anonymous (2015-02-23).
- * Tiva TM4c1294: Updates from Frank Sautter (2015-02-24).
- * fs/aio: correct some backward tests in aio_read() and aio_write():
- Socket descriptors have higher numbers than file descriptors. In
- aio_contain(), Copy u.ptr (void *) when initializing aioc and not
- the case specific u.aioc_filep. From Michal Ulianko (2015-02-24).
- * include/pthread.h: Fix PTHREAD_COND_INITIALIZER (2015-02-24).
- * sched/clock/clock_systimespec.c: When an RTC is used clock_systimespec()
- must subtract the basetime from the returned time. It needs to
- return the time since power up, no the current time. Issue noted
- by Max Neklyudov (2015-02-25).
- * fs/vfs/fs_select.c and sched/semaphore/sem_timedwait.c: Fix places
- where the errno value was being overwritten by subsequent actions so
- that the returned errno value was incorrect. From Max Neklyudov
- (2015-02-25).
- * include/sys/select.h: Extend the fd_set type definition so that it
- can handle more than 32 descriptors (if so configured). From Max
- Neklyudov (2015-02-25).
- * net/netdev/netdev_unregister.c: Fix a list handling error in
- netdev_unregister(). From Max Neklyudov (2015-02-27).
- * net/netdev/netdev_register.c: Improve the network device registration
- logic. When multiple link types are used, modify how each interface
- number is assigned to the device name by incrementing the device
- number individually for each interface link type. From Max Neklyudov
- (2015-02-27).
- * include/nuttx/board.h: Remove common board function prototypes from
- other files and consolidate them in this new header file (2015-02-27).
- * arch/mips/src/pic32mz/: Implement support IO port interrupts
- (2015-03-01).
- * configs/pic32mz-starterkit/src: Add support for on-board buttons
- (2015-03-01).
- * include/nuttx/spi/spi.h: Add an SPIDEV_USER so that there can be
- board-specific definitions of SPI devices (2015-03-01).
- * arch/arm/src/stm32 and arch/arm/src/stm32: Adds architecture support
- for the STM32F372 and F373 (no board support yet). Only tested on
- STM32F373CC, but should work on the rest. Contributed by Marten
- Svanfeldt (2015-03-01).
- * arch/mips/src/pic32mz/pic32mz-spi.c and chip/pic32mz-spi.h: Add
- support for a basic SPI driver for the PIC32MZ (2015-03-03).
- * include/nuttx/i2c.h: Add a user provided void * argument to the
- I2C callback method for the I2C slave interface. Suggested by
- Nate Weibley (2015-03-03).
- * crypto/, include/nuttx/crypto, and arm/src/common/up_initialize.c:
- Fix issues when AES support was added for the STM32L1. From Juha
- Niskanen (2015-03-04).
- * arch/arm/src/stm32/stm32_spi.c and .h: Add missing SPI callback
- functions to the STM32 SPI driver. From Freddie Chopin (2015-03-04).
- * arch/*/src/*/*_assert.c, configs/Kconfig, and include/nuttx/board.h:
- Add support for dumping board-specific information on assertion.
- From David Sidrane (2015-03-04).
- * drivers/spi/Kconfig: Add missing CONFIG_SPI_CALLBACK selection. Noted
- by Freddie Chopin (2015-03-04).
- * arch/arm/src/samv7 and include/samv7: Add basic build directories
- and configuration logic for the Atmel SAMV7 family (2015-03-05).
- * arch/arm/src/Makefile, armv7-m/Toolchain.defs: Make ARM build system
- Cortex-M7 ready (2015-03-05).
- * arch/arm/src/sam34/sam_start.c: Leverage start-up logic from STM32
- to (1) Enable the FPU and (2) perform IDLE stack coloration
- (2015-03-05).
- * arch/arm/src/armv7-m/up_lazyexception.S, Kconfig and severl other
- files: Add support for lazy FPU state saving. Not yet verified.
- (2015-03-06).
- * arch/arm/Kconfig, Make.defs, sam_start.c, configs/Kconfig,
- samv71-xult: Add a bare bones framework that will do nothing more than
- support configuration for the Atmel SAMV71 Xplained Ultra board. Very
- much a work in progress (2015-03-06).
- * sched/mqueue/mq_timedsend.c: Should not check for valid time if
- there is space in the message queue. Noted by Freddie Chopin
- (2015-03-10).
- * arch/arm/src/tiva/tiva_timerlib.c: Fix a typo in peripheral wait
- logic: gptm, not gpio. From Bradley Noyes (2015-03-10).
- * drivers/net/tun.c, Make.defs, include/nuttx/net/net.h, tun.h, and
- net/Kconfig: Add TUN device. From Max Neklyudov (2015-03-11).
- * fs/fat/fs_fat32.c: fat_unbind() was accessing 'fs->fs_sem' after
- freeing the 'fs' struct. From Juha Niskanen (2015-03-11).
- * fs/procfs/fs_procfsproc.c: fs_procfsproc: Fix potential NULL pointer
- dereference of 'node'. From Juha Niskanen (2015-03-12).
- * sched/sched/sched_waitpid.c: Do not use uninitialized boolean in
- waitpid(). From Juha Niskanen (2015-03-12).
- * libc/stdio/lib_ungetc.c:Fix NULL pointer dereference in ungetc().
- If 'stream' was NULL, 'stream->fs_oflags' was evaluated. From Juha
- Niskanen (2015-03-12).
- * arch/arm/src/stm32/stm32_i2c.c: Add missing NULL check. From Juha
- Niskanen (2015-03-12).
- * drivers/usbdev/usbmsc_scsi.c: Add NULL pointer check. From Juha
- Niskanen (2015-03-12).
- * drivers/bch/bchdev_driver.c: Avoid NULL pointer dereference when
- bch->refs == 255. From Juha Niskanen (2015-03-12).
- * arch/arm/src/armv7-m/mpu.h: Bad syntax in ARMv7-M MPU logic would
- cause failure to write the correct value to the MPU_RASR register.
- From Juha Niskanen (2015-03-12).
- * net/socket/net_dupsd.c: Do not call sockfd_socket() twice. From
- Juha Niskanen (2015-03-12).
- * arch/arm/src/stm32/stm32_usbdev.c: Fix stale initialization
- invalidating later NULL check. From Juha Niskanen (2015-03-12).
- * arch/arm/src/stm32/stm32_serial.c and chip/stm32f10xxx_dma.h: Fix
- RX DMA setup for UART5. From Jussi Kivilinna (2015-03-13).
- * arch/arm/src/stm32/stm32_serial.c: Make input hardware flow-control
- work with RX DMA. From Jussi Kivilinna (2015-03-13).
- * drivers/pipes/pipe_common.c: Fix zero-lenth writes to pipes/FIFOs.
- From Jussi Kivilinna (2015-03-13).
- * drivers/serial/serial.c: Report correct number of bytes free in
- serial buffer with FIONWRITE. From Sami Pelkonen via Jussi Kivilinna
- (2015-03-13).
- * drivers/mmcsd/mmcsd_spi.c: Debugging and manuals (this one
- https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf
- and this one https://www.sdcard.org/downloads/pls/simplified_specs/part1_410.pdf)
- shows that ACMD23 must be preceded with CMD55 command as any other
- ACMD commands. Also, after the block reading wait loop must be
- inserted before writing the next block of data to the sd card. From
- Dmitry Nikolaev via Jussi Kivilinna (2015-03-13).
- * arch/arm/src/efm32/efm32_i2c.c: Add I2C driver. From Pierre-noel
- Bouteville (2015-03-14).
- * fs/mount/, include.sys/mount, syscall/: Add umount2(). umount() is
- now a macro that just calls umount2() with flags = 0 (2015-03-14).
- * fs/mount/fs_umount2.c, all file systems, include/nuttx/fs/fs.h: Pass
- the umount2() flags to every unbind() implementation. That is where
- the decision to umount or not will be made (2015-03-14).
- * fs/fat/fs_fat32.c: Fix a bug in the FAT unbind() logic. There were
- problems with the way certain internal list handling was implemented.
- The end result is that newly opened or cloned file structures were
- never being added to the list of open files. So when the unmount()
- happens, it always looked like there were not open files and a crash
- could ensue (2015-03-14).
- * fs/fat/fs_fat32.c and fs_fat32.h: Add support for umount2(target,
- MNT_FORCE) in the FAT file system (2015-03-15).
- * drivers/mmcsd/mmcsd_sdio.c: Fix some bad logic when file system debug
- is turned on: Arguments to syslog were missing so that garbage was
- being printed (2015-03-15).
- * arch/arm/src/sama5/sam_hsmci.c: Fix a bug in SAMA5 HSMCI. The
- bitfield mask and shift values were reversed resulting in a trashed
- value for the number of blocks in the BLOCKR register. This was
- sufficient to prevent DMA writes from working (2015-03-15).
- * drivers/mtd/at24xx.c, Kconfig, and include/nuttx/fs/ioctl.h: Add
- support for (1) the byte-oriented read() method, (2) devices that
- have extended memory regions, and (3) devices that use 8-bit
- addressing (2015-03-17).
- * arch/mips/src/mips32/Kconfig, Toolchain.defs, and
- configs/pic32mz-starterkit/nsh/Make.defs: Changes that will permit
- building of the PIC32MZ Start Kit configuration using MPLAB and the
- XC32 toolchain. From David Sidrane (2015-03-17).
- * arch/arm/src/stm32/stm32_rtc_lowerhalf.c: Fix some errors in the
- STM32 RTC lower-half driver that cause compilation failures. From
- shilo.xyz (2015-03-19).
- * arch/arm/src/sama5/chip/sam_tc.h: Fix typos in timer/counter header
- file. From Bob Doiron (2015-03-20).
- * configs/olimexino-stm32: Board support for the Olimexino STM32 board
- from David Sidrane (2015-03-20).
- * PIC32MZ: Incorporated a set of patches that makes the basic NSH
- configuration on the PIC32MZ Starter Kit. From Kristopher Tate
- (2015-03-22).
- * arch/arm/src/tiva: (1) ADC driver has been re-organized; configuration
- is now handled in code instead of Kconfig to help reduce bloat and
- confusion. (2) Timer changed to remove ADC coupling in Kconfig to code
- and moved configuration up from arch/arm/src/tiva to
- configs/tm4c123g-launchpad/src. (3) GPIO driver needed small fixes in
- the configuration routines and discovered false-positive bugs in
- interrupt testing: interrupts are now verified to actually be working
- reliably. (4) Attempt to apply some consistency in the tiva arch/
- level's interface to the config/board/ level driver configuration.
- From Calvin Maguranis (2015-03-23).
- * arch/mips/src/pic32mz: Various fixes for Ethernet support. Still
- not fully functional. From Kristopher Tate (2015-030-29).
- * arch/arm/src/armv7-m: Add configuration option and logic to support
- the D-Cache in write-through mode (2015-03-29).
- * arch/arm/src/stm32/Kconfig, stm32_lse.c, stm32_lsi.c, stm32_rtc.c/.h,
- stm32_rtcc.c, stm32_rtcounter.c, and stm32f*_rcc.c: The
- STM32F4Discovery board doesn't come with a Low speed external
- oscillator so the default LSE source for the RTC doesn't work. In
- stm32_rtcc.c the up_rtc_initialize() logic doesn't work with the LSI.
- The check on RTC_MAGIC on the BK0R register lead to rtc_setup() call
- that rightfully enables the lsi clock; but the next times, when the
- rtc is already setup, the rtc_resume() call does NOT start the lsi
- clock! The right place to put LSE/LSI initialization is inside
- stm32_stdclockconfig() in stm32fxxxxx_rcc.c. Doing this I checked
- the possible uses of the LSI and the LSE sources: the LSI can be used
- for RTC and/or the IWDG, while the LSE only for the RTC (and to output
- the MCO1 pin). This change is not verifed for any other platforms.
- From Leo Aloe3132
- * Rename arch_nshinitialize() to board_app_initialize() (2015-03-30).
- * ./*.mk, configs/.gitignore, Makefile, boardctl.c, include/nuttx/fs/ioctl,
- include/sys/boardctl.h, syscall.h, and syscall/: Add a new non-
- standard OS interface called boardctl(). This is similar to a driver
- IOCTL call. But this is an IOCTL call directly on the board logic.
- This function will eventually replace all of the ad hoc OS interfaces
- that are current used to perform application specific initialization
- and application driver test configuration. It essentially formalizes
- and institutionalizes these rogue interface in to at least a single
- crazy call (2015-03-31).
- * configs/: Modify all configurations: Make sure that
- CONFIG_LIB_BOARDCTL=y appears wherever CONFIG_NSH_ARCHINIT=y appears.
- Remove support for CONFIG_NSH_ARCHMAC. It is not used and there are
- better ways to do that operation (2015-03-31).
- * configs/Kconfig, boardctl.c, all touchscreen driver setup functions,
- include/board.h, include/sys/boardctl.h, and
- include/nuttx/input/touchscreen.h: arch_tcinitialize() and
- arch_tcunitinitialize() renamed to board_tsc_setup() and
- board_tsc_teardown(). These are not long called directly by
- applications but only indirectly throught the crappy boardctl() OS
- interface (2015-03-31).
- * configs/Kconfig, boardctl.c, include/nuttx/board.h, include/sys/boardctl.h,
- and several ADC files in configs/<board>/src/: Rename adc_devinit() to
- board_adc_setup(). Add support to the boardctl() interface so that it
- can call board_adc_setup() on behalf of an application. Make sure that
- the proper features are enabled in the defconfig files that have
- CONFIG_EXAMPLES_ADC=y (2015-03-31).
- * configs/*/defconfig: Make sure that all defconfig files that require
- external graphics intiialization also enable the correct boarctl()
- settings (2015-03-31).
- * include/nuttx/board.h, include/sys/boardctl.h, nuttx/configs/Kconfig and
- boardctl.c, and board configurations and PWM implementations: Rename
- pwm_devinit() to board_pwm_setup(). Add CONFIG_BOARDCTL_PWMTEST that
- will enable calling board_pwm_setup() from boardctl(). In all
- configurations that enable the apps/examples/pwm test, make sure that
- boardctl() support is properly enabled (2015-03-31).
- * Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/.
- (2015-04-01).
- * drivers/timer/cs2100-cp.c and include/nuttx/timers/cs2100-cp.h: Add a
- very basic driver for the CS2100-CP Fractional-N Multipler chip (2015-04-02).
- * configs/, graphics/, include/nuttx: More renaming: up_lcdinitialize->board_lcd_initialize,
- up_lcdgetdev->board_lcd_getdev, up_lcduninitialize->board_lcd_uninitialize
- (2015-04-04).
- * include/nuttx/nx, libnx/nx, libnx/nxtk: Add a new 'capped' parameter to
- nx_drawline(), nxtk_drawlinetoolbar(), and nxtk_drawlinewindow()
- (2015-04-05).
- * libnx/nx/nx_drawline.c, libnx/nxtk/nxtk_drawlinetoolbar.c and
- nxtk_drawlinewindow.c: Implement line caps by drawing a file circle at
- the each endpoint of a line with a radius equal to half of the width
- of the line (2015-04-05).
- * include/time.h, nuttx/time.h, libc/time/lib_dayofweek.c and
- lib_gmtimer.c: Implements CONFIG_TIME_EXTENDED as we discussed
- relative to providing the last 3 members of the tm struct and support
- for filling them in and even using the wday in the STM32 RTC. From
- David Sidrane.
- * arch/arm/src/sam34/sam_serial.c and samv7/sam_serial.c: A side-effect
- of changing serial settings via TERMIOS (such as tcsetattr) is that
- serial interrupts were being left disabled. This is not a problem if
- the serial configuration is changed when there are no open references
- to the serial device. In that case, serial interrupts are disabled and
- will not be enabled enabled until the serial device is first opened.
- But it is fatal if the serial device is already opened and if there is
- a task waiting to receive data. In that case, the side-effect of
- disabling interrupts is fatal: That task is then left hanging with
- interrupts disabled (2015-04-08)
- * arch/arm/src/sama5/sam_serial.c: Backport support for flowcontrol and
- termios from SAM3/4 -- UNVERIFIED. (2015-04-08).
- * arch/arm/src/sam34/sam_serial.c and samv7/sam_serial.c: The IMR
- register is read-only. This means that sam_restoreints() did not
- actually re-enable UART interrupts (2015-04-08).
- * sigaddset() and sigdelset(): Need to set errno if a bad signal number
- is received (2015-04-09).
- * sighold(), sigrelse(), sigignore(), sigset() and sigpause(): New
- signal handling functions (2015-04-09).
- * Fixes to asinh(), atanh(), and sinh(): The 'basic' expansions all
- exhibited bad cancellation errors near zero (<= 1E-10). This can be
- easily seen e.g. with x = 1E-30, the results are all zero though they
- should be extremely close to x. The cutoff values (1E-5, 1E-9) are
- chosen so that the next term in the Taylor series is negligible (for
- double). Functions could maybe be optimized to use only first term (x)
- and a smaller cutoff, just bigger than where the cancellation occurs
- (2015-04-09).
- * syscall/syscall.csv: Last changes to message queue prototypes did not
- make it into call gate logic (2015-04-09).
- * syscall/syscall_stublookup.c: Fix some errors that crept in recently
- (2015-04-09).
- * libc/time/lib_localtime.c: Inconsistent configuration name:
- CONFIG_LIBC_TZDIR vs CONFIG_LIBC_TZ_TZDIR. Former wins (2015-04-11).
- * libc/time/lib_calendar2utc.c and lib_mktime.c: Fix an error in time
- initialization when there is not RTC and the time is initialized from
- a fixed configured value. The call to clock_calendar2utc() was
- returning the time in units of seconds. The initialization logic,
- however, was expecting to get time in units of days. This problem
- has been there forever but obviously has not significant impact to
- behavior in systems where time is not visible (2015-04-12).
- * fs/fat/fs_fat32utils.c: Fix misthink when CONFIG_ENDIAN_BIG=y. From
- Lwazi Dube (2015-04-12).
- * include/nuttx/net/netdev.h, net/devif/ipv6_input.c,
- icmpv6/icmpv6_rsolicit.c and net/icmpv6/icmpv6_solicit.c: Use common
- macro(s) for calculating link layer header length. From Brennan
- Ashton (2015-04-13).
- * apps/netutils/pppd/Kconfig, pppd.c, and ntpv3.h (removed): Remove
- ntpclient header file in and NTP client references from the pppd
- dir. From Brennan Ashton (2015-04-13).
- * configs/galileo: Remove all references to the Galileo board. That
- port is not going to happen (I don't even have the hardware anymore)
- (2015-04-13).
- * drivers/input/max11802.c: Fix possible unmatched IRQ restore. Noted
- by Juha Niskanen (2015-04-14).
- * atexit(): Fix reference to undefined variable in certain
- configurations. From Juha Niskanen (2015-04-14).
- 7.10 2015-06-09 Gregory Nutt <gnutt@nuttx.org>
- * configs/sim/src/sim.h, sim_zoneinfo.c, Makefile, and sim_boot.c: Add
- logic to test localtime and TZ database. See apps/system/README.txt
- for info (2015-04-15).
- * libc/Kconfig: Fix defaults for timezone limits. They need to be much
- larger (2015-04-15).
- * Watchdog files: Fix repeated typo wachog.h in several watchdog
- drivers (2015-04-15).
- * configs/boardctl.c and Kconfig: Add missing causing that caused
- failures of PWM test (2015-04-15).
- * arch/arm/src/stm32: Defines a second interface for the dma2d controller.
- Controlling both LTDC and DMA2D was unpractical from the programmers
- view because both controllers are to different. LTDC only controls the
- display visibility but the DMA2D controller changes the content of the
- frame buffer (buffer of the layer).
- The main features are:
- 1. DMA2D interface
- Supports the nuttx pixel formats:
- - FB_FMT_RGB8
- - FB_FMT_RGB24
- - FB_FMT_RGB16_565
- Dynamic layer allocation during runtime for the supported formats
- - The number of allocatable layer can be configured.
- Supported dma2d operation:
- - blit (Copy content from source to destination layer) also works
- with selectable area.
- - blend (Blend two layer and copy the result to a destination layer
- which canbe a third layer or one of the source layer) also works
- awith selectablerea.
- - fillarea (Fill a defined area of the whole layer with a specific
- color)
- As a result of that the dma2d controller can't transfer data from the
- core coupled memory, CCM is disabled but usable by the ccm allocator.
- Currently the ccm allocator is used for allocating the layer structure
- only. For the dma memory (layers frame buffer) memory is allocated from
- heap 2 and 3.
- 2. LTDC interface
- I have changed the api for the currently non implemented operations:
- - blit (Copy content from a dma2d layer to an ltdc layer) also works with
- selectable area.
- - blend (Blend two dma2d layer and copy the result to a destination ltdc
- layer) also works with selectable area.
- Note! ltdc layer is a layer referenced by the ltdc interface. dma2d layer
- is a layer referenced by the dma2d interface.
- One of the most important questions for me was, How can i flexible use an
- ltdc layer with the dma2d interface, e.g. as source layer for dma2d
- operations?
- Get the layer id of the related dma2d layer by a special flag when using
- getlid() function of the ltdc interface and use the layer id to reference
- the specific dma2d layer by the dma2d interface.
- The ltdc coupled dma2d layers are predefined and can't be dynamically
- allocated of freed. They use the same frame buffer memory and the same
- color lookup table.
- Changes:
- - layer internal format of the clut table
- - interrupt handling for register reload (vertical vblank) instead using
- waiting loop
- - small fixes and refactoring
- From Marco Krahl (2015-04-16).
- * Add support for the new DMA2D features to the STM32F429i-Disco LTDC
- configuration. From Marco Krahl (2015-04-16).
- * stdlib.h: MAX_RAND should be RAND_MAX (2015-04-16).
- * STM32F429i Disco: (1) Fix a bad return value if the LCD driver is already
- initialized. (2) The LCD driver initialization is now performed during the
- early boot sequence. (3) Increased the size of the message queue from 32
- to 64 in the lcd configuration. From Marco, ocram.lhark@yahoo.com
- (2015-04-17).
- * STM23 RTC: Fix an error introduced into stm32_pwr_enablebkp(). That
- function must preserve the previous state of backup domain access on
- return (2015-04-19).
- * include/nuttx/usb/hub.h: Add USB hub header file from Kaushal Parikh
- (2015-04-18).
- * drivers/usbhost/usbhost_hub.c: Bring in USB hub-related files from
- https://github.com/kaushalparikh/nuttx. This is the work of Kaushal
- Parikh. This initial commit is incomplete. This is quite a bit more
- hub logic that needs to come in before the port is complete
- (2015-04-18).
- * arch/arm/src/stm32/stm32_rtcounter.c: Now need to enable backup
- domain write access when setting the time. From Darcy Gong (2015-04-19).
- * include/nuttx/usb/usbhost.h: Bring in more logic from
- https://github.com/kaushalparikh/nuttx (2015-04-19).
- * drivers/usbhost/usbhost_enumerate.c: Last of USB hub logic from
- https://github.com/kaushalparikh/nuttx (2015-04-19).
- * include/time.h: Add prototypes for localtime() and localtimer_r()
- (2015-04-21).
- * include/assert.h: Wrap definitions of assertion macros in do while.
- Suggested by orbitalfox (2015-04-22).
- * sched/semaphore/sem_wait.c: Missing comma on debug statement caused
- compile error with DEBUG on. Why hasn't that been noted before?
- (2015-04-23).
- * drivers/lcd and include/nuttx/drivers: RA8875 LCD driver contributed
- by Marten Svanfeldt (2015-04-24).
- * arch/arm/src/stm32/chip/stm32_pwr.c and .h: Adds support for STM32's
- Programmable Voltage Detector (PVD) feature. Register access is behind
- CONFIG_STM32_ENERGYLITE as the feature has not been verified for
- F1/F2/F4 etc. manuals. Tested on STM32L1. PVD interrupt looks generic,
- at least #defines it needs are in headers for every chip variant. By
- Dmitry Nikolaev, submitted by Juha Niskanen (2015-04-28).
- * arch/arm/src/stm32/chip/stm32_exti.h, stm32f30xxx_memorymap.h, and
- stm32f37xxx_memorymap.h: Added missing EXTI definitions for the STM32
- F3; Correct an error the port D base address in the STM32 F30x and F37x
- memory maps. From Greg Meiste (2015-05-01).
- * arch/arm/src/lpc17xx/lpc176x_gpio.c: Reorder steps when an output
- GPIO is configured in order to avoid transient bad values from being
- output. From Hal Glenn (2015-05-02).
- * arch/arm/src/stm32/stm32_otgfsdev.c and stm32_otghsdev.c: Add
- protection in the event that out-of-bound endpoint numbers are
- received. From David Sidrane (2015-05-02).
- * USB host: Merged in the USB hub support that has been happening on
- a separate branch up until this point. The interfaces are complete
- and most platforms have been verified (still a little to be done
- however). (2015-05-02)
- * arch/arm/src/lpc31xx/lpc31_ehci.c, chip.h, sama5/sam_ehci.c, and
- chip.h: Fix cache related problem in LPC31 and SAMA5Dx EHCI drivers.
- All buffers are now aligned with the cache line size in both starting
- address and in length. This cause major problems in unlucky builds
- where the USB host buffers where unaligned and abutting other data.
- The cache flush and invalidate operations could be subverted by
- accesses to adjacent data or could have unexpected side effects. This
- bug has been in the ECHI drivers forever, but was only revealed due to
- unlucky memory allocations during the integration of the hub feature
- (2015-05-03).
- * arch/arm/src/lpc17xx/lpc17_usbhost.c: Correct some initialization of
- data structures. When hub support is enabled, it would overwrite the
- end of an array and clobber some OS data structures (2015-05-03).
- * configs/olimex-lpc1766stk: Make stacks usage configurable for USB
- host waiter. It needs to be a lot deeper when hub support is enabled
- (2015-05-03).
- * fs/vfs/fs_poll.c: Fix resource leak and memory corruption on poll
- failure. From Jussi Kivilinna (2015-05-04).
- * All USB host drivers in arch/ and all USB class drivers in drivers/usbhost:
- Modify the transfer() and asynch() methods so that the actual size of
- the transfer is returned. Unverified on initial commit (2015-05-05).
- * drivers/usbhost/usbhost_cdcacm.c: Add initial implementation of a host-
- side CDC/ACM driver. Completely untested on initial commit (2015-05-06).
- * configs/, drivers/usbhost/usbhost_storage.c, and included/nuttx/usb/usbhost.h:
- Rename usbhost_storageinit() to usbhost_msc_initialize(). Add calls
- to usbhost_cdcacm_initialize() if CONFIG_USBHOST_CDCACM is selected
- (2015-05-06).
- * arch/arm/include/kl and src/kl: Add support for the KL25Z64. The
- KL25Z64 is a lower memory variant of the KL25Z128 and is used on the
- Teensy LC. From Michael as SourceForge patch 50 (2015-05-07)
- * configs/teensy-lc and related board support files: Add board support
- for the Teensy LC board. Support is based off the Freedom KL25Z board.
- LED, PWM, and UART0 have been tested. The SPI pins are mapped
- correctly but have not yet been tested. From Michael Hope as
- SourceForge patch 51 (2015-05-07).
- * arch/arm/src/kl/kl_pwm.c: Fix PWM debugging. TPM1 and TPM2 have two
- channels instead of six and will hard fault if you try to read the
- missing channels. From Michael Hope (2015-05-07).
- * arch/arm/src/kl/kl_lowputc.c: enable the clocks to UART1 and UART2.
- The previous version would cause a hard fault on startup due to the
- modules not being clocked. Also drop the GPIO configuration as it's
- done during kl_start(). From Michael Hope (2015-05-07).
- * teensy-lc: remap UART0 to the standard pins. From Michael Hope
- (2015-05-07).
- * arch/arm/src/stm32 and include/stm32: Added support for STM32F302K8
- and STM32F302K6. From Ben Dyer via PX4/David Sidrane (2015-05-08).
- * configs/compal_e86: Calypso Compal-E86: Updates for execution out of
- FLASH on the C139 phone. From Craig Comstock (2015-05-08).
- * STM32 F3: Add DBGMCU register definitions for the F3 family. From
- Greg Meiste (2015-05-09).
- * arch/arm/src/stm32/chip/stm32_exti.h: Add EXTI line definitions for
- the STM32L family (2015-05-09).
- * net/tcp/tcp.h: Correct failures in long Telnet sessions by increasing
- the size of the number of bytes sent from uint16_t to uint32_t. This
- avoids an integer overflow that causes a Telnet sessions to be closed
- unexpectedly. From Rony XLN (2015-05-12).
- * include/stdio.h, sys/statfs.h, cxx/cstdio, and syscall/syscall.csv:
- Remove duplicate prototype of statfs from stdio.h. Belongs in
- sys/statfs.h only. Note by Michael Hope (2015-05-12).
- * arch/arm/include/kl/chip.h: Fix typo in header file. From Michael
- Hope (2015-05-12).
- * arch/arm/src/kl/chip/kl_tpm.h: Fix offset to the TPM status register.
- From Michael Hope (2015-05-12).
- * net/local/local_connect.c: Correct some network lock logic: Two
- error conditions where the network was not being unlocked and one
- where it was getting unlocked twice. From Jussi Kivilinna (2015-05-12).
- * net/local/, fs/vfs/fs_poll.c, drivers/pipes/pipe_common.c/.h,
- include/nuttx/fs/fs.h: Add poll support for Unix stream sockets. From
- Jussi Kivilinna (2015-05-12).
- * net/local/: Local stream sockets had problem of double releasing pipes
- (both server and client attempt release), which causes wrong pipe pair
- being closed in multi-client case. Solve by adding per connection
- instance ID to pipe names. From Jussi Kivilinna (2015-05-12).
- * drivers/usbdev/ all class drivers: There needs to be a check to make
- sure that the size of a returned string does not exceed the size of
- the allocated request buffer. Strings such as vendor names or product
- names will be truncated to fit in the request buffer (2015-05-12).
- * arch/arm/src/samv7/sam_twihs.c: Fix SAMV TWIHS logic that performs
- multi-message transfers with and without repeated starts (2015-05-12).
- * maXTouch Xplained Pro: The above TWIHS fix was the last barrier to
- getting the touchscreen working in the maXTouch Xplained Pro LCD
- (2015-05-12).
- * net/route/ and net/netdev/netdev_ioctl.c: Complete implementation of
- the IPv6 routing logic. From Max Neklyudov (2015-05-13).
- * net/udp/: Add inclusion of assert.h in networking files where needed
- to avoid compilation errors. From Max Neklyudov (2015-05-13).
- * /net/route/netdev_router.c: Fix bug in IPv6 router from Max Neklyudov
- (2015-05-13).
- * sched/pthread/pthread_kill.c: Re-implemented pthread_kill(). It was
- just a simple wrapper around kill() but since the correct dispatching
- of signals for multi-threaded task groups has been implemented,
- calling kill() does not do what pthread_kill() is supposed to do. The
- corrected implementation of pthread_kill() will direct the signal
- specifically to the specific pthread and no other (2015-05-13).
- * arch/arm/include/samdl, arch/arm/src/samdl, configs/samd20-xplained:
- Rename the samd/ directories and configuration varialbes to samdl to
- all the same directory structure to support the SAML21 (2015-05-14).
- * arch/arm/include/samdl and arch/arm/src/samdl: And chip definitions,
- configuration framework, and placeholder memory map and pin
- configuration files for SAML21 support. Still incomplete on initial
- commit (2015-05-14).
- * include/nuttx/wdog.h, sched/mqueue/mq_timed*.c, semaphore/sem_timed*.c,
- signal/sig_timed*.c, timer/timer_settime.c, and wdog/wd_start.c:
- Update the type passed to watchdog timer handlers. Using uint32_t is
- a problem for 64-bit machines (2015-05-18).
- * configs/saml21-xplained: Add a board build configuration for the
- SAML21 Xplained Pro. Initial commit is just the SAMD20 Xplained Pro
- board support with naming changed. Does not yet build (2015-05-18).
- * libc/net/lib_inetntoa.c: Correct errors in printing IP address when
- type char is signed. From Max Neklyudov (2015-05-19).
- * arch/arm/src/efm32/efm32_rtc_burtc.c: Updated EFM32 RTC driver from
- Pierre-noel Bouteville (2015-05-19).
- * arch/arm/src/tiva/chip/tm4c_memorymap.h, tm4c_pinmap.h, and vectors.h.
- configs/tm4c1294-launchpad/include/board.h and src/tm4c_autoleds.c:
- Fixes for Tiva TM4C1294NCPDT. From Frank Sautter. (2015-05-20).
- * configs/tm4c1294-launchpad/include/board.h: Added TM4C1294NCPDT
- EN0_LED2 (10/100-Base-Tx); removed all booster pack pin definitions.
- From Frank Sautter (2015-05-20).
- * nuttx/arch/arm/src/sam34/sam_serial.c: In NONBLOCKING mode serial
- does not receive bytes from UART. This happens because RX interrupt
- was disabled in the setup routine. To fix this I save interrupt
- configuration before UART shutdown and restore it after. From Max
- Neklyudov (2015-05-21).
- * arch/arm/include/lpc11xx and src/lpc11xx: Support for the LPC11xx
- family (the LPC1115 MCU in particular). Contributed by Alan Carvalho
- de Assis (2015-05-22).
- * configs/lpcxpresso-lpc1115: Support for the LPCXpression LPC1115
- board. Contributed by Alan Carvalho de Assis (2015-05-22).
- * arch/arm/src/sam34/Kconfig, sam_serial.c, and chip/sam_uart.h: Add
- support for optical mode for the SAM4CM UART1. From Max Neklyudov
- (2015-05-23).
- * arch/arm/src/lpc11xx/: Add support for up_getc() which is needed
- for NSH if there is no file system. From Alan Carvalho de Assis
- (2015-05-23).
- * LPCXpresso-LPC1115: Add a minimal NSH configuration that has the
- file system disabled. Update README with OpenOCD instructions.
- From Alan Carvalho de Assis (2015-05-23).
- * Fix numerous typos in configuration variable names. Tracked down
- by Alan Carvalho de Assis (2015-05-23).
- * configs/teensy-2.0: Rename configs/teensy so that it is clearly
- distinguished from teensy-lc and teensy-3.1 (2015-05-15).
- * include/nuttx/mtd/mtd.h: Increase the size of the fields in the
- geometry structure (again) to support larger FLASH sizes. Needed
- by Sébastien Lorquet (2015-05-26).
- * SAM4CM and SAMA5D Free-running timer: Logic that samples the free
- running counter reads the pending interrupt status register and
- can cause interrupts to be lost. So, if when the status register
- is read, the logic must also handle the timer overflow event.
- Found and fixed by Max Neklyudov (2015-05-26).
- * arch/arm/include/kinetis and arch/arm/src/kinetis: Basic support
- for the Kinetis K20 architecture. Taken from PX4. This is the
- work of Jakob Odersky (2015-05-26).
- * net/: Move some ICMP event lists to the device structure. That
- allows for both device-specific event processing and also devices
- to generate events like network down. From Max Neklyudov (2015-05-27).
- * net/: Extend Macs logic to ARP and ICMPv6. Also found and fix
- several IPv6-related compilation errors that have crept in. IPv6
- has been broken for awhile (2015-05-27).
- * net/tcp: Fix an important TCP networking bug: 16-bit flags was
- being converted to 8-bits in a few locations, causing loss of
- status indications (2015-05-27).
- * net/socket and net/tcp: net_startmonitor.c always returned OK. In
- the case where a socket has already been closed, it correctly handled
- the disconnection event but still returned OK. Returning OK caused
- the callers of net_startmonitor to assume that the connection was
- okay, undoing the good things that net_startmonitor did and causing
- the socket to be marked as connected. This behavior was noted by
- Pelle Windestam (2015-05-28).
- * include/nuttx/net, net/arp, net/devif, net/icmp, net/icmpv6,
- net/netdev, net/pkt, net/tcp, net/udp: Modify event list handling:
- Now there are two event lists each device structure: (1) One is
- for ARP and ICMP data related events, the other is for device
- related events. Callback allocation/free routines no accept a
- device parameter as well as a list: If the device parameter is
- added, then the callback goes into both the connection-related
- list AND the device event list. Thus each socket type can
- received both custom data-related events as well as common
- device related events (2015-05-28).
- * net/socket and net/utils: setsockopt() fails when setting timeouts
- to values less that an 100 msec. That is because the timeout is
- limited to stops of 1 decisecond and because the conversion of
- structure timeval was truncating the microsecond remainder. The
- utility net_timeval2dsec now accepts and option to determine how it
- handles the remainder: truncate, discarding the remainder, use the
- remainder to round to the closed decisecond value, or use any non-zero
- remainder to the next larger whole decisecond value. Bug discovered
- by Librae (2015-05-29).
- * configs/stm32f4discovery/src: Move up_cxxinitialize from
- nuttx/configs/stm32f4discovery/src to apps/platform/stm32f4discovery
- where it belongs (2015-05-29).
- * net/sockets, net/tcp, net/udp: UDP Networking: Add support for
- device event notification for UDP transfers (2015-05-29).
- * net/sockets and net/tcp: TCP Networking: Add support for device event
- notification for UDP transfers (2015-05-30).
- * libc/Kconfig and stdio/lib_libvsprintf.c: Add an option to disable
- support for long long formats in lib_vsprintf. From Alan Carvalho
- de Assis (2015-05-30).
- * net/net_initialize.c, net/detdev, and net/socket: The network device
- list was protected by a re-entrant semaphore. With the recent change
- to support network device callback, the network stack needs to access
- the network device list too. Some drivers, however, run the network
- stack from the interrupt level -- this is bad but a fact in the
- current state. Of course, those drivers are unable to take the
- semaphore and would assert.
- The solution here is to eliminate the device devices semaphore
- altogether. This eliminates netdev_semtake() and netdev_semgive()
- and replace them with net_lock() and net_unlock() which have the
- larger scope that is needed and will integrate properly with the
- dinosaur interrupt driven stack (2015-05-31).
- * net/socket/connect.c: In the TCP connection operation, it was trying
- to setup the network monitor BEFORE the socket was successfully
- connected. This, of course, has ALWAYS failed because the socket is
- not yet connected and the TCP state is not yet correct for a connected
- socket. However, because of other changes net_startmonitor() now
- returns a failure condition that causes worse problems when trying to
- connect. The fix is to move the logic that starts the network monitor
- to AFTER the socket has been successfully connected (2015-05-31).
- * tools/configure.c: Fix test for the existence of the apps/ directory.
- Fix backward interpretation of options, -l was selecting Windows and
- -w was selecting Linux. This was SourceForege Ticket #39 (2015-05-31).
- * arch/include/stm32/chip.h and arch/src/stm32/Kconfig: Add basic
- support for the STM32F205RG. From SourceForge Ticket 40 (anonymous,
- 2015-05-31).
- * arch/arm/src/lpc17xx: Review, update, and modify the Ethernet driver
- so that it works better with CONFIG_NET_NOINTS=y (2015-06-01).
- * configs/: Update all LPC17xx networking configurations so that they
- have CONFIG_NET_NOTINTS=y selected (2015-06-01).
- * /arch/arm/src/armv7-m, binfmt/libelf, configs/stm32f4discovery/scripts,
- /include/nuttx/binfmt, and libxx: Add support uClibc++ exceptions. This
- involves additional handling for relative relation types, additional
- support for unwinding, as well as additional changes. The culmination
- of a big effort from Leo Aloe3132 (2015-06-01).
- * configs/olimex-lpc1766stk: Rename the thttpd configuration to thttpd-nxflat.
- Add a new configuration, thttpd-binfs, that provides an example of how
- to build apps/netutils/thttpd using binfs instead NXFLAT+ROMFS
- (2015-06-02).
- * tools/cfgdefine.c: Extend the mkconfig tool so that it can dequote a
- quoted list of quoted strings. THTTPD uses such a configuration
- setting to provide the list of index files (2015-06-02).
- * mq_timedreceive(): move the location where the errno value is set; the
- ETIMEDOUT errno setting was being overwritten by subsequent actions
- before returning. Noted by Freddie Chopin (2015-06-03).
- * Networking: Modify how callback structures are stored to avoid
- another potential use of a stale pointer (2015-06-03).
- * POSIX message queues: Move mq_setattr() and mq_getattr() from
- nuttx/libc/mqueue to nuttx/sched/mqueue. Also add syscall support
- for mq_setattr() and mq_getattr(). This is necessary in protected and
- kernel builds because in those cases the message queue structure is
- protected and cannot be accessed directly from user mode code (2015-06-03).
- * drivers/net/tun.c: TUN driver bug fix. From Max Neklyudov (2015-06-03.
- * drivers/net/Kconfig, include/nuttx/net/mii.h, and
- arch/arm/src/lpc17xx/lpc17_ethernet.c: Add support for the Micrel
- KSZ8041 PHY to the LPC17xx Ethernet driver (2015-06-03).
- * configs/lincoln60/netnsh: Add a network enabled configuration for
- the Lincoln60 board (2015-06-03).
- * drivers/net/tun.c: Misc. improvements to the TUN driver, mostly related
- to poll(). From Max Neklyudov (2015-06-04).
- * fs/, fs/unionfs, include/nuttx, include/sys, Documentation: Add
- support for a union file system that can be used to overlay and merge
- the content of two mounted file systems (2015-06-05).
- * arch/arm/src/efm32/efm32_spi.c: Add SPI GPIO pin initialization. From
- Pierre-noel Bouteville (2015-06-05).
- * configs/sim/unionfs: Add a configuration for testing the Union File
- System (2015-06-05).
- * configs/lincoln60/thttpd-binfs: Add a thttpd-binfs configuration for
- the Lincoln60. That configuration still does not work on initial
- commit (2015-06-06).
- * arch/arm/src/sama5/sam_can.c: Fix SAMA5 CAN frame construction. From
- Max Holtzberg (2015-06-07).
- 7.11 2015-08-13 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/efm32/efm32_spi.c: Correct write to incorrect register in
- EFM32 SPI driver. From Pierre-noel Bouteville (2015-06-09).
- * configs/teensy-3.x: Add board support for the PJRC Teensy-3.1 board
- (2015-06-09).
- * arch/arm/src/samdl, configs/samd20-xplained, and configs/saml21-xplained:
- In the SAML21, SERCOM5 uses a different SLOW clock channel (and, hence,
- also a different SLOW GCLK generator). This means that the channel
- selection cannot be a global definition but must be a per SERCOM
- configuration setting (2015-06-10).
- * arch/arm/src/kinetis and include/kinetis: Add support for MK20DN--VLH5
- and MK20DX---VLH5. Needed for backward compatible support for
- Teensy-3.0 (2015-06-10).
- * configs/Kconfig and configs/teensy-3.x: Add support for Teensy-3.0
- (2015-06-10).
- * arch/arm/src/stm32/stm32l15xxx_rcc.c: STM322 F15x stm32_stdclockconfig()
- was calling stm32_pw_setvos() which accessed PWR_CR via an inactive APB
- From Juha Niskaneni (2015-06-11).
- * fs/mount: Add the ability to mount a file system on top of en existing
- node in the pseudo-file system (2015-06-11).
- * arch/arm/src/sam34/sam_clockconfig.c: Add default loop optimization if
- EEFC_FMR is available in the configuration (i.e., for SAM4S and 4E).
- From Marco Aurélio da Cruz (2015-06-11).
- * include/time.h and libc/time: Add asctime(), asctime_r(), ctime(), and
- ctime_r() (2015-06-12).
- * include/ and arch/: Clean up and review of header files for conformance
- to standards (2015-06-12).
- * arch/arm/src/samdl: Add build framework for SAML21 DMA support.
- Nothing there yet except for skeletal logic taken from SAM3/4
- (2015-06-12).
- * include/pthread.h and nuttx/sched/pthread: Use -1 instead of 0 as PID
- for unclaimed mutexes. From Juha Niskanen (2015-06-16).
- * sched/pthread: Implement pthread_mutex_trylock() for recursive mutexes.
- From Juha Niskanen (2015-06-16).
- * libc/unistd/lib_getopt.c: Uninitialized variable can cause hardfault
- from getopt if required argument is missing. From George McWilliams
- (2015-06-18)
- * arch/arm/include/samdl and arch/arm/src/samdl: Add architecture support
- for the SAMD21 family (2015-06-19).
- * configs/samd21-xplained: Board configuration for the SAMD21 Xplained
- board (2015-06-21).
- * arch/arm/src/sam34/sam_lowputc.c: Back out an error introduced with
- commit 02c33f66c5a8be774034cd40e4125e9323c7b4d8. Causes an infinite
- loop in up_lowputc(). From Max Neklyudov (2015-06-22).
- * arch/arm/src/samv7/sam_lowput.c: Also back the bad change to sam_lowputc.c
- for SAMV7 platform (2015-06-22).
- * include/nuttx/fs/ioctl.h and power/relay.h: Add relay IOCTL definitions.
- From Max Neklyudov (2015-06-22).
- * sched/clock/clock_gettime.c: Use up_timer_gettime for CLOCK_MONOTONIC
- in tickless mode. From Max Neklyudov (2015-06-22).
- * crypto/ and SAM4CM: Add CFB and MAC AES modes. From Max Neklyudov
- (2015-06-22).
- * SAM4CM: Fix SUPC register definitions. From Max Neklyudov. Also
- removed conditional logic form non-SAM4CM parts (Gregory Nutt)
- (2015-06-22).
- * SAM3/4: Add a TWI driver for the SAM4CM. From Max Neklyudov
- (2015-06-22).
- * SAMV7 Xplained: In clock configuration, divider was set to 25 to get
- 25*12MHz=300MHz CPU clock. The correct multiplier is 24 because the
- calculation if (24+1)*12MHz. So the board was running at 312MHz.
- From Efim Monjak (2015-06-26).
- * NFS client: Fix prototype of unbind method. The function prototype
- was not updated for NFS after a recent change to the file system
- interface. From Manuel Stühn (2015-06-25).
- * Broke the NuttX GIT repository into several, smaller repositories.
- Eliminated the misc/ directory and the content under misc/Obsoleted
- and misc/sims (2015-06-27).
- * Removed the Documentation/ directory. Replaced with a GIT submodule
- that will bring in the new standalone Documentation directory
- (2015-06-29).
- * Removed the configs/ directory. Replaced with a GIT submodule
- that will bring in the new standalone boards directory (2015-06-29).
- * arch/arm/src/armv6-m/up_exception.S: Fix Cortex-M0 assembly error
- when the interrupt stack is enabled. From Alan Carvalho de Assis
- (2015-06-30).
- * arch/arm/src/armv6-m/up_assert.c: Port some per-process stack
- dumping logic from ARMv7-M to ARMv6-M. From Alan Carvalho de Assis
- (2015-06-30).
- * tools/testbuild.sh: Add a script that can be used to perform
- building testing for several board configurations (2015-06-30).
- * sched/pthread/pthread_create.c: Group binding needs to be cleared
- before sched_releasetcb(), as otherwise group_leave() will be called
- and group->tg_nmembers decremented or group being released.
- group_leave() should be called only after group_join() is called,
- not after group_bind(). From Jussi Kivilinna (2015-07-01).
- * arch/arm/src/sama5/sam_ehci.c: Fix some bad conditional compilation
- that left a function undefined if CONFIG_USBHOST_ASYNCH is not
- selected (2015-07-01).
- * arch/arm/src/common/up_vfork.c: Fix a Cortex-A compilation error
- when system calls are enabled in modes other than CONFIG_BUILD_KERNEL
- (2015-07-01)
- * include/nuttx/net/netconfig.h: Fix some backward compilation that was
- emitting #error in the wrong condition when SLIP was enabled (2015-07-01).
- * drivers/net/slip.c: Fix a missed name change when many of network
- interface names changed sometime back but were apparently never updated
- for SLIP (2015-07-01).
- * drivers/input/stmpe811_base.c: In stmpe811_instanciate() when
- CONFIG_STMPE811_MULTIPLE is enabled, and the call to stmpe811_checkid()
- fails, then the linked device list is not restored to its previous state.
- From Sebastien Lorquet (2015-07-02).
- * sched/sched/sched_waitpid.c: Implement WNOHANG for waitpid() only and
- for the case of CONFIG_SCHED_HAVE_PARENT not selected. From Max
- Neklyudov (2015-07-02).
- * arch/sim/src/up_head.S: Implement board_power_off() for the simulation
- platform (2015-07-04).
- * libc/unistd/lib_gethostname.c: Add support for sethostname() (2015-07-05).
- * libc/net: Add support for gethostbyname() and gethostbyaddr(). Also
- support included for the non-standard gethostbyname_r() and
- gethostbyaddr_r() (2015-07-08).
- * drivers/ioexpander and include/nuttx/ioexpander: This commit adds:
- - headers in nuttx/ioexpander to define the "generic" ioexpander
- framework
- - files in drivers/ioexpander for the implementation of the NXP
- PCA9555 framework
- - bindings in drivers/Kconfig and drivers/Makefile
- From Sebastien Lorquet
- * arch/arm/src/lpc43xx/chip/lpc4310203050_pinconfig.h: Correct some
- LPC4350 GPIO pin configurations. From Alessandro Temil (2015-07-09).
- * mm/umm_heap, include/nuttx/kmalloc.h, userspace.h, mm/mm.h, and all
- configurations that support protected mode: Redesigned how the user
- space heap is accessed from the kernel code in protected mode. It
- used to call memory management functions in user space via function
- pointers in the userspace interface. That is inefficient because the
- first thing that those memory management functions do is to trap back
- into the kernel to get the current PID. Worse, that operation can be
- fatal is certain fragile situations such as when a task is exiting.
- The solution is to remove all of the memory management function calls
- from the interface. Instead, the interface exports the users pace
- heap structure and then kernel size implementations of those memory
- management functions will operate on the userspace heap structure.
- This avoids the unnecessary system calls and, more importantly,
- failures do to freeing memory when a test exits (2015-07-10).
- * libc/netdb: Move netdb functions from lib/net to lib/netdb. Move
- the DNS client logic from apps/netutils/dnscient to libc/netdb.
- Add support to gethostbyname() so that it will attempt a DNS host
- lookup before consulting the host table (if so enabled) (2015-07-10).
- * arch/arm/src/samdl/chip/saml_usb.h: Several fixes to register
- definitions and types. From Janne Rosberg (2015-07-10).
- * include/nuttx/net/ and libc/netdb: Repartitioning of DNS client
- logic in preparation for IPv6 support (2015-07-12):
- - Rename include/nuttx/net/dnsclient.h to dns.h
- - Move internal DNS prototypes from dns.h to libc/netdb/lib_dns.h
- - Global standard DNS definitions from libc/netdb/dns_soccket.c to
- dns.h
- - Eliminate dns_gethostip(). This is now an internal part of
- gethostbyname()
- - Eliminate interface dns_whois(). Not needed in this new context.
- * include/nuttx/net/ and libc/netdb: Modifications to DNS client logic
- and to dns_get/setserver() interfaces to support DNS clients at IPv6
- addresses (still no support for resolution to IPv6 addresses)
- (2015-07-12).
- * include/nuttx/net/ and libc/netdb: Implement the low-level network DNS
- packet protocol to request and receive IPv6 address mappings
- (2015-07-12).
- * libc/netdb: Add a default value for DNS server IP address. Make
- sure that the IP address has been initialized before permitting DNS
- queries (2015-07-13).
- * libc/netdb: Add support for a DNS host name resolution cache. This
- can save a lot of DNS name server lookups (but might also have the
- negative consequence of using stale IP address mappings (2015-07-13).
- * graphics/, libnx/, and include/nuttx/nx: Implement anti-aliasing in
- order to clean the drawing of all edges (2015-07-14).
- * drivers/lcd/ and include/nuttx/lcd: Modify the SSD1306 LCD driver to
- support either the SPI or I2C interface. From Alan Carvalho de Assis
- (2015-07-15).
- * arch/src/stm32f7 and arch/include/stm32f7: Add architecture support
- for the STMicro STM32 F7 (2015-07-15).
- * drivers/can.c: Fix an issue in the CAN driver where the rx_sem
- count can grow beyond bounds (2015-07-15).
- * configs/stm32f762g-disco/: Add initialize support for the STMicro
- STM32 F7 Discovery board. This is a work in progress and will be a
- while before it is fully functional (2015-07-16).
- * arch/../up_etherstub.c, arch/../up_initialize, and other files: Add
- CONFIG_NETDEV_LATEINIT that can be used to suppress calls to
- up_netinitialize() from early in initialization (2015-07-17).
- * arch/arm/src/stm32: Extend STM32 Ethernet operating frequency to
- 180MHz. From Sebastien Lorquet (2015-07-17).
- * STM32 F7 Discovery: Basic NSH configuration is functional with a
- serial console. I-/D-Caches and DTCM have been enabled. The delay
- loop has been calibrated -- very fast (2015-07-19).
- * drivers/sensor and include/nuttx/sensors: Add support to Bosch BMP180
- barometer. From Alan Carvalho de Assis (2015-07-20).
- * configs/stm32f4discovery/: Add support to BMP180 driver on the
- STM32F4Discovery. From Alan Carvalho de Assis (2015-07-20).
- * arch/arm/src/stm32f7: Add an STM32 F7 Ethernet driver (2015-07-20).
- * arch/arm/src/stm32f7: Port the STM32 F4 DMA driver. Untested on
- initial commit (2015-07-20).
- * arch/arm/src/sam34: Correct some problems with SAM3/4 watchdog driver.
- Includes some small improvements. From Max Neklyudov (2015-07-21).
- * arch/arm/src/stm32 and include/stm32: Add support for the STMicro
- STM32 F446. From David Sidrane (2015-07-22).
- * include/nuttx/sched.h, sched/, and fs/procfs: Increase the size of
- the scheduling policy field from 1 to 2 bits to allow additional,
- planned scheduling policies (2015-07-23).
- * pthread_create: Fix an (unlikely) error in fallback value in the
- event of a failure (which should never occur) (2015-07-23).
- * include/, sched/, and libc/: Add support for sporadic scheduling
- parameters in struct sched_param, posix_spawnattr_t, and pthread_attr_t.
- Update all user interfaces to pass sporadic scheduling parameters.
- (2015-07-23).
- * sched/: Separate the round-robin logic into a separate file so that
- it is symmetric with the sporadic stuff. Integrate the sporadic
- scheduler into the time tick interrupt handling and into the tickless
- operation (2015-07-24).
- * arch/arm/src/moxart/: Add support for MoxaRT SoC found in the most
- Moxa serial converters such as NP51x0, NP66xx, UC72xx. From Anton
- D. Kachalov (2015-07-29).
- * configs/moxa: Moxa NP51x0 series of 2-port advanced RS-232/422/485
- serial device servers. From Anton D. Kachalov (2015-07-29).
- * drivers/net/ and include/nuttx/net: Add support for a Faraday
- * FTMAC100 Ethernet MAC Driver. From Anton D. Kachalov (2015-07-29).
- * 16550 UART Driver: Add a configuration option to indicate the
- THR empty bit is inverted. This is the case for the moxART SoC.
- Based comments from Anton D. Kachalov (2015-07-29).
- * STM32 F4: Add DMA support to the ADC driver for STM32 F4. From
- Max Kriegler (2015-07-30).
- * sem_tickwait(): Added this function for internal use within the
- OS. It is a non-standard but more efficient version of sem_timedwait()
- for use in higher performance device drivers (2015-08-01).
- * drivers/net/slip.c: Fix another compilation error (2015-08-02).
- * drivers/can.c include/nuttx/can.h, and fs/fs.h: Add CAN IOCTL command
- definitions to manage CAN message filtering (2015-08-05)
- * drivers/Kconfig and can.c: Add configuration to support DLC to byte
- conversions needed for CAN FD mode (2015-08-05).
- * arch/arm/src/samv7: Add an MCAN driver for the SAMV7 platform
- (2015-08-06).
- * drivers/sensors/lm92.c and include/nuttx/sensors/lm92.h: Add a driver
- for the LM92 temperature sensor. Contributed by Paul Alexander Patience
- (2015-08-06).
- * drivers/sensors/as5048b.c and include/nuttx/sensors/as5048b.h: Add
- support for an AS5048B rotary magnetic sensor. From Paul Alexander
- Patience (2015-08-07).
- * include/nuttx/spi/slave.h: Add a definition of an SPI slave
- interface (2015-08-08).
- * arch/arm/src/samv7: Add the framework for an SPI slave driver. This
- driver has a lot of missing logic on initial commit (2015-08-09).
- * arch/arm/src/samv7: Basic, no-DMA SPI slave driver is in place
- (2015-08-10).
- * fs/vfs/epoll.c and include/sys/epoll.h: Add a very simple epoll layer
- just around poll calls. To satisfy build app requirements. From Anton
- D. Kachalov (2015-08-10).
- * drivers/mtd/ramtron.c: Update to include supportf for newer
- RAMTRON parts. From David Sidrane (2015-08-10).
- * Networking: Allow receipt of empty UDP packets. From Max Neklyudov
- (2015-08-11).
- * drivers/sensors/mb7040.c and include/nuttx/sensors/mb7040.h: Add
- support for a MB7040 sonar driver. From Paul Alexander Patience
- (2015-08-11).
- * net/udp: Add support for send() for connected UDP sockets
- (2015-08-11).
- * drivers/sensors/ms5805.c and include/nuttx/sensors/ms5805.h: Add
- support for an MS5805 altimeter. From Paul Alexander Patience
- (2015-08-12).
- 7.12 2015-10-01 Gregory Nutt <gnutt@nuttx.org>
- * fs/vfs/fs_poll.c: Use sem_tickwait() instead of sem_timedwait()
- From Macs Neklyudov (2015-08-13).
- * fs/vfs/fs_poll.c: If we fail to setup the poll for any file
- descriptor, for any reason, set the POLLERR bit (2015-08-13).
- * libc/stdlib: Add support for div() to the C library. From
- OrbitalFox (2015-08-14).
- * libc/stdlib: Might as well add ldiv() and lldiv() to since
- these are equivalent to div() with long and long long types,
- respectively, instead of int (2015-08-14).
- * include/signal.h and files that include it: Add si_errno to
- siginfo_t (2015-08-14).
- * drivers/sensors/mx58xx.c and include/nuttx/sensors/ms58xx.h:
- Generalize the MS5805 altimeter driver to support other family
- members and rename to ms58xx. From Paul Alexander Patience
- (2015-08-14).
- * Network drivers. Fix bug in tun interface driver. From Max
- Neklyudov (2015-08-17).
- * STM32: Added definitions for STM32F303K6, STM32F303K8, STM32F303C6,
- STM32F303C8, STM32F303RD, and STM32F303RE devices. From Paul
- Alexander Patience (2015-08-17).
- * include/nuttx/can.h and all CAN drivers: Add an error indication
- bit to the CAN message report. This indication must then be cleared
- in all existing drivers. More to come (2015-08-18).
- * arch/arm/src/lpc17/lpc17_irq.c: Set NVIC vector address so that
- code can execute with a bootloader or can execute from RAM. From
- Pavel Pisa (2015-08-20).
- * All ARMV7-M IRQ setup: Always set the NVIC vector table address
- unconditionally. This is needed in cases where the code is running
- with a bootload and when the code is running from RAM. It is also
- needed by the logic of up_ramvec_initialize() which gets the vector
- base address from the NVIC. Suggested by Pavel Pisa (2015-08-21).
- * SAMV7 USBHS DCD: The device controller driver is (finally) functional
- (2015-08-21).
- * recvfrom(): Correct wait for new data when NET_UDP_READAHEAD is
- enabled. Fix size accounting when recvfrom_udpreadahead() sets
- state.rf_recvlen == -1. I have not checked if data are accumulated
- to the right position in the buffer however. From Pavel Pisa
- (2015-08-21).
- * sched/wdog/wd_create.c: Correct a counting error in the number
- of available watchdog timers. When the number of free timers is
- low, the counter could be incremented below zero (2015-08-21).
- * arch/arm/src/stm32: Add OTG support for STM32F44x. From David
- Sidrane (2015-08-21).
- * arch/arm/src/lpc17: Actually implement options to use external
- SDRAM and or SRAM for the heap. From Pavel Pisa (2015-08-21).
- * gethostbyname(): correct returned address format when DNS is used.
- The hostent.h_addr_list should point to raw in_addr or in6_addr
- as defined in the standard. Original implementation used that
- for numeric addresses but for DNS lookup returned pointer to
- whole sockaddr_in or sockaddr_in6. From Pavel Pisa (2015-08-21).
- * tools/mksymtab: declare g_symtab array as const to occupy RO
- section (Flash). From Pavel Pisa (2015-08-23).
- * libc/libc.csv and syscalls/syscalls.csv: Define some symbol
- export conditions, correct errno and add sleep and usleep. From
- Pavel Pisa (2015-08-23).
- * net/ and include/nuttx/net: Remove references to PPP as a
- link layer protocol (2015-08-24).
- * net/, drivers/net, and include/net: Add definitions to support
- a local loopback device and link layer (2015-08-24).
- * libc/netdb, net/loopback, include/nuttx/net: Add NetDB support
- for the local loopback device (2015-08-24).
- * drivers/net/loopback.c: Add basic prototype of a local loopback
- device (2015-08-24).
- * networking: Correct return value from psock_tcp_accept(). From
- SaeHie Park (2015-08-25).
- * drivers/mtd/s25fl1.c: Add a driver for ST25L1*K QuadSPI parts
- (2015-08-25).
- * include/nuttx/spi/qspi.h: Develop a new interface for QSPI, at
- least the way that QSPI is implemented on the SAMV71. Originally
- planned to use the SPI interface, but it is just now compatible
- with the SAMV71 QSPI hardware (2015-08-25).
- * drivers/rwbuffer.c: Fix some logic errors. From Dmitry Nikolaev
- via Juha Niskanen (2015-08-26).
- * net/socket and net/tcp: Fix a problem in when there are multiple
- network devices. Polls were being sent to all TCP sockets before.
- This is not good because it means that packets may sometimes be
- sent out on the wrong device. That is inefficient because it
- will cause retransmissions and bad performance. But, worse, when
- one of the devices is not Ethernet, it will have a different MSS
- and, as a result, incorrect data transfers can cause crashes.
- The fix is to lock into a single device once the MSS is locked
- locked down (2015-08-27).
- * drivers/lcd and include/nuttx/lcd: Add SSD1351 OLED controller
- support. Contributed by Paul Alexander Patience (2015-08-28).
- * include/nuttx/mtd/mtd.h: Move MTD ioctl command definitions from
- include/nuttx/fs/fs.h to include/nuttx/mtd.h. Add ioctl commands
- to protect and unprotect memory (2015-08-29).
- * binfmt/builtin.c: Fix a memory leak: File was not being closed.
- From Bruno Herrera (2015-08-30).
- * fs/romfs: One allocation was not being freed if there was a
- subsequent failure to allocation I/O buffers resulting in a memory
- leak on certain error conditions. From Bruno Herrera (2015-08-30).
- * arch/arm/src/up_internal.h and several ARM Make.defs files: In the
- original implementation, !defined(CONFIG_ARMV7M_CMNVECTOR) was a
- sufficient test to determine if lazy floating point register saving
- was being used. But recents changes added common lazy register as
- well so now that test must be (!defined(CONFIG_ARMV7M_CMNVECTOR) ||
- defined(CONFIG_ARMV7M_LAZYFPU)) (2015-08-31).
- * arch/arm/include/sama5 and src/sama5: Add basic chip description,
- configuration support and interrupt definitions for the SAMA5D2
- (2015-08-31).
- * LPC43xx: Fix NVIC_SYSH_PRIORITY_STEP define. From Ilya Averyanov
- (2015-09-01).
- * LPC43xx: Fix missing #define in eeprom. From Ilya Averyanov
- (2015-09-01).
- * libc/math/lib_asin.c: The function did not convert for some input
- values. Asin did not convert for values which do not belong to the
- domain of the function. But aside of that the function also did not
- converge for some allowed values. I achieved a conversion of the
- function by reducing the DBL_EPSION and by checking if the input
- value is in the domain of the function. This is a fix for the
- problem but the function should always terminate after a given
- number of iterations. From Stefan Kolb (2015-09-01).
- * arch/arm/src/lpc43xx/lpc43_spi.c: Fix SPI driver. From Ilya
- Averyanov (2015-09-02).
- * arch/arm/src/lpc43xx/lpc43_ethernet.c: Add Ethernet support. From
- Ilya Averyanov (2015-09-02).
- * net/tcp: The logic that binds a specific network device to
- a connection was faulty for the case of multiple network
- devices. On bind(), the local address should be used to associate
- a device with the connection (if the local address is not INADDR_ANY);
- On connect(), the remote address should be used (in case the local
- address is INADDR_ANY). On accept(), it does not matter but the
- remote address is the one guaranteed to be available (2015-09-02).
- * configs/Board.mk and configs/*/src/Makefile: Simplify configs/
- Makefiles by combining common logic into a new Board.mk Makefile
- fragment. From Paul Alexander Patience (2015-09-04).
- * configs/sama5d2-xult: Add a very basic configuration for the SAMAD2
- Xplained Ultra board. This configuration is incomplete and only
- intended to support the initial board bring-up (2015-09-05).
- * up_initialize() all architectures: Automatically initialize all
- the TUN device if it is in the configuration (2015-09-06).
- * Change all references from avsprintf to vasprintf. From Sebastien
- Lorquet (2015-09-07).
- * net/tcp: Fix unbuffered send compilation error when Ethernet is not
- enabled. From Alan Cavalho de Assis (2015-09-07).
- * LPC31 and SAMA5D EHCI: Fix qh_ioccheck to move bp to next QH. From
- Ilya Averyanov (2015-09-07).
- * LPC31 and SAMA5D EHCI: Performance improvement: Do not disable the
- asynchronous queue when adding a new QH structure. From Ilya
- Averyanov (2015-09-07).
- * arch/arm/src/sama5: Separate memory mapping tables for SAMA5D2, 3,
- and 4 (2015-09-08).
- * libc/net/lib_shutdown.c: Add an empty implementation of the
- standard shutdown function. This provides only the framework for
- the shutdown function; the internal logic is not included
- (2015-09-09).
- * configs/nucleo-f303re: Support for the STMicro Nucleo F303RE board
- from Paul Alexander Patience (2015-09-10).
- * arch/arm/src/lpc43xx/lpc43_ehci.c and .h: LPC43xx EHCI driver from
- Ilya Averyanov (2015-09-10).
- * ARMv7-M, all "lazy" interrupt stack logic. Assembly instruction
- that fetches the saved value is incorrect; replace with more
- traditional push and pop. This is an important fix. Noted by
- Stefan Kolb (2015-09-14).
- * All ARMV7-M: Force 8-byte stack alignment when calling from assembly
- to C to interrupt handling (2015-09-15).
- * drivers/power/battery_gauge.c and include/nuttx/power/battery_gauge.h:
- battery.c/h renamed to batter_gauge.c/.h since it really only
- implements a battery fuel gauge. From Alan Carvalho de Assis (2015-09-19).
- * drivers/power/battery_charger.c and include/nuttx/power/batter_charger.h:
- Add a new framework to support a batter charger interface. From Alan
- Carvalho de Assis (2015-09-19).
- * drivers/power/bq2425x.c and .h: Battery Charger: Add BQ24250 driver.
- From Alan Carvalho de Assis (2015-09-20).
- * fs/mqueue/mq_open.c: When message queue is opened, inode_reserve()
- leaves the reference count at zero. mq_open() logic must assure
- that the reference count of the newly created inode is one (2015-09-23).
- * arch/sim/src/Kconfig, Makefile, up_setjmp64.S: Modern Cygwin X86_64
- machines follow the Microsoft ABI for parameter passing. The older,
- Linux System 5 ABI will not work on X86_64-based Cygwin machines. Also,
- the newer Cygwin tool chains do nor pre-pend symbol names with the
- underscore character. With these changes the simulator agains works
- with the newer Cygwin64 platform (2015-09-24).
- * arch/arm/src/lpc43xx: Extensive I2C and clocking updates from Lok Tep
- (2015-09-29).
- * configs/lpc4370-link2: Support for the NXP LPC4370-Link2 development
- board from Lok Tep (2015-09-29).
- * configs/nucleo-f303re: Add SSD1351 SPI 4-wire interface. From Paul
- Alexander Patience (2015-09-29).
- * arch/arm/src/armv7-m/up_schedulesigaction.c: Fix logic that determines
- if there is a pending signal action before scheduling the next signal
- action. Both the test and the scheduling action need to be atomic
- (2015-09-30).
- * sched/wqueue/kwork_queue.c and libc/wqueue/work_queue.c: Logic that
- sets the queued indication and the logic that does the actual queuing
- must be atomic (2015-09-20).
- 7.13 2015-12-05 Gregory Nutt <gnutt@nuttx.org>
- * libc/stdlib/lib_bsearch.c and include/stdlib.h: Add the bsearch()
- function from NetBSD (2015-10-02).
- * libc/stdlib/lib_qsort.c and include/stdlib.h: Make coding style
- more conformant, take description from OpenGroup.org, rename formal
- parameters to match names used on OpenGroup.org (2015-10-02).
- * drivers/lcd/st7565.c: Extend to include support for the ERC12864-3.
- From Pierre-noel Bouteville (2015-10-07).
- * fs/tmpfs: Created a directory that will eventually hold a trivial
- temporary RAM file file system (2015-10-0i8).
- * tools/: Add crappy style checking tool nxstyle.c. See thee tools/
- README file for more info (2015-10-08).
- * stm32 F4: Fix some TIM12 pin mappings. From Max Kriegleder
- (2015-10-9).
- * fs/tmpfs: TMPFS file system is code complete and bascially functional
- although it has not been heavily tested (2015-10-9).
- * drivers/input/button_upper.c and include/nuttx/input/buttons.h: Add a
- driver to support application access to board buttons (2015-10-12).
- * drivers/input/button_lower.c: Add a generic lower half button driver.
- This lower half driver is only usable in a limited number of
- situations, but can still serve as a module for the lower half button
- driver. (2015-10-13).
- * drivers/sensors/zerocross.c and include/nuttx/sensors/zerocross.h:
- Add Zero Cross device driver support. From Alan Carvalho de Assis
- (2015-10-13).
- * configs/stm32f4discovery/src/stm32_zerocross.c: Add low level support
- for the Zero Cross driver for the STM32F4-Discovery. From Alan
- Carvalho de Assis (2015-10-13).
- * drivers/sensors/max6675.c and include/nuttx/sensors/max6675.h: Add
- support to Thermocouple-to-Digital converter MAX6675. From Alan
- Carvalho de Assis (2015-10-18).
- * configs/stm32f4discovery/src: Add board config to support MAX6675.
- From Alan Carvalho de Assis (2015-10-18).
- * arch/arm/src/samv7/sam_lowputc.c: Reconfigure System I/O when using
- USART1. From Frank Benkert (2015-10-20).
- * fs/semaphore: Named semaphores: Bad cast in sem_close(). Fixed by
- reordering fields of struct nsem_inode_s so that the cast will work
- (2015-10-22).
- * Many files: Rename board_led_* functions to board_autoled_* functions.
- This makes room in the namespace to handler user LED functions
- (2015-11-01).
- * Many files: Standardize naming of the user LED interface functions.
- The new user LED interface functions are now prototyped in only in
- include/nuttx/board.h and have name like board_userled_* (2015-11-01).
- * drivers/leds/usersled_upper.c and include/leds/usersled.h: Add
- a generic character driver that may be used by applications to write
- to board LEDs (2015-11-01).
- * drivers/leds/usersled_lower.c: Add a generic lower-half user LED
- driver that may be used by any board that supports the standard
- board user LED interfaces (2015-11-01).
- * sched/clock: Fix error in clock_timespec_subtract(). Found by Lok
- (2015-11-03).
- * drivers/can.c and include/nuttx/can.h: Fix a problem in the CAN
- upper-half driver that occurs only for CAN hardware that support a
- H/W FIFO of outgoing CAN messages. In this case, there can be a
- hang condition if both the H/W and S/W FIFOs are both full. In that
- case, there may be no event to awaken the upper half driver. Add a
- new (conditional) CAN upper half interface called can_txready() that
- can be used by the lower half driver to avoid this hang condition
- (2015-11-03).
- * arch/arm/src/samv7: Add a call to can_txready() to the MCAN driver
- (2015-11-03).
- * arch/arm/src/samv7: Add MPU and protected build support (2015-11-06).
- * arch/arm/src/samv7: The QSPI FLASH driver is now functional. This
- driver operates in the memory-mapped, Serial Memory Mode (SMM)
- (2015-11-07).
- * drivers/bch: Block-to-character (BCH) driver should forward ioctl()
- calls to the contained block driver (2015-11-09).
- * arch/arm/samv7/sam_qspi.c: The QuadSPI driver is now functional
- (2015-11-10).
- * drivers/mtd/s25fl1.c: The S25FL1xx QuadSPI FLASH driver is now
- functional (2015-10-11).
- * arch/arm/samv7: Add an on-chip FLASH driver (2015-11-12).
- * drivers/mtd/mtd_progmem.c: Add an upper half MTD device that can
- use the interfaces defined in included/nuttx/progmem.h to provide
- a standard MTD interface (2015-11-12).
- * drivers/serial/serial.c, serialirq.c and include/nuttx/serial/serial.h:
- Implement high level DMA infrastructure for serial devices. From
- Max Neklyudov (2015-11-12).
- * arch/arm/src/samv7 and arch/arm/include/samv7: Add support for the
- SAME70 family of chips (2015-11-14).
- * configs/stm32f429i-disco: configs/stm32f429i-disco/src/stm32_nsh.c
- file calculated partition boundries based on page block sizes but
- mtd_partition() is expecting calculations based on erase block size.
- From Alan Carvalho de Assis (2015-11-16).
- * Move rivers/wireless/cc3000/security.c to crypto/aes.c; move
- include/nuttx/wireless/cc3000/security.h to include/nuttx/crypto/aes.h
- (2015-11-16).
- * drivers/mtd/at24xx.c: Add support for multiple AT24xx EEPROM parts,
- each with unique I2C addresses, but otherwise identical (2015-11-17).
- * drivers/timers/ds3231.c: Add support for the DS3231 I2C RTC. Untested
- on the initial commit (2015-11-17).
- * arch/arm/src/stm32/stm32_tim_lowerhalf.c: Add a compatible lower-half
- timer driver for use with drivers/timers/timer.c. From Wail Khemir
- (2015-11-17).
- * drivers/sensors/ms58xx.c: Fix some issues with initialization and with
- CRC calculation. From Karim Keddam (2015-11-17).
- * drivers/mtd/w25.c: Fix W25 FLASH driver page read/write logic. From
- Ken Pettit (2015-11-18).
- * drivers/mtd/smart.c: Fix a Smart wear-leveling bug. From Ken Pettit
- (2015-11-18).
- * arch/sim/src/up_spiflash.c: Add support for W25 FLASH simulation.
- From Ken Pettit (2015-11-18).
- * configs/boardctl.h, Kconfig, include/sys/boardctl.h, and nuttx/board.h:
- Add a command to the boardctl() interface to obtain a board unique ID
- (2015-11-18).
- * drivers/timers/ds3231.c: Driver extended to include support for the
- DS1307 RTC (2015-11-18).
- * configs/same70-xplained: Add basic NSH configuration for the SAME70
- Xplained board. Initial commit is just the SAMV71-XULT files with
- names changed appropriately (2015-11-18).
- * drivers/mtd/smart.c: Fixed SmartFS wear level error that occurs when
- the logical sector size is too small to save all wear level status
- bytes in a single sector. Logical sectors 1 and 2 were simply not
- being allocated and then the read_sector and write_sector routines
- were failing. From Ken Pettit (2015-11-18).
- * drivers/timers/ds3231.c: Untested support for DS1302 and DS3232.
- Also definitions for the DS3234, but that is an unsupported SPI RTC
- (2015-11-19).
- * drivers/mtd/w25.c: Add support for byte write mode. From Ken Pettit
- (2015-11-20).
- * drivers/timers/pcf85263.c and include/nuttx/times/pcf85263.h: Add
- a driver for the NXP PCF85263 I2C RTC. Untested on initial commit
- (2015-11-20).
- * fs/driver/fs_blockproxy.c: Add logic to create a temporary char driver
- using drivers/bch to mediate character oriented accessed to a block
- driver (2015-11-21).
- * fs/vfs/open.c: If the use attempts to open a block driver, use
- block_proxy() to insert a character driver conversion layer in front
- of the block driver (2015-11-21).
- * libc/stdio/lib_freopen.c and include/stdio.h: Add support for
- freopen() (2015-11-22).
- * include/sys/types.h and include/nuttx/mm.h: When building on a 64-bit
- machine, the size of size_t should be 64-bits. In general, I believe
- that sizeof(size_t) should be the same as sizeof(uinptr_t). mmsize_t
- should always be 32-bits in any event. The last change to stddef has
- been backed out. With these changes, the simulator builds without
- * fs/hostfs and arch/sim/src: Add a special file system for use with
- simulator that supports access to the host file system from the
- simulation. From Ken Pettit (2015-11-25).
- * libc/time/lib_strftime.c: Add day-of-week support. (2015-11-25).
- * drivers/lcd/ili9432.c: Fixed errors in orientation. Portrait,
- RPortrait, and RLandscript should work correly now. They were
- displayed mirrored. From Marco Krahl (2015-11-25).
- * drivers/mtd/mtd/mtd_procfs/c and include/nuttx/mtd/mtd.h: Add an
- interface to un-register an MTD procfs entry. From Ken Pettit
- (2015-11-25).
- * drivers/mtd/filemtd.c: A new MTD conversion layer that will
- convert a regular file (or driver file) to an MTD device. This is
- useful for testing on the simulation using the hostfs. From Ken
- Pettit (2015-11-25).
- * drivers/loop: Add a loop character device. losetup() and
- loteardown() should not be called directory from applications.
- Rather, these functions are now available as IOCTL commands to the
- loop driver (2015-11-25).
- * include/nuttx/net/netdev.h and several Ethernet drivers in arch/:
- Most network drivers do not support statistics. Those that do only
- support them when DEBUG is enabled. Each driver collects an
- architecture specific set of statistics and there is no mechanism in
- place to view those statistics. Thus, the driver feature was mostly
- useless. This change standardizes the driver statistics and puts the
- definition in the common network device structure defined in netdev.h
- where they can be accessed by network applications. All Ethernet
- drivers that collect statistics have been adapted to use these common
- statistics (2015-11-26).
- * net/net_procfs.c: Add basic support for networking entries in the
- procfs (2015-11-27).
- * mtd/filemtd.c and smart.c: Add support for a /dev/smart loop device.
- From Ken Pettit (2015-11-28).
- * sched/pthread/: CRITICAL BUGFIX: Logic was wiping out the indication
- that of the type of a pthread. Hence, it could be confused as a
- task. Found because this was causing a crash when /proc/nnn/cmdline
- was printed (2015-11-29).
- * configs/same70-xplained/nsh: The NSH configuration now seems fully
- functional: serial console, LEDs, buttons, SDRAM, and HSMCI SD card
- (2015-11-30).
- * configs/same70-xplained/netnsh: Added and verified a network-enabled
- NSH configuration for the SAME70-Xplained board (2015-11-20).
- * net/: Remove CONFIG_NET_PINGADDRCONF. This was a uIP way of assigning
- IP addresses, but is not standard and not a appropriate feature in
- general (2015-12-01).
- * fs/procfs: The procfs file system can now be configured so that it
- supports a runtime registration of procfs entries with
- CONFIG_FS_PROCFS_REGISTER=y (2015-12-01).
- * arch/arm/src/stm32/stm32_ccm_procfs.c: Is no longer a part of the
- 'base' procfs entries and can now only be supported via run time
- registration with CONFIG_FS_PROCFS_REGISTER=y (2015-12-01).
- * arch/arm/src/samv7/sam_tc.c: Port the SAMA5 timer/counter driver
- to the SAMV7 (2015-12-02).
- * arm/arm/src/samv7/sam_tickless.c: Port the SAMA5/SAM4CM tickless
- logic to the SAMV7 (2015-12-02).
- * fs/semaphore: Named semaphores: Back out "fix" of 2015-10-22. It was
- correct before. The change of 2015-10-22 probably broke named
- semaphores (2015-12-02).
- * arch/arm/src/samv7: Bring programmable clock logic from SAMA5 into
- SAMV7 (2015-12-03).
- * arch/arm/src/samv7: Add PCK6 as an optional source for the timer/
- counter clock (2015-12-04).
- * configs/samv7-xult/: If Tickless mode is selected then enable PCK6
- as a timer/counter clock source (2015-12-04).
- 7.14 2016-01-28 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/samv7: Port the TRNG driver from the SAMA5D3/4 to the
- SAMV7 (2015-12-06).
- * arch/arm/src/samv7: Port the WDT driver from the SAMA5D3/4 to the
- SAMV7 (2015-12-06).
- * arch/arm/src/samv7: Add an RSWDT driver (2015-12-06).
- * drivers/net/telnet.c: Move the Telnet driver from apps/netutils/telnetd
- to drivers/net. It is a driver a belongs in the OS. There are still
- some interface related issues, however (2015-12-07).
- * configs/: Update all configurations that use the Telnet daemon; those
- configurations now need to separately enable the Telnet drvier
- (2015-12-07).
- * drivers/net/telnet.c: Now works like the loop device. A new interface
- called telnet_initialize() registers a telnet session "factory"
- device at /dev/telnet. Via ioctl, the factory device can create
- instances of the telnet character devices at /dev/telnetN to support
- Telnet sessions (2015-12-07).
- * arch/arm/src/samv7: In USBHS device driver, fix check if zero length
- packet is needed (2015-12-08).
- * sched/pthread/: CRITICAL BUGFIX: Logic was wiping out the indication
- that of the type of a pthread. Hence, it could be confused as a
- task. Same problem as fixed on 2015-11-29, but in different location
- (2015-12-09).
- * sched/module: Add support for kernel modules. Initial commit is
- just the ELF module support with name changes (2015-12-10).
- * configs/samv71-xult/module: Add configuration for testing OS
- modules (2015-12-12).
- * sched/module: Add an implementation of rmmod() (2015-12-12).
- * sched/module and fs/procfs: Add some basic module procfs support
- (2015-12-12),
- * arch/arm/src/armv7-r: Add basic architecture support for the ARMv7-R
- processor family (2015-12-13).
- * drivers/led: Adds a driver for the PCA9635PW I2C LED driver IC which
- can be used to control the intensity of up to 16 LEDs. From Alexander
- Entinger (2015-12-15).
- * configs/launchxl-tms57004: Add basic board support for TI LaunchXL-
- TMS57004. Not much to see there yet (2015-12-15).
- * waitpid: CRITICAL BUGFIX. Add a reference count to prevent waitpid
- from using stale memory released by the waited-for task group
- (2015-12-22).
- * sys/time.h: Add timeradd(), timersub(), timerclear(), timerisset(),
- and timercmp() as macros. These are non-POSIX interfaces, but
- included in most BSD deriviatives, including Linux. From Manuel Stühn
- (2015-12-23).
- * arch/arm/src/stm32: Add timer input capture driver. From Pierre-Noel
- Bouteville (2015-12-24).
- * arch/avr: Add support for the Atmega2560. From Dimitry Kloper
- (2015-12-19).
- * configs/arduino-mega2560: Add support for the Arduino-Mega2560. From
- Dimitry Koper (2015-12-29).
- * sched/signal, sched/mqueue, sched/timer, include/signal.h,
- include/nuttx/signal, fs/aio, libc/aio, and probably other
- directories: Add support for the SIGEV_THREAD notification method in
- struct sigevent. This initial implementation will only work in the
- FLAT build. See the top-level TODO file for additional details
- (2015-12-30).
- * include/nuttx/compiler.h, include/nuttx/streams.h include/stdio.h
- include/syslog.h libc/stdio/, and libc/syslog: introduce support for
- Atmel toolchain in-flash strings. Atmel toolchain AVR compiler
- provides a transparent in-flash object support using __flash and
- __memx symbols. The former indicates to compiler that this is a flash-
- based object. The later used with pointer indicates that the referenced
- object may reside either in flash or in RAM. The compiler automatically
- makes 32-bit pointer with flag indicating whether referenced object is
- in flash or RAM and generates code to access either in run-time. Thus,
- any function that accepts __memx object can transparently work with RAM
- and flash objects.
- For platforms with a Harvard architecture and a very small RAM like AVR
- this allows to move all constant strings used in trace messages to flash
- in the instruction address space, releasing resources for other things.
- This change introduces IOBJ and IPTR type qualifiers. The 'I' indicates
- that the object may lie in instruction space on a Harvard architecture
- machine. For platforms that do not have __flash and __memx or similar
- symbols IOBJ and IPTR are empty, making the types equivalent to, for
- example, 'const char' and 'const char*'. For Atmel compiler these will
- become 'const __flash char' and 'const __memx char*'. All printf()
- functions and syslog() functions are changed so that the qualifier is
- used with the format parameter. From Dimitry Kloper (2016-01-05).
- * drivers/net/tun.c: Fix a compile time error in the TUN driver. From
- Vladimir Komendantskiy (2016-01-05).
- * Kconfig and include/debug.h: Add configuration to support an
- architecture-specific debug.h header file. From Dimitri Kloper
- (2016-01-09).
- * arch/avr/include/debug.h: Add an AVR-specific header file used when
- the AVR MEMX pointer is used. From Dimitri Kloper (2016-01-09).
- * tools/cnvwindeps.c: Add a tool that will convert paths in
- dependencies generated by a Windows compiler so that they can be
- used with the Cygwin make (2016-01-09).
- * tools/mkwindeps.sh: A script that coordinates use of cnvwindeps.exe
- (2016-01-09).
- * tools/mkdeps.c: Deleted mkdeps.sh and mkdeps.bat. The mkdeps
- executable generated from mkdeps.c is now that the only supported
- way to make dependencies (2016-01-09).
- * tools/mkdeps.c: Extended/fixed support for --winpath option.
- Dependencies now work under Cygwin with a native Windows toolchain
- (2016-01-10).
- * libc/netdb: Add support for the use of a DNS resolver file like
- /etc/resolv.conf (2016-01-14).
- * drivers/sensors/mcp9844.c and include/nuttx/sensors/mcp9844.h: Driver
- for the MCP9844 I2C digital temperature sensor with a selectable
- resolution. From Alexander Entinger (2016-01-15).
- * arch/arm/src/lpc43xx: Numerous LPC43 improvements to SPIFI and ADC
- from Lok Tep (2016-01-15).
- * configs/lpc4337-ws: Support for the WaveShare LPC4337-WS board. From
- Lok Tep (2016-01-15).
- * drivers/wireless/pn532.c: Add driver for the NXP pn532 NFC-chip. From
- Janne Rosberg and others at Offcode Ltd (2016-01-17).
- * drivers/sensors/lsm9ds1.c: Add driver for the STMicro LSM9DS1 chip.
- The LSM9DS1 is a system-in-package featuring a 3D digital linear
- acceleration sensor, a 3D digital angular rate sensor, and a 3D
- digital magnetic sensor. From Paul Alexander Patience (2016-01-17).
- * configs/olimex-stm32-h407: Added a port to the Olimex STM32 H407
- board. This board features the STMicro STM32F407ZGT6 (144 pins).
- Contributed by Neil Hancock. (2016-01-18)
- * arch/arm/src/stm32/stm32_otgfs/hs/host.c: Fix some backward
- arguments to stm32_putreg(). Note by Hang Xu (2016-01-18).
- * include/nuttx/can.h and several CAN drivers: Add more extensive
- error reporting capaibility to the CAN interface. From Frank
- Benkert (2016-01-18).
- * libc/misc/lib_tea.h and include/nuttx/crypto/tea.h: Add an
- implementation of the Tiny Encryption Algorithm (2016-01-19).
- * sim/include: Now supports a customizable startup script with a
- read-only passwd file (2016-01-20).
- * sim/nsh: Uses the custom start up script, includes hooks for
- an MOTD message. (2016-01-20).
- * include/clock.h and lots of other files: If the 64-bit timer is
- selected, then use it whenever clock_systimer() is called rather
- then chopping the 64-bit timer down to 32-bits. Add a new type,
- systime_t to represent the 32- or 64-bit system timer (2016-01-21).
- * sched/clock/clock_systimespec.c: Fix an error in a time
- conversion (2016-01-21).
- * include/nuttx/clock.h: Get rid of clock_systimer32() and
- clock_systime64(). There is now only clock_systimer() (2016-01-21).
- * arch/arm/src/kinetis: Numerous updates to the Kinetis ENET driver.
- From Andrew Webster (2016-01-21).
- * arch/arm/src/kinetis: Add support for the MK60N512VLL100 Kinetis part.
- From Andrew Webster (2016-01-21).
- * net/tcp and net/iob: Numerous fixes, mostly relate to TCP and IOB
- buffering and race conditions. These were necessary for for the
- NuttX networking later to be stable in some stress testing. From
- Andrew Webster (2016-01-22).
- * include/spi/spi.h: Add an optional hwfeatures() method to the
- SPI interface (2016-01-23).
- * drivers/spi/Kconfig and many other files: Remove CONFIG_SPI_OWNBUS:
- Now its not just a good idea, its the law (2015-01-23).
- * include/nuttx/math32.h and libc/misc: Add some utilities to support
- 64-bit arithmetic operations for platforms that do not support long
- long types. Not yet used anywhere (2015-01-25).
- * arch/arm/src/samv7/chip: Add an AFEC header file (2016-01-25).
- * net/iob: iob_alloc_qentry() has the same issues as did iob_alloc()
- fixed on 2016-01-23. (2016-01-26).
- * drivers/usbhost/hid_parser.c: Wrong size used in memcpy(). From Hang
- Xu (2016-01-25).
- * drivers/ioexpander/pca9555.c: Fixed a bug in the function pca9555_setbit
- which occurs if someone tries to set one of the pins 8-15. The problem is
- that after the check if the pin is greater than 7 the variable addr is
- incremented and used in the Call I2C_WRITEREAD. But later in the call to
- the I2C_WRITE buf[0] is used as address but this address is not incremented
- as it should be. Note address does mean the address to the register in the
- ioexpander and not the I2C address. From Stefan Kolb (2016-01-26).
- * drivers/ioexpander/pca9555: Convert to use I2C_TRANSFER vs. I2C_WRITEREAD,
- the former is thread safe while the latter is deprecated (2016-01-26).
- * drivers/i2c/i2c_writeread.c: Create a wrapper that uses I2C_TRANSFER
- to implement I2C_WRITEREAD functionality (2016-01-26).
- * I2C: Eliminate the I2C_WRITEREAD method (2016-01-26).
- * drivers/i2c/i2c_read.c and i2c_write.c: Convert to use I2C_TRANSFER vs.
- I2C_READ and I2C_WRITE which are not thread safe (2016-01-26).
- * SPI: Rename the STM32 up_spiinitialize() to stm32_spibus_initialize()
- (2016-01-26).
- * SPI: Rename the SAM up_spiinitialize() to sam_spibus_initialize()
- (2016-01-26).
- * SPI: Rename the Tiva up_spiinitialize() to tiva_spibus_intialize()
- (2016-01-26).
- * SPI: Rename the PIC32MX/MZ up_spiinitialize() to pic32mx/mz_spibus_intialize()
- (2016-01-26).
- * SPI: Rename EFM32's efm32_spi_initialize to efm32_spibus_initialize()
- for compatibility with these other changes (2016-01-26).
- * SPI: Rename the KL up_spiinitialize() to kl_spibus_intialize() (2016-01-26).
- * SPI: Rename the Kinetis up_spiinitialize() to kinetis_spibus_intialize()
- (2016-01-26).
- * SPI: Rename the LPC31xx up_spiinitialize() to lpc31_spibus_intialize(),
- Rename the LPC17xx lpc17_spiinitialize() to lpc31_spibus_intialize(),
- Rename the LPC43xx up_spiinitialize() to lpc43_spibus_intialize()
- (2016-01-26).
- * SPI: Rename the AVR up_spiinitialize() to avr_spibus_intialize(),
- Rename the LPC2148 up_spiinitialize() to lpc214x_spibus_intialize(),
- Rename the Calypso up_spiinitialize() to calypso_spibus_intialize(),
- Rename the ez80 up_spiinitialize() to ez80_spibus_intialize(),
- Rename the STR71xx up_spiinitialize() to str71_spibus_intialize(),
- Rename the i.MX1 up_spiinitialize() to imx_spibus_intialize(),
- Rename the LPC2378 up_spiinitialize() to lpc23_spibus_intialize(),
- Rename the M9S12 up_spiinitialize() to hcs12_spibus_intialize(),
- Rename the x86 up_spiinitialize() to i486_spibus_intialize(),
- Rename the z16f up_spiinitialize() to z16_spibus_intialize().
- up_spiinitialize() has been completely eliminated. (2016-01-27).
- * fs/vfs/fs_poll.c: Fix handling of sem_tickwait() return value
- sem_tickwait() does not return an -1+errno, it returns a negated
- errno value. Noted by Freddie Chopin.
- 7.15 2016-03-27 Gregory Nutt <gnutt@nuttx.org>
- * drivers/analog/ads1242.c and include/nuttx/analog/ads1242.h: Driver
- for the 24-Bit Differential Input ADC ADS1242 that communicates via
- SPI with a MCU. Reading the ADC conversion result as well as configuring
- the ADC, setting the input channel, etc. is implemented via ioctl calls.
- However, it does not yet implement the standard ADC interface. From
- Alexander Entinger (2016-01-29)
- * configs/board/src/xyz_cxxinitialize.c: Move C++ initialization logic
- out of the RTOS and into the application space, specifically to
- apps/platform/board, where it belongs (2016-01-29).
- * drivers/modem/u-blox.c and include/nuttx/drivers/u-blox.h: Add an upper
- half driver for the U-Blox Modem. From Vladimir Komendantskiy
- (2016-01-30).
- * arch/arm/src/lpc17xx: Backport lpc43xx I2C driver, replacing the
- lpc17xx I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
- * arch/arm/src/lpc11xx: Backport the lpc17xx I2C driver, replacing the
- lpc11xx I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
- * arch/arm/src/lpc2378: Backo the Lpc17xx I2C driver, replacing the
- lpc2378 I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
- * configs/u-blox-c027: Support for the u-blox GSM and GPS module evaluation
- board with NXP LPCExpresso LPC1768. The GSM module is one of LISA-C200,
- LISA-U200 or SARA-G350. The GPS module is one of MAX-M7 or MAX-M8. From
- Vladimir Komendantskiy (2016-01-31).
- * drivers/, arch/, include/, numerous files: Restructuring of the I2C
- interface necessary to eliminate some thread-safety issues inherent in
- the legacy I2C interface design. This effects the interface definition,
- all I2C clients, and all low-level I2C drivers. I have used caution,
- but I still expect a change of this magnitude to introduce some errors.
- Any bug reports of bug fixes will be much appreciated (2016-02-01).
- * drivers/i2c/i2c_driver.c: Add an I2C character drivers to support
- raw I2C data transfers for test applications (2016-02-02).
- * I2C_RESET: Eliminate up_i2creset(). It should not be a global function;
- Now it is an I2C interface method (2016-02-02).
- * I2C: Rename up_i2cinitialize and up_i2cuninitilize to follow the correct
- naming convention. These are not common interfaces used by the OS;
- these are MCU-specific interfaces used only be MCU-specific code. The
- the correct naming is xyz_i2cbus_initialize and xzy_i2cbus_uninitialize
- where xzy is the MCU mnemonic (2016-02-02).
- * Networking drivers that support CONFIG_NET_NOINTS: Fix a race condition
- that can cause the TX poll timer to stop running. From Manuel Stuhn
- (2016-02-03).
- * All Network drivers: Remove the hsec parameter from devif_timer().
- We can get better timing accuracy without it (2016-02-03).
- * drivers/ioexpander/pca555.c: Add logic to make the PCA555 driver
- thread safe (2016-02-03).
- * sched/init/os_start.c and include/nuttx/init.h: Add a state variable
- that provides the current level of OS initialization. This is needed by
- some logic that may attempt to run early in the start-up sequence but
- cannot run if a sufficient level of initialization has not yet occurred
- (2016-02-05).
- * libc/syslog/lib_syslog.c: If syslog timestamping is enabled, don't try to
- get the time if the timer hardware has not yet been initialized
- (2016-02-05).
- * fs/procfs/fs_procfskmm.c: Add /proc/kmm entry that shows that state of
- the kernel heap. Only useful in PROTECTED and KERNEL build modes where
- there is a kernel heap (2016-02-06).
- * sched/ and arch/: Replace explicit access to the OS internal data structure
- g_readytorun() with the wrapper this_task() which hides the implementation
- and will permit such things as more scalable representations of task queues
- and SMP (2016-02-06).
- * include/nuttx/net/arp.h, include/nuttx/net/ioctl.h, net/netdev/netdev_ioctl.c,
- and ARP-related files: Add support for IOCTL commands to manage the
- ARP table (2016-02-08).
- * ARMv7-A, ARMv7-R, and ARMv7-A: Add test-and-set logic and definitions
- needed to supports spinlocks (2016-02-09).
- * include/nuttx/spinlock.h: Add basic definitions for spinlocks. Not yet
- used by NuttX (2016-02-09).
- * include/nuttx/arch.h, sched/sched/sched.h: Add some basic definitions
- that may be needed for SMP support (2016-02-10).
- * sched/init/os_start.c, sched/init/os_smpstart.c, and include/nuttx/arch.h:
- Add some tentative SMP start-up logic (2016-02-10).
- * arch/arm/sim/up_head.c and up_simsmp.c: Add multi-CPU support to the
- simulation to support SMP investigation.. Currently crashes when CONFIG_SMP
- is enabled as expected (2016-02-10).
- * sched/sched.h and other files: Replace the bool 'prioritized' in the task
- list table with a uint8_t bit set so that additional attributes of a task
- list can be provided without adding more booleans (2016-10-11).
- * Everywhere: Replace irqsave() with enter_critical_section(); replace
- irqrestore() with leave_critical_section(). This is part of the onging
- development of SMP support (2016-02-13).
- * Conform to naming convention: Rename irqsave() to up_irq_save(); rename
- irqrestore() to up_irq_restore(). These should no longer be used. If
- your code still uses them, please switch to enter_critical_section()
- and leave_critical_section() (2016-02-14).
- * Also rename irqdisable() and irqenable() to up_irq_disable() and
- up_irq_enable() (2016-02-14).
- * sched/signal and include/nuttx/sched.h: Move the list of signal
- actions from the TCB to the group structure. Signal handlers are not
- per thread but, rather, per task group. I know, I preferred it the
- other way too, but this is more compliant with POSIX (2016-02-18).
- * fs/ procfs/fs_procfsproc.c: Add support for showing CPU if SMP is
- enabled (2016-02-19).
- * include/pthread.h, sched.h, sys/types.h and other files: Rename
- cpuset_t to cpu_set_t which is the type used in some non-standard
- Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h.
- Add prototypes for sched_setaffinity(), sched_getaffinity(),
- pthread_attr_setaffinity_np(), pthread_attr_getaffinity_np(),
- pthread_setaffinity_np(), and pthread_getaffinity_np(). No implementation
- is yet in place (2016-02-19).
- * sched/sched_cpuselect.c, include/nuttx/sched.h, and other files. Add
- a CPU affinity set to the TCB if SMP is enabled and use this CPU set as
- a mask for determining which CPUs the thread may run on (2016-02-19).
- * libc/pthread, sched/pthread/pthread_start.c, and include/pthread.h:
- Add an affinity field to the attrributes to permit controlling
- which CPUs a pthread may run on. Implements pthread_att_setaffinity_np()
- and pthread_attr_getaffinity_np() (2016-02-19).
- * sched/pthread: Add pthread_setaffinity() and pthread_getaffinity()
- (2016-02-19).
- * sched/sched: Add sched_setaffinity() and sched_getaffinity() (2016-02-19).
- * drivers/leds/rgbled.c: Add a driver to manage a RGB LED via PWM. From
- Alan Carvalho de Assis (2016-02-22).
- * arch/arm/src/stm32f4discovery: Add PWM support for the onboard RGB LED
- From Alan Carvalho de Assis (2016-02-22).
- * arch/arm/src/samv7: HSMCI driver can now be configured to handle unaligned
- data buffers (2016-02-22).
- * fs/fat: Add an option to force all transfers to be performed indirectly
- using the FAT file system's internal sector buffers (2016-02-22).
- * drivers/wireless/ieee802154: New directory. Nothing there yet (2016-02-25).
- * wireless/: New top level directory. Nothing there yet (2015-02-26).
- * wireless/ieee802154: Add an new directory to the build. Nothing there
- yet (2016-02-26).
- * include/nuttx/wireless/ieee802154: Add directory (and dummy header file)
- (2016-02-16).
- * arch/arm/include and src: Rename the imx directories to imx1 to make room
- in the namespace for other members of the i.MX family (2016-02-27).
- * arch/arm/include/imx6 and src/imx6: Evolving support for the NXP/Freescale
- i.MX6Q (2016-02-28).
- * configs/sabre-6quad: Placeholder that will eventually become board support
- for the NXP/Freescale Sabre 6Quad board (2016-02-28).
- * arch/arm/src/stm32: Support for STM32F46xx from Paul Alexander Patience
- * sched/semaphore/sem_reset.c and include/nuttx/semaphore.h: Add an internal,
- non-standard interface to reset a semaphore count. This is sometimes
- needed by drivers in order to recover from error conditions (2016-03-05)
- * AT24xx driver: Correct missing address calculation logic. From Frank
- Benkert (2016-03-08).
- * arch/ renaming: current_regs renamed to g_current_regs in all
- architectures. For ARM which is slowly developing SMP capability,
- g_current_regs is now an array of dimension 1 in most case but of higher
- dimension of the architecuture supports multiple CPUs (2016-03-09).
- * MTD: Increase block size in mtd_geometry_s to 32-bits (2016-03-09).
- * include/nuttx/clock.h: Missing parenteses in MSEC2TICK macro can
- cause wrong calculations. From Stefan Kolb (2016-03-09).
- * Build system: Added a 'make olddefconfig' target that will refresh
- a .config file without interaction. tools/refesh.sh now has a --silent
- option so that it can be used in batch modes without human input
- (2016-03-09).
- * tools/testbuild.sh: .config files were not being updated because (a)
- kconfig-conf was being called in the wrong directory and (b) apps/Kconfig
- had not yet been created. Now uses 'make olddefconfig' (2016-03-09).
- * arch/arm/src/stm32l4 and include/stm32l4: Add support for the STM32L4
- family. From Sebastien Lorquet (2016-03-10).
- * configs/nucleo-l476: Add support for the Nucleo-L476 board. From
- Sebastien Lorquet (2016-03-10).
- * sched/tls and include/nuttx/tls.h: Basic definitions needed to support
- thread local storage (TLS). Not used anywhere yet (and may not be used
- in the near future either) (2016-03-10).
- * sched/sched_note.c and include/nuttx/sched_note.c: Add a configuration
- option to buffer RTOS instrumentation data in an in-memory buffer
- (2016-03-17).
- * drivers/syslog/note_driver.c: Add a character driver that will allow
- an application to read buffered scheduler instrumentation data (2016-03-17).
- * arch/arm/src/samv7/sam_usbdevhs.c: The USB driver has had some issue that
- would occasionally cause loss of packets. Back last December, a fix was
- put in for this but the fix apparently worsens the problem; now causing
- hangs. The basic problem is that the number of busy banks (NBUSYBKS)
- status is not real time but is delayed. This was fixed; now when the DMA
- completes and NBUSYBKS > 0, the NBUSYBK is interrupt is enabled and the
- operations are deferred until NBUSYBKS is truly zero (2016-03-17).
- * net/tcp/tcp_timer.c: Fix some logic when there are multiple network
- interfaces. In this case, TCP timeout events can really only being
- processed when the poll from the correct device is received (2016-03-20).
- * sched/wqueue/kwork_signal.c: Fix logic to find an IDLE worker thread;
- the test for busy was backward. From Linfei Chen (2016-03-22).
- * include/sys/boardctl.h, configs/boardctl.c, and many configurations: Add
- boardctl() support that will permit applications to control USB devices
- (2016-03-25).
- * configs/stm32l476vg-disco: Add support for the STM32L476VG Discovery
- board. From Dave (2016-03-25).
- 7.16 2016-06-01 Gregory Nutt <gnutt@nuttx.org>
- * PM: Add activity domain to all PM interfaces and driver callbacks. If
- CONFIG_PM_NDOMAINS == 1, then the legacy behavior is preserved. If
- CONFIG_PM_NDOMAINS > 1, then multiple PM domains are supported. This
- will allow separate control for certain power management groups. For
- example, a network can be shut down without affect an ongoing UI (and
- vice versa) (2016-03-27).
- * apps/configs/vsn: Removed the VSN configuration from the main NuttX
- repository. The VSN can still be found in the Obsoleted repository
- (along with a full explanation in the README file there) (2016-03-29).
- * arch/arm/src/armv7-m and stm32: Add support for the IAR toolchain for
- the limited case of the ARMv7-M architecture and the STM32 chip. From
- Aleksandr Vyhovanec (2016-04-02).
- * arch/arm/src/stm32/stm32f40xxx_rtc.c: Add a custom RTC driver. From
- Neil Hancock (2016-04-02).
- * include/nuttx/timer/rtc.h and drivers/timers/rtc.c: Simplify the RTC
- interface. The old interface was way to complex and was not fully
- implemented anywhere (2016-04-02).
- * Moved NuttX repository to https://bitbucket.org/nuttx/nuttx (2016-04-06).
- * arch/arm/src/armv7-m/iar: Convert more assembly language files for
- use with the IAR toolchain. From Kha Vo (2016-04-08)
- * Fix miscellaneous build issues for the IAR compiler. From Kha Vo
- (2016-04-08).
- * tools/ide_exporter.py: IDE exported Python script for use with the
- IAR toolchain. From Kha Vo (2016-04-08).
- * STM3220G-EVAL: Add support for both the IAR and uVision GCC IDEs
- From Kha Vo (2016-04-08).
- * STM32F429I Discovery: Add support for the uVision GCC IDE. From
- Kha Vo (2016-04-08).
- * libc/signal and include/signal.h: Rename sigset() to signal().
- sigset() is the System V function; signal() is the obsoleted POSIX
- name. These seem to be equivalent. Neither are relevant in modern
- POSIX programming but the name signal() probably has the better
- credentials. sigset() is now relegated to a #define in signal.h that
- makes it equivalent to signal() (2016-04-10).
- * configs/nucleus2g: Removed the Nucleus2G configuration. There has
- not been any activity with the commercial board in a few years and it
- no longer appears to be available from the 2g-eng.com website.
- Since the board is commercial and no longer publicly available, it
- no longer qualifies for inclusion in the open source repositories.
- The code as of this data is still available in the Obsoleted
- repository at configs/nucleus2g (2016-04-12).
- * arch/arm/src/stm32l4: Fix the STM32L4 SPI driver. That SPI driver is
- quite different. They now handle frames of arbitrary size between 4
- and 16 bits. It was broken before a new bit has to be set (RX fifo
- threshold) to handle <= 8-bit transactions. If not set, the default is
- 16-bit packed >=8-bit frames and the RXNE bit is never set (it is set
- when 16-bits are received). weird things as always.
- This also add 8-bit access routines to the data register, because a
- 16-bit access to the data register when the frame size is below 9 bits
- is interpreted as a packed dual frame exchange. Sebastien Lorquet
- (2016-04-13).
- * net/sockets/listen.c and accept.c and include/nuttx/net: Separate
- out psock_listen() and psock_accept() for internal OS usage
- (2016-04-14).
- * fs/inode/, fs/vfs/, and sched/task/: File and socket descriptors are
- no longer allocated for kernel threads. They must use SYSLOG for
- output and the low-level psock interfaces for network I/O. This
- saves a little memory which might be important for small footprint
- configurations (2015-04-14).
- * Framebuffer driver: Add a display number to each interface in order
- to support multiple display devices (2015-04-14).
- * drivers/wireless/nrf24l01.c: Fix backward calculation of relative
- frequency. Noted by Henry Zhang (2015-04-15).
- * drivers/sensors/h1750fvi.c: Add a character driver for Rohm Ambient
- Light Sensor BH1750FVI. From Alan Carvalho de Assis (2016-04-15).
- * configs/stm32f4discovery: Integrate BH1750FVI driver in the
- STM32F4Discovery board. From Alan Carvalho de Assis (2016-04-15).
- * drivers/mtd: Add MTD support for Micron N25Qxxx family of QSPI flash.
- From Dave dev@ziggurat29.com (2016-04-17).
- * arch/arm/src/stm32l: Add a QSPI driver. From Dave dev@ziggurat29.com
- (2016-04-18).
- * configs/stm32l476vb-disco: Add support for QSPI based N25Qxxx flash.
- From Dave dev@ziggurat29.com (2016-04-18).
- * graphics/vnc: Add support for a VNC server. This logic is code
- complete, but untested and so not ready for prime time (2016-04-18).
- * configs/samv71-xult/vnc: Add a configuration that will be used to
- verify VNC (also untested) (2016-04-18).
- * drivers/ioexpander: Fix an error in the PCA9555 driver: Under certain
- error conditions, interrupts were not being re-enabled. Sebastien
- Lorquet (2016-04-20).
- * arch/arm/src/stm32 and configs/stm32f429i-disco: Correct some bad
- commits that broke the LTDC display example. From Marco Krahl
- (2016-04-22).
- * configs/samv71-xult/vncwwm: Add a more complex NxWM configuration
- to support further VNC testing (particularly of VNC keyboard and
- mouse inputs). Initial configuration is not functional (2016-04-23).
- * arch/arm/src/stm32l4: Add support for QSPI DMA. From Dave
- dev@ziggurat29.com (2016-04-24).
- * configs/stm32l476vg-disco: Update stm32l4 disco board to reflect QSPI
- DMA support. From Dave dev@ziggurat29.com (2016-04-24).
- * arch/arm/src/stm32l4: Add configuration options to allow SRAM2 to be
- used for heap, or not at all, and to zero-initialize it on OS start,
- or not at all. From Dave dev@ziggurat29.com (2016-04-24).
- * drivers/mtd/smart.c: Return code of smart_scan not checked, can
- cause success result in failure case, leading to 'dev' pointer being
- invalid. From Dave dev@ziggurat29.com (2016-04-27).
- * arch/arm/src/stm32l4: Add support for QSPI memory mapped mode. From
- Dave dev@ziggurat29.com (2016-04-27).
- * configs/stm32l476vg-disco: Add board ioctls for allowing user
- application to cause QSPI memory mapped mode to be engaged and
- disengaged. Also partitioned QSPI flash for file system and other
- (eventually xip). From Dave dev@ziggurat29.com (2016-04-27).
- * fs/mount: Fix a backward debug assertion. Noted by David Sidrane
- (2016-04-29).
- * arch/arm/src/stm32l4: Add support for HSE and MSI clocks, and auto
- trim of MSI to LSE (needed for USB). From Dave dev@ziggurat29.com
- (2016-04-29).
- * arch/arm/src/stm32l4: Add support for unique id function to arch;
- modified board to support unique id boardctl. From Dave
- dev@ziggurat29.com (2016-05-03).
- * Makefile.unix and tools/mkexport.sh: Pass top-level make to the
- script to allow -j greater than 1. From David Sidrane (2016-05-04).
- * arch/arm/src/stm32, stm32f7, stm32l4: Fix typo in variable name in
- serial BREAK logic. Review other serial implementations for similar
- naming problems. (2016-05-05).
- * arch/arm/src/samv7: Fix typo in MATRIX register definitions. From
- Stefan Kolb (2016-05-06).
- * arch/arm/src/stm32l4: Problem with resetting backup domain clears
- clocking options set up before in *rcc.c use INITS flag to avoid magic
- reg value to detect power up reset state of RTC correct a problem
- clearing interrupt flags (they weren't) which prevented an alarm from
- ever being used more than once per reset cycle. From Dave
- dev@ziggurat29.com (2016-05-07).
- * arch/arm/src/tiva: Fix a bug of GPIO falling-edge interrupt for tiva.
- From Young (2016-05-07).
- * drivrs/mtd: Add a driver for SST26F spi/qspi flash devices (SPI mode
- only). From Sebastien Lorquet (2016-05-10).
- * Several Makefiles: Add .PHONY definitions to prevent 'clean up to date'
- message weirdness when 'make clean' is done with no .config or Make.defs
- file (2016-05-10).
- * include/nuttx/can.h and drivers/can.c: Improve CAN error reporting.
- From Frank Benkert (2016-05-11).
- * fs/Kconfig: Allow CONFIG_FS_WRITABLE to be manually selectable
- (2016-05-11).
- * Various file: Search for places where a stray semicolon following an
- if condition cause the if body to be executed unconditionally. Fixes
- in all SAM DMA logic, unionfs, OS signalling logic,
- * configs/nucleo-144: Basic port for the Nucleo-144 board with the
- STM32F746ZG MCU. From Kconstantin Berezenko (2015-05-12).
- * arch/arm-src/armv7-a: Complete re-design of logic to initialize each
- CPUn, n > 0, when CONFIG_SMP=y (2016-05-13).
- * arch/arm/src/imx6 and configs/sabre-6quad: The basic i.MX6 port is
- complete. This is a very minimal port at present and probably still
- has some as-of-yet-undiscovered issues (2016-05-17).
- * arch/*/Makefile: Add definitions that can be overrided to use GCC
- instead of LD in the final link. From Paul Alexander Patience
- (2016-05-18) .
- * arch/arm/src/stm32, stm32l4, and stm32f7 serial: Add support for
- compliant BSD-style breaks. From David Sidrane (2016-05-18).
- * enter/leave_critical_section() may attempt to access task lists before
- they have been initialized in the SMP configuration (2016-05-18).
- * configs/stm32f103-minimum: Add support for this minimual STM32F103CBT6
- "blue" board. From Alan Carvalho de Assis (2016-05-18).
- * arch/arm/src/sam* Watchdogs: Rename up_wdginitialize() to something
- more appropriate for an internal, MCU-specific function (2016-05-18).
- * configs/*/src/*_watchdog.c: Remove all implementations of
- up_wdginitialize() which was only used by apps/examples/watchdog.
- That internal OS function is no longer called from application code.
- If you want to use the watchdog example, you will need to configure
- the watchdog driver by calling the appropriate, MCU-specific driver
- configuration function from your board initialization logic
- (2016-05-18).
- * arch/srm/src/stm32l4: Add CAN support for STM32L4. From Sebastien
- Lorquet (2016-05-19).
- * arch/arm/src/samv7: Adds a JTAG config and ERASE config to Kconfig to
- set the CCFG_SYSIO SYSIO Pins. From David Sidrane (2016-05-19).
- * arch/sim/src: Enhance networking support for the simulation under Linux.
- Includes updated support for Linux TUN/TAP, and the addition of support
- for Linux bridge devices. From Steve (2016-05-20).
- * configs/stm32f411e-disco: Add basic configuration for stm32f411e-disco
- board with STM32F411VE chip. From Konstantin Berezenko (2016-05-20).
- * i.MX6 Sabre-6Quad: Basic SMP NSH configuration is now working. But
- this is probably only because the SMP NSH case does not stress the
- logic. There are know outstanding SMP issues as noted in the
- Sabre-6Quad README.txt file (2016-05-22).
- * configs/sabre-6quad: Add an SMP configuration; Enable procfs in all
- configurations (2016-05-22).
- * include/nuttx/crypto/aes.h: Modifications to the crypto API needed
- for LPC43xx. From Alexander Vasiljev (2016-05-23).
- * arch/arm/src/lpc43xx: Add AES support. From Alexander Vasiljev
- (2016-05-24).
- * configs/*/src/tiva_timer.c: Tiva boards: Fix a naming collision,
- rename board-specific function from tiva_timer_initialize() to
- tiva_timer_configure() to remove conflict (2016-05-23).
- * arch/arm/src/sam*: Ensure that the TWIHS (i2c) hw get's its clock
- set when the sequence of sam_i2cbus_initialize(),
- sam_i2cbus_uninitialize(), then sam_i2cbus_initialize() or twi_reset()
- is called. I found this a while back in the stm32 family, so there
- may be more arch-es with this sort of bug. I suppose any driver that
- has the notion of "do not set the freq if it is already set" could be
- suspect. From David Sidrane (2016-05-23).
- * arch/arm/src/samv7: Add the up_systemreset interface to the samv7
- arch. The approach is slightly different in that: 1) It enables
- ARCH_HAVE_RESET and allows the user to set if, and for how long, to
- drive External nRST signal. It also does not contain a default
- board_reset, as that really should be done in the config's src if
- CONFIG_BOARDCTL_RESET is defined. From David Sidrane (2016-05-23).
- * arch/arm/include/lpc43xx and src/lpc43xx: Adds definitions for the
- LPC4337jet100 chip. From Alexander Vasiljev (2016-05-24).
- * Many files: board_app_initialize() now accepts an argument that may
- be used to support initialization in different configurations
- (2016-05-24).
- * arch/arm/src/samv7: Remove disabling of whole USB on suspend of USBHS.
- This fix removes the disabling of the whole USB peripheral on suspend
- interrupt. Its enough to freeze the clock instead. When disabling the
- whole peripheral, the next wakeup-interrupt comes up with an disabled
- clocking. The unfreeze clock has no effect, because the master clock
- is disabled. This makes all registers, including the IDR unwriteable
- and the IRQ falls in an endless loop blocking the whole system.
- Furthermore the disabling of the peripheral clock prevents hotplugging
- or reconnecting the USB. From Frank Benkert (2015-05-25).
- * drivers/lcd: Add support for PCF8574 LCD Backpack driver. This driver
- supports an interface board that is based on the PCF8574 io expander
- and supports the HD44780-based (or compatible) LCD modules. There
- are a myriad of different vendors of such, but they are principally
- the same, save wiring and minor features like jumpers for I2C
- addresses. This driver supports known and unknown variants. From
- Dave (ziggurat29, 2013-6-26).
- * arch/arm/stm32: Add support for a custom 1-wire driver. The serial
- driver already supports a 1-wire interface, but this driver uses the
- same serial logic to implement a lower half driver much like the I2C
- lower half driver. From Aleksandr Vyhovanec (2015-05-25).
- * fs/: Add logic to detach a file structure from a file descriptor.
- This is for use only within the OS. It permits an open file or driver
- to be used across multiple threads (2016-05-26).
- * arch/arm/src/stm32l4: Get I2C working for STM32L4. From Dave
- (ziggurat29) (2016-05-25).
- * fs/ and include/nuttx/fs: Add logic to detach a file structure from a
- file descriptor. This is for use only within the OS. It permits an
- open file or driver to be used across multiple threads. (2016-05-26).
- * drivers/analog/adc.c, include/nuttx/analog/adc.h, and all ADC lower
- half drivers: No longer uses global adc_receive() call. Added a new
- bind() method to the ADC interface. Now the ADC upper half driver
- will register its receipt-of-data callback. This change allows the
- ADC lower half driver to be used with a differ ADC upper half
- (2016-05-26).
- * drivers/analog/ads1255.c: Must not do SPI access from interrupt
- handler. Use the worker thread instead. Must also lock the SPI bus
- before using it. (2015-05-26).
- * drivers/: Several SPI-based drivers modified. All drivers that use
- SPI must call SPI_LOCK and SPI_UNLOCK. This is not optional
- (2016-05-26).
- * drivers/sensors: Fix a bug in crc computation for ms583730.
- Implement POSIX read (2016-05-27).
- * arch/arm/src/samv7: This is a fix to a problem in the handling of the
- oneshot timer. Due to a wrong assumption concerning the behavior
- directly after the start of the timer/counter the function
- sam_oneshot_cancel(…) calculates the wrong remaining time. The code
- assumes that the counter register is zero directly after the start of
- the timer, but this is not true. To start the time/counter a software
- trigger is invoked, this trigger starts the timer/count and sets the
- counter register to zero, but the reset of the counter register is not
- performed instantly. According to the datasheet: "The counter can be
- reset by a trigger. In this case, the counter value passes to zero on
- the next valid edge of the selected clock." Thus the counter is set to
- zero between 0 and USEC_PER_TICK microseconds after the clock was
- started.
- In my fix I use the freerun count value to determine if at least one
- tick passed since the start of the timer and thus if the value of the
- oneshot counter is correct. I also tried to use the function
- up_timer_gettime(…) to achieve this but, at least if compiled with no
- optimization the problem vanishes without using the value of the
- function, the function call takes too long.
- Another problem treated in the fix is that if the oneshot timer/counter
- is canceled, we only know the remaining time with a precision of
- USEC_PER_TICK microseconds. This means the calculated remaining time
- is between 0 and USEC_PER_TICK microseconds too long. To fix this I
- subtract one tick if the calculated remaining time is greater than one
- tick and otherwise set the remaining time to zero. By doing so the
- measured times are much more precise as without it. From Stefan Kolb
- (2016-05-27).
- * arch/arm/src/sama5: Stefan Kolb's change to the SAMV7 Oneshot Timer
- should also be applied to the SAMA5 oneshot time since the drivers are
- identical (2016-05-27).
- * arch/arm/src/stm32l4: Add support for SPI 4 and 5 on stm32f411 chips.
- From Konstantin Berezenko (2016-05-27).
- * arch/arm/src/sam34: Stefan Kolb's change to the SAMV7 Oneshot Timer
- should also be applied to the SAM3/4 oneshot time since the drivers
- are identical (2016-05-29).
- * arch/arm/src/stm32: Allow to not use all channel in a lower part of
- PWM. From Pierre-noel Bouteville (2016-05-30).
- * libc/math: Add a NAN test on 'x' in asin function of lib_asin.c.
- Suggested by Pierre-noel Bouteville (2016-05-31).
- * arch/arm/src/stm32: Fix logic in F4 RTCC driver that prevent ALARM
- interrupt. From Neil Hancock (2016-05-31).
- * arch/arm/src/stm32: Fix STM32 ValueLine ADC IRQ number selection.
- From David Sidrane (2016-05-31).
- * arch/arm/src/samv7: Fix missing unlock of device in MCAN
- mcan_txempty(). From Frank Benkert (2016-06-01).
- 7.17 2016-07-25 Gregory Nutt <gnutt@nuttx.org>
- * drivers/mtd/flash_eraseall.c: Removed. This is no longer used
- in the OS and is simply a wrapper around the MDIOC_BULKERASE
- IOCTL command. It used to be called (only) from
- apps/system/flash_eraseall, but that has been removed because it
- violated the OS/application interface -- by calling flash_eraseall().
- The old code can be found in the Obsoleted' repository (and a revised
- version can be found at apps/fsutils/flash_eraseall) (2016-06-03).
- * arch/arm/src/stm32: STM32 Timer Driver: Change calculation of per-
- timer pre-scaler value. Add support for all timers (2016-6-03)
- * drivers/lcd: Correct conditional compilation in ST7565 driver. From
- Pierre-noel Bouteville (2016-6-03)
- * arch/arm/src/stm32: Correct conditional compilation in STM32 timer
- capture logic. From Pierre-noel Bouteville (2016-6-03)
- * arch/arm/src/efm32: Fix EFM32 FLASH conditional compilation. From
- Pierre-noel Bouteville (2016-6-03)
- * arch/arm/src/lpc43xx: Fix errors in GPIO interrupt logic. From v01d
- (phreakuencies) (2016-06-04)
- * arch/arm/src/kl and lpc11xx: rename xyz_lowputc to up_putc. Remove
- all references to up_lowputc, everywhere (2016-06-04).
- * configs/stm32f103-minimum: Add minnsh configuration. From Alan
- Carvalho de Assis (2016-06-04).
- * arch/arm/src/stm32: Add the up_getc() function to STM32 in order to
- support the minnsh configuration. From Alan Carvalho de Assis
- (2016-06-04).
- * include/sys/boardctl.h: Needs to be usable with C++ files (2016-06-05).
- * tools/tesbuild.sh will now build NxWM configurations (2016-06-05).
- * arch/arm/src/stm32: In PWM driver, just update duty if frequency is
- not changed and PSM started. This removeis glitch or blinking when
- only duty is frequently changed. From Pierre-noel Bouteville (2016-06-05).
- * arch/arm/src/kinetis: Add a USB device controller driver. Derived from
- the pic32mx usb driver, which uses the same usb controller. From kfazz
- (2016-06).
- * configs/teensy-3.x: Add USB support and a usbnsh configuration. From
- kfazz (2016-06).
- * arch/arm/src/stm32: Add support for the STM32F105R. From Konstantin
- Berezenko (2016-06-06).
- * include/signal.h: Change type of SIG_ERR, SIG_IGN, ... to
- _sa_handler_t. The type void does not work with the IAR toolchain.
- From Aleksandr Vyhovanec (2016-06-07).
- * configs/nucleo-144: Refactored configs/nucleo-144 sub-directories to
- support additional nucleo-144 board. Add support for the Nucleo-F767ZI
- board. From David Sidrane (2016-06-07).
- * arch/arm/src/stm32f7 and include/stm32f7: Added STM32F76xxx and
- STM32F77xx families. From David Sidrane (2016-06-08).
- * Refactoring configs/nucleo-144 sub-directories to support additional
- nucleo-144 board. Add support for the Nucleo-F767ZI board. From David
- Sidrane (2016-06-08).
- * include/assert.h: Check if NDEBUG is defined. From Paul Alexander
- Patience (2016-06-08).
- * arch/arm/src/stm32: Fix STM32 DMA code and configuration for STM32F37X
- chips. From Marten Svanfeldt (2016-06-08).
- * drivers/mtd: Add a driver of IS25xP SPI flash devices. From Marten
- Svanfeldt (2016-06-09).
- * arch/arm/src/Kconfig and configs/teensy-3.x: Teensy clock fixes. The
- High Gain bit in MCG_C1 was preventing teensy from booting except
- after a programming session. The second change doesn't appear to
- change any functionality, but complies with restrictions in the k20
- family reference manual on FEI -> FBE clock transiions. From kfazz
- (2016-06-09).
- * configs/*/include/board.h: Fix timer input clock definitions. From
- David Sidrane (2016-06-09).
- * Networking: In both IPv6 and IPv4 incoming logic: (1) Should check
- if the packet size is large enough before trying to access the packet
- length in the IP header. (2) In the comparison between the IP length
- and the full packet length, need to subtract the size of the link
- layer header before making the comparison or we will get false
- positives (i.e., the packet is really too small) (2016-06-09)
- * configs/: All configurations that have both CONFIG_NSH_LIBRARY=y and
- CONFIG_NET=y must now also have CONFIG_NSH_NETINIT=y (2016-06-09).
- * arch/arm/src/kinetis: Kinetis pwm support, based on kl_pwm driver.
- From kfazz (2016-06-09).
- * arch/srm/src/stm32: Fix compilation errors in debug mode of
- stm32_pwm.c. From Konstantin Berezenko (2016-06-09).
- * arch/arm/src/kinetis: Support up to 8 channels per timer. From kfazz
- (2016-06-09).
- * lib/: crc16: Fix error. From Paul Alexander Patience (2016-06-10).
- * lib/: Add crc64 support. From Paul Alexander Patience (2016-06-10).
- * arch/arm/src/kinetis: Added kl_dumpgpio functionality as
- kinetis_pindump. From kfazz (2016-06-10).
- * arch/arm/src/sam34: Fix some errors in AFEC header file. From
- OrbitalFox (2016-06-10).
- * arch/arm/include/stm32: Correct the can2 rx irq number for stm32f10xx
- chips. From Konstantin Berezenko (2016-06-10).
- * drivers/include/input: Button upper half driver: Add definitions
- needed for compilation with the poll() interface is not disabled
- (2016-06-11).
- * Kconfig/, include/debug.h, and many other files: (1) Debug features
- are now enabled separately from debug output. CONFIG_DEBUG is gone.
- It is replaced with CONFIG_DEBUG_FEATURES. (2) The macros dbg() and
- vdbg() have renamed as err() and info(), respectively. This also
- applies to all of the variants as well, lldbg(), llvdbg(), XXdbg(),
- XXvdbg(), XXlldbg(), and XXllvdbg(). (3) Add a new debug level,
- warn() (and all variants vwarn(), llwarn(), etc.). (4) Debug
- assertions can now be enabled separately from debug output. (5) You
- can now enable subsystem/device driver debug output at different
- output levels. For example, CONFIG_DEBUG_FS no longer enables file
- system debug output. It enables general file system debug logic and
- enables selection of CONFIG_DEBUG_FS_ERROR, CONFIG_DEBUG_FS_WARN,
- and CONFIG_DEBUG_FS_INFO (2016-06-12).
- * strtoul() and strtoull(): Fix errno settings required by function
- definition. Resolved Bitbucket Issue #1. From Sebastien Lorquet
- (2016-06-13)
- * arch/arm/src/stm32f7: Add SPI driver. DMA not yet supported. From
- David Sidrane (2016-06-14).
- * configs/nucleo-144: Add test for STM32 F7 SPI. From David Sidrane
- (2016-06-14).
- * alert(): New debug macro: alert(). This is high priority,
- unconditional output and is used to simplify and stanardize crash
- error reporting(2016-06-14).
- * arch/arm/src/tiva: Bug Fix in tiva_serial.c - UART5, UART6 and UART7
- were not being configured as TTYS0 for printing over serial console.
- From Shirshak Sengupta (2016-06-14).
- * SAMV7: SPI: SPI-Freq. 40MHz; VARSELECT; hw-features
- This change adds the following improvements:
- - Increase the allowed SPI-Frequency from 20 to 40 MHz.
- - Correct and rename the "VARSELECT" option
- This option was included in the code as "CONFIG_SPI_VARSELECT" but
- nowhere defined in a Kconfig file. The change renames it to
- "CONFIG_SAMV7_SPI_VARSELECT" and corrects the implementation
- according the datasheet of Atmel. In short, this option switches
- the processor from "fixed peripheral selection" (single device) to
- "variable peripheral selection" (multiple devices on the bus).
- - Add a new Function to the interface to control the timing and delays
- of the chip according the ChipSelect lines. This function can
- control the delay between the assertion of the ChipSelect and the
- first bit, between the last bit and the de-assertion of the
- ChipSelect and between two ChipSelects. This is needed to tune the
- transfer according the specification of the connected devices.
- - Add three "hw-features" for the SAMV7, which controls the behavior
- of the ChipSelect:
- - force CS inactive after transfer: this forces a (short)
- de-assertion of the CS after a transfer, even if more data is
- available in time
- - force CS active after transfer: this forces the CS to stay active
- after a transfer, even if the chip runs out of data.
- Btw.: this is a prerequisit to make the LASTXFER bit working at all.
- - escape LASTXFER: this suppresses the LASTXFER bit at the end of the
- next transfer. The "escape"-Flag is reset automatically.
- From Frank Benkert (2016-06-14)
- * Many CONFIG_DEBUG_* options did not have matching macros defined in
- include/debug.h. Rather, there were various definitions scattered
- throughout the sourse tree. These were collected together and
- centralized with single macro definitions in include/debug.h
- (2016-06-15)
- * STM32F7: Add SPI, I2C, and ADC drivers. From Lok Tep (2016-06-15).
- * err(), warn(), info(), and alert() renamed to include leading '_'.
- This was done to avoid some naming collisions (2-06-16
- * STM32: Move backup domain reset to to earlier in the initialization
- sequence (stm32_rcc.c() in order to avoid disabling LSE during RTC
- initialiation. From Alan Carvalho de Assis (2016-06-16).
- * SYSLOG: syslog() will now automatically redirect output to lowsyslog()
- if called from an interrupt handler (2016-06-16).
- * STM32: When configuring a GPIO via stm32_configgpio() the function
- will first set the mode to output and then set the initial state of
- the gpio later on. If you have an application with an externaly
- pulled-up pin, this would lead to a glitch on the line that may be
- dangerous in some applications (e.G. Reset Line for other chips,
- etc). This changes sets the output state before configuring the pin
- as an output. From Pascal Speck (2016-06-17).
- * STM32 F7: Apply Pascal Speck's GPIO STM32 change to STM32 L4
- (2016-06-17).
- * STM32 L4: Apply Pascal Speck's GPIO STM32 change to STM32 L4.
- From Sebastien Lorquet (2016-06-17).
- * Review all uses of *err(). These macro family should indicate only
- error conditions. Convert *err() to either *info() or add ERROR:,
- depending on if an error is reported (2016-06-17).
- * STM32F7: Review, correct, and update I2C, SPI, and ADC drivers. From
- David Sidrane (2016-06-17).
- * LPC17 Ethernet: Needs to correctly ignore PHYID2 revision number
- when comparing PHY IDs (2016-06-18).
- * SYSLOG: Consolidate all SYSLOG logic in drivers/syslog. Add an
- abstraction layer that supports: (1) redirection of SYSLOG outpout.
- This is usually so that you can boot with one SYSLOG output but
- transition to another SYSLOG output when the OS has initialialized,
- (2) adds common serialization of interrupt output as a configuration
- option. Without this configuration setting, interrupt level output
- will be asynchronous. And (3) vsyslog is now a system call and is
- usable with other-than-FLAT builds (2016-06-19).
- * TCP Networking: While working with version 7.10 I discovered a
- problem in TCP stack that could be observed on high network load.
- Generally speaking, the problem is that RST flag is set in
- unnecessary case, in which between loss of some TCP packet and its
- proper retransmission, another packets had been successfully sent.
- The scenario is as follows: NuttX did not receive ACK for some
- sent packet, so it has been probably lost somewhere. But before
- its retransmission starts, NuttX is correctly issuing next TCP
- packets, with sequence numbers increasing properly. When the
- retransmission of previously lost packet finally succeeds, tcp_input
- receives the accumulated ACK value, which acknowledges also the
- packets sent in the meantime (i.e. between unsuccessful sending of
- lost packet and its proper retransmission). However, variable unackseq
- is still set to conn->isn + conn->sent, which is truth only if no
- further packets transmission occurred in the meantime. Because of
- incorrect (in such specific case) unackseq value, few lines further
- condition if (ackseq <= unackseq)is not met, and, as a result, we
- are going to reset label. From Jakub �ągwa (2016-06-20).
- * SYSLOG: Remove lowsyslog(), vlowsyslog(), and associated macros
- *llinfo(), *llwarn(), and llerr(). In the redesigned syslog() logic,
- these serve no purpose (2016-06-20).
- * Make system: Need to build the drivers/ directory even it file
- descriptors are not supported. There are things in the drivers/
- directory that are still needed (like SYSLOG logic) (2016-06-20).
- * assert.h: Define static assert for C++ usage. From Paul Alexander
- Patience (2016-06-21).
- * arch/arm/src/stm32l4: Add ioctls to set/get bit timing in stm32l4.
- Add ioctl hooks to allow future management of can id filters. From
- Sebastien Lorquet (2016-06-21).
- * drivers/can.c: Add support for poll. From Paul Alexander Patience
- (2016-06-21).
- * drivers/syslog: Extend SYSLOG logic so that we can send SYSLOG output
- to a file. Not verified on initial commit (2016-06-21).
- * arch/arm/src/stm32l4: Add some CAN mode IOCTL calls. These will be
- useful for device autotest when the application boots. They are
- redundant with the CONFIG_CAN_LOOPBACK option, which can now just be
- interpreted as a default setting. From Sebastien Lorquet (2016-06-22).
- * drivers/syslog: syslog_dev_flush() needs to check if the inode is a
- mountpoint before calling the flush() method. Noted by David Sidrane
- (2016-06-22).
- * arch/arm/src/stm32f7: Adds SDMMC1 for stm32F7 74-75. From Lok Tep
- (2016-06-22).
- * drivers/syslog: SYSLOG character device channel will now expand LF to
- CR-LF. Controllable with a configuration option (2016-06-22).
- * arch/arm/src/stm32l4: Implementation of loopback IOCTLs. From
- Sebastien Lorquet (2016-06-22).
- * Documentation: Add SYSLOG documentation to the porting guide
- (2016-06-22).
- * configs/stm32f746g-disco: Removed knsh configuration it failed to
- refresh (via tools/refresh.sh). I assume that it is a hand-edited
- configuration and, hence, must be removed from the repository
- (2016-06-23).
- * arch/arm/arc/sam34: DAC bugfix: DACC_WPMR_WPKEY_MASK -> DACC_WPMR_WPKEY.
- Timer bugfix: Fix ops check in TCIOC_STOP. From Wolfgang Reissnegge
- (2016-06-23).
- * configs/nucleo-144: Added SDMMC support to Nucleo-144. From David
- Sidrane (2016-06-23).
- * arch/arm/src/stm32: Port STM32L4 CAN IOCTLs to STM32. From Sebastien
- Lorquet (2016-06-24).
- * drivers/ioexpander: Add support for a very simple GPIO driver. It
- supports only pre-conrigured input and output pins and only basic
- input and output operations (2016-06-24).
- * arch/arm/src/lpc43xx: Correct auto-negotiation mode in the LPC43xx
- Ethernet. From Alexander Vasiljev (2016-06-24)
- * arch/arm/src/samv7: TWIHS Driver improved and GPIO-Driver fixed for
- Open-Drain Pins
- - sam_gpioread: Now the actual line level from the pin is read back.
- This is extremely important for Open-Drain Pins, which can be used
- bidirectionally
- - Re-Implemented twi_reset-function and enhanced it so it can be
- called from inside the driver (see next point)
- - Glitch-Filter: Added a configuration option to enable the twi-built-
- in glitch filter
- - Added a "Single Master Mode": In EMC Testing the TWI-Bus got stuck
- because the TWI-Master detected a Multi-Master access (but there is
- no second master). With the option "Single Master" we detect these
- events and automatically trigger a twi_reset. We also do an
- automatic recovery if a slave got stuck (SDA stays low).
- With the above changes I²C-Bus reliability in harsh environments (eg.
- EMC) is greatly improved. The small change in the GPIO-Driver was
- necessary because otherwise you cannot read back the correct line
- status of Open-Drain Outputs and this is needed by the twi_reset
- function. From Michael Spahlinger (2016-06-24)
- * arch/arm/src/stm32f7: BUGFIX:PLLs IS2 and SAI P Calculation. From
- David Sidrane (2016-06-24).
- * arch/arm/src/stm32f7: USB support. From Lok Tep (2016-06-27).
- * configs/olimex-stm32-e407: Add support for Olimex STM32 E407
- board. From Mateusz Szafoni (2016-06-27).
- * drivers/ioexpander: Shadow-Mode: The output- and configuration
- registers of the IO-Expander are held in the microcontrollers memory
- and only written to the IO-Expander. This reduces bus traffic and
- is more error-proof than the normal read-modify-write operation. Retry
- Mode: If enabled and an error occurs while writing to the IO-Expander
- the current transmission is automatically repeated once. From Michael
- Spahlinger (2016-06-27).
- * libc/hex2bin: Move the portable library portion of apps/system/hex2bin
- to nuttx/libc/hex2bin where it can be shared with the OS internals
- (2016-06-27).
- * configs/nucleo-144: Added USB OTG device to Nucleo-144. From David
- Sidrane (2016-06-27).
- * arch/arm/src/stm32l4: STM32 CAN fixes need to be backported to
- STM32L4 as well (2016-06-27).
- * ARM stack check: Fix double fault on IDLE task with stack size = 0.
- From David Sidrane (2016-06-27).
- * configs/nucleo-144: Added bbsram test to Nucleo-144. From David
- Sidrane (2016-06-27).
- * arch/arm/src/stm32f7: Added PWR, RTC, and BBSRAM support for stm32f7.
- From David Sidrane (2016-06-27).
- * Build system: Fixed build of SAMV71-XULT/nsh. With the changes from
- 26f7b8c the build process of the default configuration did not succeed
- anymore. From Michael Spahlinger (2016-06-28).
- * sched/semaphore: Need to set errno to EINVAL on errors in sem_post()
- and sem_wait(). From Paul Alexander Patience (2016-06-28).
- * Build system: This change fixes a build problem that only occurs when
- reconfiguring from Linux to Windows or vice-versa. It is a problem
- that was present but not usually experienced until two things happened:
- (1) The pre_config target was added to run before the menconfig
- operation and (2) the context target was added before the pre_config
- target in order to set up the correct symbolic links (in the apps/platform
- directory) needed by the pre_config target.
- But then now if you start with a Linux system and run 'make menuconfig'
- to switch to Linux, the context target will execute first and set up
- POSIX style symbolic links before doing the menuconfig. Then after the
- menuconfig, the make will fail on Windows if you are using a Windows
- native toolchain because that native toolchain cannot follow the Cygwin-
- style symbolic links.
- The fix here is to also execute the clean_context AFTER executing
- menuconfig. A lot more happens now: It used to be that doing 'make
- menuconfig' only did the menuconfig operation. Now it does context,
- pre_config, menuconfig, clean_context. Not nearly as snappy as it used
- to be (2016-06-28).
- * arch/arm/src/efm32, lcp43, stm32, stm32l4: disable interrupts with
- NVIC_IRQ_CLEAR. From Paul Alexander Patience (2016-06-28).
- * arch/arm/src/stm32f7: STMF7xxx RTC: (1) Remove proxy #defines, (2)
- Ensure the LSE(ON) etal are set and remembered in a) A cold start
- (RTC_MAGIC invalid) of the RTC, and b) A warm start (RTC_MAGIC valid)
- of the RTC but a clock change. The change was needed because in bench
- testing a merge of the latest's STM32 53ec3ca (and friends) it became
- apparent that the sequence of operation is wrong in the reset of the
- Backup Domain in the RCC code. PWR is required before the Backup
- Domain can be futzed with. !!!This Code should be tested on STM32 and
- if needed rippled to the STM32 families. From David Sidrane
- (2016-06-28).
- * arch/arm/src/stm32f7: Added STMF7xxx RTC. From David Sidrane
- (2016-06-28).
- * arch/arm/src/stm32: STM32 BBSRAM fixed (and formatted) flags. From
- David Sidrane (2016-06-28).
- * arch/arm/src/stm32f7: STM32F7 BBSRAM fixed (and formatted) flags.
- From David Sidrane (2016-06-28).
- * arch/arm/src/stm32f7: Added STM32F7 DBGMCU. From David Sidrane
- (2016-06-28).
- * arch/arm/src/samv7: SAMV7: CAN Message Filtering fixed: (1) stdfilters
- didn't work because the filter was never enabled (wrong number of bits
- to shift), and (2) Filters were never used because the configuration
- register cannot be written without using the initialization mode.
- Both bugs are fixed by this change. Filtering has been tested with
- both standard and extended identifiers and is now working properly.
- From Michael Spahlinger (2016-06-29).
- * configs/Kconfig and dummy/: Add logic to support custom board
- directories that include a Kconfig file. During the context phase
- of the build, any Kconfig file in the custom board directory is copied
- into configs/dummy, replacing the existing Kconfig file with the
- target Kconfig file (2016-06-29).
- * arch/arm/src/stm32l4: Port support for both RX FIFOs from STM32 CAN.
- From Paul Alexander Patience (2016-06-29).
- * Remove all inclusion of header files from the apps/include directory.
- This caused a lot of reshuffling of logic: binfmt pcode support,
- usbmonitor is now a kernel thread, TZ/Olson database moved to
- libc/zoneinfo (2016-06-29).
- * drivers/mtd: Several MTD FLASH drivers nullify the freed 'priv'
- structure and failed to return NULL as stated in the comments.
- Result, will operate on a NULL pointer later. Noted by David Sidrane
- (2016-06-30).
- * arch/arm/src/kinetis: Add basic support for the K64 family. I
- leveraged the changes from https://github.com/jmacintyre/nuttx-k64f
- and merged into the existing kinetis code with a lot of changes and
- additions (like pin multiplexing definitions). (2016-07-01).
- * configs/freedom-k64f: Add support for the NXP Freedom-K64F board.
- This is primarily the work of Jordan Macintyre. I leveraged this
- code from https://github.com/jmacintyre/nuttx-k64f but with
- significant corrections (LEDs, buttons, README, etc) and extensions
- and updates to match more recent BSPs (2016-07-01).
- * libc/signal: Add raise() (2016-07-04).
- * drivers/syslog: Add a SYSLOG character device that can be used to re-
- direct output to the SYSLOG (2016-07-05).
- * net/netdev: Break out internal interface psock_ioctl() (2016-07-06).
- * configs/stm32f4disovery: Add can driver for stm32f4discovery. From
- Matthias Renner (2016-07-06).
- * configs/freedom-k64f: Increase MCU clock to 120MHz (2016-07-06).
- * arch/arm/src/stm32: Add support for Tickless mode (two timer
- implementation). From Max Neklyudov (2016-07-06).
- * drivers/usbdev: cdcacm_unbind leaks write request objects. This
- arises due to freeing the bulk IN endpoint before the loop that
- frees the requests via cdcasm_freereq. That function checks the
- parameters and skips the freeing if either is NULL. Freeing the bulk
- IN enpoint will cause the first param to be NULL, thereby bypassing
- the free operation. To fix, I moved the release of the bulk IN
- endpoint until after to loop (much as was the case for the OUT and
- read requests, which did not exhibit the problem). From ziggurat29
- (2016-07-07).
- * arch/arm/src/stm32l4: Update usb dev/host controller drivers to
- reflect new(ish) logging standards; augment device enpoint and fifo
- allocation #defines to do more sanity checking, and be automatically
- adaptive to size changes. Update README.txt to reflect current status
- of the implementation. From ziggurat29 (2016-07-07).
- * arch/arm/src/stm32f7: Fixed STM32F7 DMA stm32_dmacapable. DMA working
- on SDMMC. From David Sidrane (2016-07-07).
- * configs/stm32f4discovery: add configuration files for canard. From
- Matthias Renner (2016-07-08).
- * drivers/pipe: Add missing configuration for pipe ring buffer size.
- From Frank Benkert (2016-07-08).
- * STM32L4: Fix incorrect clock setup for LPTIM1. From ziggurat29
- (2016-07-08).
- * nucleo-l476rg and stm32lf76vg-disco: Define timer clock frequencies on
- STM32L4-based boards. From ziggurat29 (2016-07-08).
- * STM32L4: Add support for tickless OS, and incidentally timers, pwm,
- oneshot, free-running.... From ziggurat29 (2016-07-08).
- * SAM3/4 I2C: Fix reversed logic in twi_startmessage(). From Wolfgang
- Reissnegger (2016-07-09).
- * VFS ioctl(). Per comments from David Sidrane, file_ioctl() should not
- return succeed if the ioctl method is not supported. It probably
- should return ENOTTY in that case (2016-07-09).
- * libm: This change should significantly improve the performance of
- single precision floating point math library functions. The vast
- majority of changes have to do with preventing the compiler from
- needlessly promoting floats to doubles, performing the calculation
- with doubles, only to demote the result to float. These changes only
- affect the math lib functions that return float. From David Alessio
- (2016-07-11).
- * STM32F4 Discovery: Add FPU support for ostest for the STM32F4Discovery
- platform. From David Alessio (2016-07-11).
- * Build system: Remove the includes/apps link to apps/include. It is
- no longer used. From Sebastien Lorquet (2016-07-11).
- * printf(): If there are no streams, let printf() fall back to use
- syslog() for output (2016-07-11).
- * Qemu-i486: Fix qemu-i486/ostest/Make.defs test for M32. From Heath
- Petersen (2016-07-12).
- * UART 16550: Handle when CONFIG_SERIAL_UART_ARCH_IOCTL is not enabled.
- From Heath Petersen (2016-07-12).
- * Kinetis Ethernet: Add support for the KSZ8081 PHY (2016-07-12).
- * SST26 Driver: Before accessing the sst26 flash, the "Global Unlock"
- command must me executed, which I do in the sst26 driver. BUT re-
- reading the datasheet, the WREN instruction is required to enable the
- execution of this command. This was not done. I have no idea how the
- driver currently works except by chance. The writes should never
- happen at all, the flash is half-enabled! From Sebastien Lorquet
- (2016-07-12).
- * Freedom K64F: Add a networking NSH configuration. (2016-07-12).
- * N25Qxx Driver: Alter the notion of 'blocksize' to be equivalent to
- 'flash write page size' in order to align with assumptions in the
- smartfs driver (at least, maybe other things do as well). Correct a
- bug that was previously masked by having blocksize=eraseblocksize
- which would cause buffer overflows and delicious hardfaults. Trivial
- spelling changes in comments, etc. From ziggurat29 (2016-07-12).
- * STM32L476 Discovery: Update stm32l476 disco to include init code for
- smartfs and nxffs for cases where those fs are included in build.
- From ziggurat29 (2016-07-12).
- * Kinetis Ethernet and Freedom-K64F: Freedcom-K64F PHY address was
- wrong. Modified Ethernet driver to try all PHY addresses and then
- only fail if the driver cannot find a usable PHY address. MDIO pin
- must have an internal pull-up on the Freedom-K64F (2016-07-12).
- * Kinetis Ethernet: Add support for CONFIG_NET_NOINTS (2016-07-12).
- * SmartFS: Fix a 32-byte memory leak. From Ken Pettit (2016-07-12).
- * Freedom-K64F: SDHC is now enabled in the nsh configuration (but does
- not work)Add hooks for automounter; Change NSH configuration to use
- Windows (2016-07-13).
- * SAMV7 USBHS Device: This change solves a problem which causes data
- loss while sending data via USB. This problem is caused by an incorrect
- handling of the endpoint state in the USB driver sam_usbdevhs. This
- leads under some circumstances to situations in which an DMA transfer
- is setup while a previous DMA transfer is currently active. Amongst
- other things I introduced the new endpoint state USBHS_EPSTATE_SENDING_DMA
- for the fix. To reproduce the problem, I used a program which send as
- many data as possible via a CDC/ACM device and verified the received
- data on the PC. From Stefan Kolb (2016-07-13).
- * STM32: Fix bug in oneshot timer. From Max Neklyudov (2016-07-13).
- * STM32L4: Port foward bugfix from stm32 of oneshot timer. From
- ziggurat29 (2016-07-13).
- * STM32 and EFM32: I'm using syslog through ITM. In this case
- syslog_channel function is call before RAM initialization in
- stm32_clockconfig. But syslog channel uses a global variable that is
- reset to default by the RAM initialization. From Pierre-noel
- Bouteville (2016-07-14).
- * LPC43xx SPIFI: If CONFIG_SPIFI_SECTOR512 undefined, lpc43_bwrite
- doesn't do actual write (probably copy/paste errors). Still not sure
- about current state of lpc43_spifi implementation, but for me NXFFS
- works with this patch. From Vytautas Lukenskas (2016-07-14).
- * SMART MTD layer: Fixes freesector logic error when sectorsPerBlk=256,
- adds DEBUGASSERT for invalid geometry and additional memory debug
- logic. Also fixes the dangling pointer on error bug. From Ken
- Pettit (2016-07-14).
- * arch/arm/src/lpc43xx: Extend LPC43xx EMC code to support SDRAM on a
- dynamic memory interface. From Vytautas Lukenskas (2016-07-19).
- * arch/sim/src: Add the simulated QSPI (N25Q) flash to the simulation
- and modify sim up_spiflash.c to enable it to run with different MTD
- drivers based on config options (currently m25p, sst26 and w25).
- From Ken Pettit (2016-07-19).
- * drivers/pipe: Add support to allocating different sizes for pipe and
- fifo buffers. Adds mkfifo2() and pipe2() which are just like mkfifo()
- and pipe(), but allow control of the size of the underlying, in-memory
- circular buffer . Move pipe() and mkpipe() to nuttx/libc, they are no
- longer core OS interfaces. Capability currenty used only by PTY logic
- to support, configurable, smaller buffers for PTYs (2016-07-19).
- * include/nuttx/drivers: Move driver-related files from include/nuttx
- to include/nuttx/drivers. Move driver related prototypes out of
- include/nuttx/fs/fs.h and into new include/drivers/drivers.h
- (2016-07-20).
- * include /nuttx/lib: Move library-related files from include/nuttx to
- include/nuttx/lib (2016-07-21).
- * drivers/serial/serial.c: Fix a race condition noted by Stefan Kolb.
- Between the test if the TX buffer is full and entering a critical
- section, bytes may be removed from the TX buffer making the wait
- unnecessary. The unnecessary wait is an inefficiency, but not really
- a problem. But with USB CDC/ACM it can be a problem because the
- entire TX buffer may be emptied when we lose the race. If that
- happens that uart_putxmitchar() can hang waiting for data to be
- removed from an empty TX buffer (2016-07-22).
- * arch/arm/src/stm32 and stm32l4: STM32 F4/L4 RTC ALARM: were enabling
- interrupts too early in the power-up sequence, BEFORE the interrupt
- system was being initialized (2016-07-23).
- * drivers/ioexpander: GPIO driver: Add support for receiving signals
- from interrupt pins (2016-07-23).
- * drivers/usbdev: USBMSC: Add locks when removing request from queue.
- From Wolfgang Reissnegger (2016-07-23).
- * drivers/usbdev: USBMSC: Fix reversed logic on waiting for SCSI thread
- start. The scsi thread was waiting for the wrong condition. However,
- this was masked by the fact that the code creating the scsi thread was
- also holding usbmsc_scsi_lock(priv) while initializing data, hence
- this lock synchronized the scsi thread start with init completion.
- From Wolfgang Reissnegger (2016-07-23).
- * arch/arm/src/sam34: SAM3/4 UDP: Fix handling of endpoint RX FIFO
- banks. This fixes a race condition where the HW fills a FIFO bank
- while the SW is busy, resulting in out of sequence USB packets
- (2016-07-23).
- * Freedom-K64F: Add PWM support. From Jordan MacIntyre (2016-07-25).
- 7.18 2016-10-08 Gregory Nutt <gnutt@nuttx.org>
- * drivers/serial/pty.c, serial.c, usbdev/cdcacm.c, include/nuttx/fs/ioctl.h:
- Fix FIONWRITE and add FIONSPACE. All implementations of FIONWRITE
- were wrong. FIONWRITE should return the number of bytes waiting in
- the outgoing send queue, not the free space. Rather, FIONSPACE should
- return the free space in the send queue (2016-07-25).
- * lib_dumpbuffer: Now prints a large on-stack buffer first to avoid
- problems when the syslog output is prefixed with time. From Pierre-
- noel Bouteville (2016-07-27).
- * sched/clock and sched/sched: Add standard adjtime() interface and
- basic timekeeping support. Normally used with an NTP client to keep
- system time in synchronizationi. From Max Neklyudov (Merged on
- 20160-07-28).
- * arch/arm/src/stm32: Add timekeeping support for the STM32 tickless
- mode. From Max Neklyudov (Merged on 20160-07-28).
- * Top-Level Makefiles. Fix a chicken-and-egg problem. In the menuconfig
- target, the context dependency was executed before kconfig-mconf.
- That was necessary because the link at apps/platform/board needed to
- be set up before creating the apps/Kconfig file. Otherwise, the
- platform Kconfig files would not be included. But this introduces
- the chicken-and-egg problem in some configurations.
- In particular: (1) An NX graphics configuration is used that requires
- auto-generation of source files using cpp, (2) the configuration is
- set for Linux, but (3) we are running under Cygwin with (4) a Windows
- native toolchain. In this case, POSIX-style symbolic links are set
- up but the Windows native toolchain cannot follow them.
- The reason we are running 'make menuconfig' is to change from Linux
- to Cygwin, but the target fails. During the context phase, NX runs
- CPP to generate source files but that fails because the Windows native
- toolchain cannot follow the links. Checkmate.
- This was fixed by changing all of the make menuconfig (and related)
- targets. They no longer depend on context being run. Instead, they
- depend only on the dirlinks target. The dirlinks target only sets
- up the directory links but does not try to run all of the context
- setup; the compiler is never invoked; no code is autogeneraed; and
- things work (2016-07-28).
- * tools/refresh.sh: Recent complexities added to apps/ means that
- configuration needs correct Make.defs file in place in order to
- configure properly (2016-07-28).
- * tools/kconfig2html.c: Update to handle absolute paths when sourcing
- Kconfig files (2016-07-29).
- * libc/math: This fixes the following libc/math issues: (1) asin[f l]()
- use Newton’s method to converge on a solution. But Newton’s method
- converges very slowly (> 500,000 iterations) for values of x close
- to 1.0; and, in the case of asinl(), sometimes fails to converge
- (loops forever). The attached patch uses an trig identity for
- values of x > sqrt(2). The resultant functions converge in no more
- than 5 iterations, 6 for asinl(). (2) The NuttX erf[f l]() functions
- are based on Chebyshev fitting to a good guess. The problem there’s a
- bug in the implementation that causes the functions to blow up with x
- near -3.0. This patch fixes that problem. It should be noted that
- this method returns the error function erf(x) with fractional error
- less than 1.2E-07 and that’s fine for the float version erff(), but
- the same method is used for double and long double version which
- will yield only slightly better precision. This patch doesn't address
- the issue of lower precision for erf() and erfl(). (3) a faster
- version of copysignf() for floats is included. From David S. Alessio
- (2016-07-30).
- * I/O Expander: Remove hard-coded PCA9555 fields from ioexpander.h
- definitons. Add support for an attach() method that may be used when
- any subset of pin interrupts occur (2016-07-31).
- * PCA9555 Driver: Replace the signalling logic with a simple callback
- using the new definitons of ioexpander.h. This repartitioning of
- functionality is necessary because (1) the I/O expander driver is the
- lower-lower part of any driver that uses GPIOs (include the GPIO
- driver itself) and should not be interacting directly with the much
- higher level application layer. And (2) in order to be compatible
- with the GPIO driver (and any arbitrary upper half driver), the
- PCA9555 should not directly signal, but should call back into the
- upper half. The upper half driver that interacts directly with the
- application is the appropriate place to be generating signal
- (2016-07-31).
- * drivers/ioexpander/skeleton.c: Add a skeleton I/O Expander driver
- (based on the PCA9555 driver) (2016-07-31).
- * I/O Expander Interface: Encode and extend I/O expander options to
- include interrupt configuration (2016-07-31).
- * drivers/ioexpander: Add an (untested) TCA64XX I/O Expander driver
- leveraged from Project Ara (2016-07-31).
- * I/O Expander Interface: Add argument to interrupt callback. Add a
- method to detach the interrupt (2016-08-01).
- * drivers/ioexpander: Add a GPIO lower-half driver that can be used to
- register a GPIO character driver for accessing pins on an I/O expander
- (2016-08-01).
- * drivers/ioexpander: Add PCF8574 I/O Expander driver. Some cleanup
- also of other expander drivers (2016-08-01).
- * drivers/ioexpander: GPIO driver: Add IOCTLs to get the pin type and
- to unregister a signal handler (2016-08-01).
- * configs/sim: Add simulator-based test support for apps/examples/gpio
- 2016-08-01).
- * drivers/sensors: Add KXTJ9 Accelerometer driver from the Motorola
- Moto Z MDK (2016-08-02).
- * arch/arm/sim: Add a simulated I/O Expander driver (2016-08-03).
- * configs/sim: Add logic to set the simulated I/O expander for testing
- with apps/examples/gpio (2016-08-03).
- * fs/fat: FAT performance improvement. In large files, seeking to a
- position from the beginning of the file can be very time consuming.
- ftell does lssek(fd, 0, SET_CURR). In that case, that is wasted time
- since we are going to seek to the same position. This fix short-
- circutes fat_seek() in all cases where we attempt to seek to current
- position. Suggested by Nate Weibley (2016-08-03).
- * tools/sethost.sh: Add sethost.sh. This is a script that you can use
- to quickly change the host platform from Linux to Windows/Cygwin.
- Might save you a lot of headaches (2016-08-03).
- * arch/arm/src/tiva: Add tiva PWM lower-half driver implementation.
- From Young (2016-08-05).
- * drivers/spi/spi_transfer.c: Add a helper function that encapsulates
- and manages a sequence of SPI transfers (2016-08-05).
- * drivers/spi: Add an SPI character driver that will permit access to
- the SPI bus for testing purposes. This driver is a simple wrapper
- around spi_transfer() (2016-08-05).
- * drivers/wireless: Add MFRC522 RFID ISO14443 and Mifare transceiver
- driver. From Alan Carvalho de Assis (2016-08-06).
- * configs/stm32f103-minimum: Add board support to MFRC522 driver. From
- Alan Carvalho de Assis (2016-08-06).
- * arch/renesas: Rename arch/sh to arch/renesas (2016-08-06).
- * arch/arm/src/efm32, stm32, stm32l4: STM32 and EFM32 SPI drivers
- adopted an incompatible conventions somewhere along the line. The
- set the number of bits to negative when calling SPI_SETBITS which had
- the magical side-effect of setting LSB first order of bit
- transmission. This is not only a hokey way to pass control
- information but is supported by no other SPI drivers. This change
- three things: (1) It adds HWFEAT_LSBFIRST as a new H/W feature.
- (2) It changes the implementations of SPI_SETBITS in the STM32 and
- EFM32 derivers so that negated bit numbers are simply errors and it
- adds the SPI_HWFEATURES method that can set the LSB bit order, and
- (3) It changes all calls with negative number of bits from all
- drivers: The number of bits is now always positive and SPI_HWFEATURES
- is called with HWFEAT_LSBFIRST to set the bit order (2016-08-08).
- * arch/arm/src/stm32: Add missing SPI2 and SPI3 support for STM32F3F3.
- Add STM32F37XX DMA channel configuration. For STM32F37XX,
- SYSCFG_EXTICR_PORTE defined twice. From Alan Carvalho de Assis
- (2016-08-08).
- * arch/arm/src/stm32: Make stm32_pwr_enablebkp thread safe. From
- Max Neklyudov (2016-08-09).
- * arch/arm/src/stm32: SAM3/4 GPIO: Enable peripheral clock for GPIO port
- when GPIO is configured as input. The value of a GPIO input is only
- sampled when the peripheral clock for the port controller the GPIO
- resides in is enabled. Therefore we need to enable the clock even when
- polling a GPIO. From Wolfgang Reissnegger (2016-08-09).
- * arch/arm/src/tiva: Fix two bugs of tiva pwm lower-half driver
- implementation. From Young (2016-08-10).
- * sched/group: Explicitly initialize the group tg_exitsem with
- sem_init(). The existing logic worked because the correct
- initialization value is all zero, but it is better to initialize the
- semaphore explicitly (2016-08-10).
- * arch/arm/stm32: Fix bad pllmul values for STM32F1XX connectivity line.
- STM32F1XX connectivity line supports only x4, x5, x6, x7, x8, x9 and
- x6.5 values. From Michał �yszczek (2016-08-11).
- * include/nuttx/timers: Add oneshot timer lower half interface
- (2016-08-11).
- * arch/arm/src/stm32: Add a experimental oneshot, lower-half driver for
- STM32 (2016-08-11).
- * arch/arm/src/samv7: Add option to support oneshot timer without free-
- running timer. Add oneshot lower half driver (2016-08-11).
- * arch/arm/src/sama5: Add option to support oneshot timer without free-
- running timer. Add oneshot lower half driver (2016-08-11).
- * arch/arm/src/sam34: SAM4CM: Add option to support oneshot timer without
- free-running timer. Add oneshot lower half driver (2016-08-11).
- * arch/arm/src/stm32l4: Add oneshot lower half driver (2016-08-11).
- * libc/stdlib: strtod() was not returning endptr on error conditions
- (2016-08-11).
- * libc/math: floor(), floorf(), and floorl(): Fix logic error. Was not
- correctly handling negative integral value (2016-08-11).
- * configs/sim: Add a configuration useful for testing Mini Basic
- (2016-08-12).
- * drivers/timers: Add an upper-half, oneshot timer character driver
- (2016-08-12).
- * arch/sim/src: Add a simulated oneshot lowerhalf driver (2016-08-12).
- * arch/arm/src/stm32: STM32F3 SPI: Fix the number of bit setting for
- the F3. That and data packing work differently on the STM32F3 than
- for other STM32 parts (2016-08-12).
- * arch/arm/stm32 and stm32l4: Enabling SPI DMA loses other bits in CR2
- (2016-08-13).
- * arch/arm/src/stm32: STM32F3 SPI: Cannot write always 16-bit value to
- DR register because of how the F3 implements data packing (2016-08-13).
- * Kinetis: Add support for I2C and RTC. From v01d (phreakuencies)
- (2016-08-13).
- * teensy 3.x i2c. From v01d (phreakuencies) (2016-08-13).
- * SH1106 0.96 OLED module support (SSD1306 compatible) + I2C fixes.
- From v01d (phreakuencies) (2016-08-13).
- * Add support for SAMV7 DACC module. From iotr Mienkowski (2016-08-15).
- * Add oneshot board initialization to stm32f103-minimum. From Alan
- Carvalho de Assis (2016-08-15).
- * drivers/audio/tone.c: Add Audio Tone Generator for NuttX. From Alan
- Carvalho de Assis (2016-08-16).
- * configs/stm32f103-minimum: Add board configuration to initialize Audio
- Tone Generator. From Alan Carvalho de Assis (2016-08-16).
- * STM32F411 and STM32F446 map i2c2_sda_4 to different alternate function
- numbers. From Konstantin Berezenko (2016-08-17).
- * STM32 DMA Fix: Change stm32 adc dma callback to send channel number
- instead of index. From Konstantin Berezenko (2016-08-17).
- * SAMA5: Add missing oneshot max_delay method (2016-08-18).
- * configs/stm32bufferfly2: Add support for the Kamami stm32butterfly2
- development board with optional ETH phy. From Michał �yszczek
- (2016-08-19).
- * libc/misc: Separate XorShift128 PRNG from /dev/urandom and make it
- generally available (2016-08-20).
- * sched/sched_cpuload_oneshot: Use the oneshot timer with optional
- entropy to measure cPU load if so configured (2016-08-20).
- * drivers/usbhost/usbhost_composite.c: An an EXPERIMENTAL prototype of
- how USB host support for composite devices might be implemented. This
- feature is EXPERIMENTAL because (1) it is untested and (2) has some
- know design issues that must be addressed before it can be of use
- (2016-08-28).
- * CXXFLAGS: Add -fcheck-new whenever -fno-exceptions is used. From Beat
- Küng (2016-08-23).
- * tools/mkfsdata.pl was still generating the old-style apps/include
- inclusion paths (2016-08-23).
- * drivers/sensors: Add drvier for the LIS3MDL 3 axis magnetometer. From
- Alexander Entinger (2016-08-23).
- * drivers/sensors: Add driver for the MLX90393 3 axis magnetometer.
- From Alexander Entinger (2016-08-23).
- * drivers/mtd: Add Fujistu MB85RS256B ramtron support. From Beat Küng
- (2016-08-23).
- * drivers/sensors: Add driver for the LIS3DSH 3 axis accelerometer. From
- Alexander Entinger (2016-08-24).
- * drivers/sensors: Add driver for the Bosch BMG160 3 axis gyroscope.
- From Alexander Entinger (2016-08-24).
- * STM32: Add IAR-style STM32F1xx vectors. Tested on STM32F103RB and
- STM32F107RC. From Aleksandr Vyhovanec (2016-08-24).
- * libc/header files: Add POSIX type sig_atomic_t. From Sebastien
- Lorquet (2016-08-24).
- * libc/header files: isatty() should be prototypes in unstid.h, not
- termios.h. From Sebastien Lorquet (2016-08-24).
- * Documentation: Update to NuttX C coding style document with additions
- discussing long comments on the right side of a statement or data
- definition (2016-08-24).
- * LPC43xx serial: Fix typos in LPC43 serial driver. Found by Vytautas
- Lukenskas (2016-08-24).
- * libc/time: This commit adds the difftime() function. The function
- depends on the toolchain-dependent CONFIG_HAVE_DOUBLE so is not
- available on tiny platforms. From Sebastien Lorquet (2016-08-24).
- * libc/stdio: Add support for remove(). From Sebastien Lorquet
- (2016-08-25).
- * STM32 OTGFS device: Fix for lost first word from FIFO
- 1) Do not overwrite Reserved Bits in GINTSTS (per ref manual)*
- 2) Acknowledge all pending int on entry to ISR that are Only rc_w1*
- 3) Do not disable RXFVL*
- 4) Loop until RXFVL is cleared*
- 5) Only clear the NAK on the endpoint on the
- OTGFS_GRXSTSD_PKTSTS_SETUPDONE to not loose the first WORD of
- FIFO all the data (Bug Fix)
- Changed marked *are just driver clean up and ensure ints are not lost.
- The bug fix is #5
- Test case open putty and observer the Set/Get LineCoding. Without this
- fix #5 the Get will not match the Set, and in fact the data might be
- skewed by 4 bytes, that are lost from the FIFO if the
- OTGFS_DOEPCTL0_CNAK bit is set in the OTGFS_GRXSTSD_PKTSTS_SETUPRECVD
- as opposed to the OTGFS_GRXSTSD_PKTSTS_SETUPDONE
- Set Line Coding DATA1: 4B | 00 c2 01 00 00 00 08 | c8 1B
- Get Line Coding DATA1: 4B | .. .. .. .. 00 00 08 c8 .. 00 00 07 | 7a 72
- From David Sidrane (2016-08-25).
- * Add system() to stdlib.h. Actual implementation is in
- apps/system/system (2016-08-25).
- * include/nuttx/input: Add missing prototype for btn_lower_initialize()
- (2016-08-27).
- * configs/stm32f103-minimum: Add board config support to SPI LCD module
- JLX12864G-086. From Alan Carvalho de Assis (2016-08-28).
- * net/tcp: tcp_ipvX_bind() not actually using the ported selected with
- port==0. Also removes duplicate call to pkt_input(). Issues noted by
- Pascal Speck (2016-08-30).
- * STM32 F7: Remove duplicate call to pkt_input from Ethernet driver.
- Issues noted by Pascal Speck (2016-08-30).
- * STM32L4 OTGFS device: Apply stm32 fix to stm32l4. From Sebastien
- Lorquet (2016-08-31).
- * drivers/contactless: Remove contactless drivers from drivers/wireless
- to drivers contactless. From Sebastien Lorquet (2016-08-31).
- * USB host composite is at least partially functional. No longer depends
- on CONFIG_EXPERIMENTAL (2016-09-02).
- * MTD: Fixed cloned typos in several FLASH drivers. From Aleksandr
- Vyhovanec (2016-09-02).
- * MTD: SPI-based driver for Macronix MX25L3233F or MX25L6433F. From
- Aleksandr Vyhovanec (2016-09-02).
- * sched/: The TCB nchildren field should not be incremented when
- pthreads are created (2016-09-06).
- * sched/: Move fields related to parent/child task relationship out of
- TCB into group structure (2016-09-06).
- * STM32L4: Add support for USART3-USART5. For STM32L4 parts, the higher
- number USART ports supported varies. Add the HAVE_USARTx definitions
- to the configuration to allow enabling the higher numbered USART ports.
- From Jim Wylder (2016-09-15).
- * configs/stm32l476-mdk: Support basic booting and nsh on Motorola MDK.
- The Motorola MDK is based off of an earlier version of NuttX. This
- only provides a basic NSH shell. From Jim Wylder (2016-09-15).
- * STM32 USB: Set USB address to avoid a failed assertion. From Pierre-noel
- Bouteville (2016-09-15).
- * STM32 L4 and L7 USB: Pierre's assertion-avoidance change should also be
- applied to STM32 F7 and L4 (2016-09-15).
- * sched/: mq_send() was not setting the errno value on certain failures
- to allocate a message (2016-09-15).
- * include/nuttx/modem: Move all modem-related IOCTL commands to a common
- file to assure that they will be unique (2016-09-16).
- * STM32 F4 Discovery: Add support for XEN1210 3D-board. From Alan
- Carvalho de Assis (2016-09-17).
- * drivers/sensors: Adds support for the Sensixs XEN1210 3D-board. This
- sensor is used on NANOSATC-BR2 a Brazillian CUBESAT project. From
- Alan Carvalho de Assis (2016-09-16).
- * include/analog/dac.h: Make DAC structure packed. From Marc Rechté
- (2016-09-20).
- * All SAM Ethernet Drivers: Add support so that the drivers can be built
- with CONFIG_NET_MULTIBUFFER=y (2016-09-20).
- * Tiva Ethernet: Needs support for CONFIG_NET_MULTIBUFFER=y (2016-09-20).
- * drivers/net: NET_TUN=y => NET_MULTIBUFFER=y. From Vladimir
- Komendantskiy (2016-09-20).
- * SAM3/4: Fix GPIO pull-up/down code. Enabling the pull-down resistor
- while the pull-up resistor is still enabled is not possible. In this
- case, the write of PIO_PPDER for the relevant I/O line is discarded.
- Likewise, enabling the pull-up resistor while the pull-down resistor
- is still enabled is not possible. In this case, the write of PIO_PUER
- for the relevant I/O line is discarded. From Wolfgang Reißnegger
- (2016-09-20).
- * SAM GPIO: Apply Wolfgang's change for SAM3/4 to SAMA5 and SAMV7
- (2016-09-20).
- * Tiva QEI: Add QEI lower-half driver impl. for Tiva series chip. From
- Young (2016-09-21).
- * STM32, L4, and F7: Remove GPIO_ETH_RMII_TX_CLK. TX_CLK is not present
- in RMII. Mateusz Szafoni (2016-09-22).
- * sched/: Define 'group' even if HAVE_GROUPID is not set. From Mateusz
- Szafoni (2016-09-22).
- * sched/: vector table should have dimension NR_IRQS, not NR_IRQS+1.
- From Sagitta Li (2016-09-22).
- * fs/mount: Corrects a bad assertion noted by Pierre-noel Bouteville.
- Also fixes a reference counting problem in an error condition: When
- the mountpoint inode is found but is not an appropriate mountpoint,
- the reference count on the inode was not being decremented (2016-09-22).
- * libnx/nxglib: Fix handling of near-horizontal lines of width 1 in
- nxgl_splitline(). Missing handling for degenerate condition caused
- width 1 lines such as (0, 0) - (100, 10) to have gaps in the drawing.
- From Petteri Aimonen (2016-09-22).
- * drivers/net/slip.c: Fix calculations using MSEC_PER_TICK. If
- USEC_PER_TICK is less than 1000, then MSEC_PER_TICK will be zero. It
- will be inaccurate in any case (2016-09-25).
- * Tiva QEI: Add a new ioctl command (set MAXPOS) for tiva QEI. From
- Young (2016-09-26).
- * LPC43xx Serial: There are some small problems in LPC43xx RS485 mode
- configuration. In particular: (1) UART0,2,3 do not have DTR pins
- (different from UART1), so, Kconfig needs to be adjusted. (2)
- lpc43_uart.c in RS485 mode only configures DIR pin, but doesn't enable
- pin output for UART0,2,3. (3) should be option to reverse DIR control
- pin output polarity. (4) lpc43xx/chip/lpc43_uart.h doesn't have USART3
- definitions. NOTE: I didn't modified and didn't tested USART1, as it
- has different hardware. From Vytautas Lukenskas. From Vytautas
- Lukenskas (2016-09-30).
- * STM32 Ethernet: Correct typo in conditional logic. From Neil Hancock
- (2016-10-01).
- * sched/pthread and task: When a pthread is started, there is a small
- bit of logic that will run on the thread of execution of the new
- pthread. In the case where the new pthread has a lower priority than
- the parent thread, then this could cause both the parent thread and
- the new pthread to be blocked at the priority of the lower priority
- pthread (assuming that CONFIG_PRIORITY_INHERITANCE is not selected).
- This change temporarily boosts the priority of the new pthread to at
- least the priority of the new pthread to at least the priority of the
- parent thread. When that bit of logic has executed on the thread of
- execution of the new pthread, it will then drop to the correct
- priority (if necessary) before calling into the new pthread's entry
- point (2016-10-01).
- * configs/stm32f103-minimum: Add stm32_bringup support and userled
- example to STM32F103 Minimum board. From Alan Carvalho de Assis
- (2016-10-02).
- * STM32 L4: Add support for quadrature encoders on STM32L4. Sebastien
- Lorquet (2016-10-02).
- * configs: Add support for qencoders on various nucleo boards. From
- Sebastien Lorquet (2016-10-03).
- * STM32 L4 USB Device: Fixed L4 USB Driver by avoiding SETUPDONE and
- EPOUT_SETUP. From David Sidrane (2016-10-04).
- * configs/olimex-stm32-e407: Add some networking configurations. From
- Mateusz Szafoni (2016-10-06).
- * STM32 SPI: stm32_modifycr2 should be available on all platforms if DMA
- is enabled. (2016-10-06).
- * STM32 DMA2D: Fix an error in up_dma2dcreatelayer where an invalid
- pointer was returned when a certain underlying function failed. From
- Jens Gräf (2016-10-07).
- 7.19 2016-12-26 Gregory Nutt <gnutt@nuttx.org>
- * include/nuttx/fs/nxffs.h: Needs forward reference to struct mtd_dev_s
- and needs to include stdbool.h (2016-10-09).
- * STM32F103 Minimum: Note in Kconfig that the board supports buttons.
- From Alan Carvalho de Assis (2016-10-11).
- * STM32F103 Minimum: Add button support. From Alan Carvalho de Assis
- (2016-10-11).
- * arch/arm/kinetis and configs/freedom-k64f: Add UID Unique ID. From
- Neil Hancock (2016-10-13).
- * arch/arm/src/stm32l4: (1) too many parentheses when calculating max
- chan count and (2) channel 4 does not have a complementary output. From
- Sebastien Lorquet (2016-10-14).
- * arch/arm/src/stm32l4: Support Complementary PWM outputs on STM32L4.
- From Sebastien Lorquet (2016-10-14).
- * Support PWM testing on board nucleo-l476. From Sebastien Lorquet
- (2016-10-14).
- * arch/arm/src/stm32: Support oversampling by 8 for the STM32 F4.
- From David Sidrane (2016-10-15).
- * libc/stdio: Fixes sscanf %sn where strlen(data) < n. From David
- Sidrane (2016-10-15).
- * arch/risc-v: Add support for the RISC-V architecture and
- configs/nr5m100-nexys4 board. I will be making the FPGA code for
- this available soon (within a week I would say). The board support on
- this is pretty thin, but it seems like maybe a good idea to get the base
- RISC-V stuff in since there are people interested in it. From Ken
- Pettit (2016-10-16).
- * C library: Add a dummy setlocale() function to avoid drawing the
- function from newlib (2016-10-17).
- * libc/wchar: Add wcslen, wmemchr, wmemcmp, wmemcpy and wmemset to NuttX.
- From Alan Carvalho de Assis (2016-10-17).
- * syscalls: Add setlocale to libc.csv (2016-10-17).
- * libc/locale: Add clocale header file (2016-10-18).
- * libc/wchar: Add functions btowc, mbrtowc, mbtowc, wcscmp, wcscoll,
- wmemmove. From Alan Carvalho de Assis (2016-10-18).
- * usbhost/enumerate: Fix possible buffer overwrite. From Janne Rosberg
- (2016-10-18).
- * configs/Board.mk: Add extra clean operations (2016-10-18).
- * usbhost/composite: Fix compile; missing semicolons. From Jann
- Rosberg (2016-10-18).
- * libc/stdio: Include wchar.h in lib_libvsprintf.c to fix compilation
- error. From Alan Carvalho de Assis (2016-10-18).
- * arch/arm/src/kinetis: Added missing headers. From David Sidrane
- (2016-10-18).
- * arch/arm/src/kinetis: Kinetis broke out SPI to kinetis/kinetis_spi.h.
- From David Sidrane (2016-10-18).
- * arch/arm/src/kinetis: Broke out DMA to use the modern Nuttx chip
- inclusion - still STUBS. From David Sidrane (2016-10-18).
- * arch/arm/src/kinetis: Kinetis Support ARMV7 Common Vector and FPU.
- From David Sidrane (2016-10-18).
- * arch/arm/src/kinetis: Kinetis Allow CONFIG_ARMV7M_CMNVECTOR,
- CONFIG_STACK_COLORATION, CONFIG_ARCH_FPU. From David Sidrane
- (2016-10-18).
- * arch/arm/src/kinetis: Kinetis i2c driver offset swapped for value
- in kinetis_i2c_putreg. From David Sidrane (2016-10-18).
- * Add functions wcrtomb, wcslcpy, wcsxfrm, wctob, wctomb, wctype,
- localeconv, strcoll, strxfrm. From Alan Carvalho de Assis
- (2016-10-18).
- * libc/wctype: Add wctype.h; Move lib_wctype.c to libc/wctype.
- From Alan Carvalho de Assis (2016-10-18).
- * include/: Modify locale.h to add localeconv() and lconv structure.
- From Alan Carvalho de Assis (2016-10-18).
- * include/sys/time.h: timersub macro modified per recommendations of
- phreakuencies (2016-10-18).
- * include/: Add isblank() macro to ctype.h. From Alan Carvalho de
- Assis (2016-10-19).
- * libc/wctype: Add iswctype, towlower, towupper and wcsftime functions.
- From Alan Carvalho de Assis (2016-10-19).
- * syslog: Fixes required for file syslog output. From Max Kriegleder
- (2016-10-19).
- * arch/arm/src/stm32: Add TIM8 to STM32F103V pinmap. From Maciej Wójcik
- (2016-10-19).
- * libc/locale: Allows c++ code to compile with or without
- CONFIG_LIBC_LOCALE and will generate a link error if CONFIG_LIBC_LOCALE
- is not defined and setlocale is referenced. With CONFIG_LIBC_LOCALE
- defined setlocale will act as if MB string is not supported and return
- "C" for POSIX. C and "". From David Sidrane (2016-10-19).
- * Xtensa ESP32: Add vectors for interrupt levels 2-6 (2016-10-20).
- * strtof(): Add strtof() as simply a copy of strtod with types and
- limits changed (2016-10-20).
- * arch/arm/src/stm32v7: Register the watchdog device at the configured
- device path CONFIG_WATCHDOG_DEVPATH vs. hard-coded /dev/wdt. From Frank
- Benkert (2016-10-21).
- * configs/*/defconfig: The buttons example was changed to archbuttons. As
- a result all of the button configurations are broken and need some
- renaming in the defconfig files. Noted by Frank Berkert (2016-10-21).
- * configs/stm32f103-minimum: Add support to PWM on STM32F103-Minimum
- board. From Alan Carvalho de Assis (2016-10-21).
- * include/ctype.h and cxx/cctype: Implement ctype.h functions as inline
- if possible. cctype can then properly select namespace (2016-10-22).
- * libc/unisted: Add strtold() (2016-10-22).
- * sscanf: Use strtof() instead of strtod() if a short floating point
- value was requested. The should help performance with MCUs with 32-bit
- FPU support with some additional code size (2016-10-22).
- * Remove support for software prioritization of interrupts (2016-10-23).
- * drivers/net/tun.c: Fix bug in TUN interface driver. From Max
- Nekludov (2016-10-24).
- * arch/arm/src/stm32: A new implementation of the STM32 F4 I2C bottom
- half. The commin I2C as this did not handled correctly in the current
- implementation (see also https://github.com/PX4/NuttX/issues/54). The
- changes almost exclusively affect the ISR. From Max Kriegleder
- (2016-10-24).
- * arch/arm/src/stm32l4: Fix I2C devices RCC registers. From Sebastien
- Lorquet (2016-10-25).
- * arch/arm/src/stm32l4: Enable and renames for 32l4 UARTs 4 and 5.
- From Sebastien Lorquet (2016-10-25).
- * configs/stm32f103-minimum: Fix Timers 2 to 7 clock frequencies.
- From Alan Carvalho de Assis (2016-10-25).
- * arch/arm/src/stm32: Initial implemention of the STM32 F37xx SDADC
- module. There are also changes to ADC, DAC modules. SDADC has only been
- tested in DMA mode and does not support external TIMER triggers. This
- is a work in progress. From Marc Rechté (2016-10-25).
- * Add logic to attach peripheral interrupt sources to CPU interrupts
- (2016-10-25).
- * CHxN channels are always outputs. From Sebastien Lorquet
- (2016-10-26).
- * sched/semaphore: Within the OS, when a thread obtains a semaphore
- count it must call sem_addholder() if CONFIG_PRIORITY_INHERITANCE is
- enabled. If a count is available, then sem_wait() calls
- sem_addholder(), otherwise it waited for the semaphore and called
- sem_addholder() when it eventually received the count.
- This caused a problem when the thread calling sem_wait() was very
- low priority. When it received the count, there may be higher
- priority threads "hogging" the CPU that prevent the lower priority
- task from running and, as a result, the sem_addholder() may be
- elayed indefinitely.
- The fix was to have sem_post() call sem_addholder() just before
- restarting the thread waiting for the semaphore count.
- This problem was noted by Benix Vincent who also suggested the
- solution (2016-10-26).
- * configs/stm32f103-minimum: Add RGB LED support on STM32F103 Minimum
- board. From Alan Carvalho de Assis (2016-10-26).
- * arch/arm/src/stm32f7: stm32_i2c.c Dejavu. Fixes a bug previously
- found in the F4. From David Sidrane (2016-10-26).
- * arch/arm/src/stm32f7: stm32f76xx77xx_pinmap.h Missed one. From
- David Sidrane (2016-10-26).
- * LPC43xx serial: Fix a typo in ioctl TIOCSRS485 ioctl. From Vytautas
- Lukenskas (2016-10-27).
- * sched/clock: Correct clock initialization. The correct range for
- the month is 0-11 but is entered as 1-12 in the .config file
- (2016-10-27).
- * arch/*/include: Add architecture-specific inttypes.h. From Paul
- A. Patience (2016-10-27).
- * sched/Kconfig: Add ranges to START_YEAR, MONTH, and DAY (2016-10-28).
- * configs/nucleo-f303re: Add STM32 F303RE hello configuration; remove
- duplicate setting from board.h. From Marc Rechté (2016-10-18).
- * arch/arm/src/lpc43xx: Restore RS485 mode on serial port open (if
- RS485 is enabled via menuconfig). From Vytautas Lukenskas (2016-10-28).
- * arch/arm/src/stm32f7: otgdev fixed typo. From David Sidrane
- (2016-10-28).
- * arch/xtensa: Basic architectural support for Xtensa processors and
- the Expressif. ESP32 added. Totally untested on initial release
- (2016-10-31).
- * configs/esp32-core: Basic support for Expressif ESP32 Core v2 board
- added. The initial release includes an NSH and an SMP test
- configuration. Totally untested on initial relesae (2016-10-31).
- * configs/bambino-200e: Add basic support to Micromint Bambino 200E
- board. This includes contributions from Jim Wolfman. From Alan
- Carvalho de Assis (2016-11-01).
- * drivers/mtd/at24xx.c: Added EEPROM timeout. Fromo Aleksandr
- Vyhovanec (2016-11-02).
- * arch/misoc: Adds basic support for the Misoc procoessors and the
- LM32 in particular. From Ramtin Amin (2016-11-01).
- * configs/misoc. Board support for testing Misoc LM32 with Qemu.
- From Ramtin Amin (2016-11-01).
- * arch/arm/src/stm32: I think, that Size is (highest address+1 - Base
- address). Base address has been removed and if address+count >= size
- we are outside of the Flash. From David Sidrane (2016-11-01).
- * sched/semaphore, sched/phread/, libc/semaphore, libc/pthread: Add
- pthread_mutexattr_get/set_protocol and non-standard sem_get/set_protocol.
- These may use to enable or disable priority inheritance on a single
- semaphore (2016-11-02).
- * arch/arm/src/stm32: Fix ADC compilation error when DMA isn't enabled.
- From Paul A. Patience (2016-11-02).
- * drivers/ and drivers/spi: Fix Kconfig warning. This commit moves the
- ARCH_HAVE_SPI options outside the check for SPI. Those options don't
- depend on SPI, and Kconfig files in arch/ enable them even if SPI
- isn't enabled. Source the driver's Kconfig in drivers/Kconfig only
- if support for the driver is enabled prevents us from defining these
- ARCH_HAVE options in the driver's Kconfig. We should probably remove
- the other checks in drivers/Kconfig and check if the drivers are
- enabled only in their Kconfig. From Paul A. Patience (2016-11-02).
- * Move protoypes for the non-standard include/semaphore.h file to the
- non-standard include/nuttx/semaphore.h with the other non-standard
- semaphore interfaces (2016-11-02).
- * include/semaphores.h: Provide macros for sem_setprotocol() and
- sem_getprotocol() if priority inheritance is not enabled. More
- SEM_PRIO_* definitions to include/nuttx/semaphore.h (2016-11-02).
- * drivers/serial.c: Make sure that priority inheritance is not
- enabled for the signaling semaphores used in the serial driver
- (2016-11-03).
- * arch/arm/src/stm32f7: Fix to SPI-Master driver. Without this the
- chip select decoding feature will not work properly. From Michael
- Spahlinger (2016-11-03).
- * drivers/, net/, fs/, sched, arch/, graphics/, libnx,: Disable
- priority inheritance on all semaphores used for signaling (2016-11-03).
- * sched/semaphore: Handle a case of missing proxy for sem_setprotocol.
- Reorder so that (1) this error is avoided, and (2) >No proxy is needed
- if priority inheritance is not enabled (2016-11-03).
- * config/*/defconfgs: More fallout from name change of
- apps/examples/buttons to archbuttons (2016-11-03).
- * configs/nucleo_f303re: Various fixes to get the adc configuration
- building again after PR. Refresh all configurations (2016-11-03).
- * arch/misoc/src/common: Add interrupting Misoc serial driver. From
- Ramtin Amin (2016-11-04)
- * Fix a number of header files with mismatched 'extern C {' and '}'
- (2016-11-05).
- * Provide do-nothing stubs for mutex attribute interfaces if features
- ot enabled. pthread_cond includes a signaling semaphore and should
- call sem_setprotocol (2016-11-05).
- * arch/arm/src/armv7-r: Fix compilation error. This commit fixes
- compilation errors on MPU support for ARMv7-R. From Heesub Shin
- (2016-11-06).
- * arch/arm/src/armv7-r: Fix invalid drbar handling. In ARMv7-R,
- [31:5] bits of DRBAR is physical base address and other bits are
- reserved and SBZ. Thus, there is no point in passing other than the
- base address. From Heesub Shin (2016-11-06).
- * arch/arm/src/armv7-r: Remove the redundant update on SCTLR.
- mpu_control() is invoking cp15_wrsctlr() around SCTLR update
- redundantly. From Heesub Shin (2016-11-06).
- * arch/arm/src/armv7-r: Add new Kconfig entries for d/i-cache.
- Unlike in ARMv7-A/M, Kconfig entries for data and instruction caches
- are currently missing in ARMv7-R. This commit adds those missing
- Kconfig entries. Actual implmenetation for those functions will be
- added in the subsequent patches. From Heesub Shin (2016-11-06).
- * arch/arm/src/armv7-r: Add cache handling functions. This commit
- adds functions for enabling and disabling d/i-caches which were
- missing for ARMv7-R. From Heesub Shin (2016-11-06).
- * arch/arm/src/armv7-r: Fix typo in mpu support. s/ARMV7M/ARMV7R/g.
- From Heesub Shin (2016-11-06).
- * arch/arm/src/armv7-r: Fix CPSR corruption after exception handling.
- A sporadic hang with consequent crash was observed when booting. It
- seemed to be caused by the corrupted or wrong CPSR restored on return
- from exception. NuttX restores the context using code like this:
- msr spsr, r1
- GCC translates this to:
- msr spsr_fc, r1
- As a result, not all SPSR fields are updated on exception return.
- This should be:
- msr spsr_fsxc, r1
- On some evaluation boards, spsr_svc may have totally invalid value at
- power-on-reset. As it is not initialized at boot, the code above may
- result in the corruption of cpsr and thus unexpected behavior.
- From Heesub Shin (2016-11-06).
- * arch/arm/src/armv7-r: Fix to restore the Thumb flag in CPSR. Thumb
- flag in CPSR is not restored back when the context switch occurs while
- executing thumb instruction. From Heesub Shin (2016-11-06).
- * sched/wqueue: When queuing new LP work, don't signal any threads
- if they are all busy. From Heesub Shin (2016-11-06).
- * sched/wqueue: Signal sent from work_signal() may interrupt the low
- priority worker thread that is already running. For example, the worker
- thread that is waiting for a semaphore could be woken up by the signal
- and break any synchronization assumption as a result. It also does not
- make any sense to send signal if it is already running and busy. This
- commit fixes it. From Heesub Shin (2016-11-06).
- * arch/arm/src/stm32f7: STM32F7 SD/MMC driver depends on
- CONFIG_SDIO_DMA which is only defined in stm32/Kconfig. Changed to
- CONFIG_STM32F7_SDMMC_DMA and defined in stm32f7/Kconfig (2016-11-07).
- * arch/arm/src/stm32: Add PWM driver support for STMF37xx. The
- changes have been tested successfuly for TIM4 and TIM17 (different
- IPs). From Marc Rechté (2016-11-07).
- * sched/semaphore: sem_trywait() no longer modifies the errno value
- UNLESS an error occurs. This allows these functions to be used
- internally without clobbering the errno value. From Freddie Chopin
- (2016-11-09).
- * arch/arm/src/stm32l4: Change the way to configure quadrature encoder
- prescalers. From Sebastien Lorquet (2016-11-09).
- * libc/unisted: Patch brings strtol() and related functions more
- conformant with POSIX. Corner cases like strtol(-2147483648, NULL, 10)
- now pass clang -fsanitize=integer without warnings. From Juha Niskanen
- (2016-11-10).
- * drivers/sensors and configs/stm32f103-minimum: Add Vishay VEML6070
- driver and support for STM32F103-Minimum board. From From Alan
- Carvalho de Assis(2016-11-13).
- * Misoc LM32: Corrects a bug that never occured in qemu on simulation or
- real fpga. The error was that the r1 register was being modified out of
- context switching and not restoring it. From Ramtin Amin (2016-11-14)
- * arch/arm/src/samv71: A problem occurred with the SAMV7 USBDEVHS driver
- if the USB cable is unplugged while a large amount of data is send over
- an IN endpoint using DMA. If the USB cable is plugged in again after a
- few seconds it is not possible to send data over this IN endpoint again,
- all other endpoints work as expected.
- The problem occurs because if the USB cable is unplugged while an DMA
- transfer is in flight the transfer is canceled but the register
- SAM_USBHS_DEVDMACTRL is left in an undefined state. The problem was
- fixed the problem by resetting the register SAM_USBHS_DEVDMACTRL to a
- known state. Additionally all pending interrupts are cleared.
- From Stefan Kolb (2016-11-14).
- * configs/esp32-core: ESP32 Core v2: Add configuration to supporting
- linking NuttX for execution out of IRAM (2016-11-14).
- * libc/unistd: sleep() was returning remaining nanoseconds (kind of),
- instead the remaining seconds. From Eunbong Song (2016-11-15).
- * sched/irq: Fixes for the SMP case: (1) Change order for SMP case in
- enter_critical_section: (1) Disable local interrupts BEFORE taking
- spinlock and (2) If SMP is enabled, if any interrupt handler calls
- enter_critical_section(), it should take the spinlock. (2016-11-15).
- * arch/xtensa: Add EXPERIMENTAL hooks to support lazy Xtensa co-
- processor state restore in the future (2016-11-16).
- * Add some experimental changes to enter/leave_critical_section to
- deal with the case where interrupts are disabled only on the local
- CPU (2016-11-16).
- * sched/irq: Add logic to handled nested calls to
- enter_critical_section() from interrupts handlers (with SMP)
- (2016-11-16).
- * drivers/timer: Remove the timer driver TIOC_SETHANDLER IOCTL call.
- This calls directly from the timer driver into application code. That
- is non-standard, non-portable, and cannot be supported (2016-11-17).
- *drivers/timer: Add timer driver hooks to support signal notification
- of timer expiration. Commented out because invasive interface changes
- would also be required to complete the implementation (2016-11-17).
- * arch/arm/src/armv7-m: Fix double allocation of MPU region in mmu.h
- (2016-11-17).
- * timer driver: Use signal to notify of timer expiration. Add generic
- argument so that there can be additional usage. From Sebastien Lorquet
- (2016-11-17).
- * All timer lower half drivers. Port Sebastien's changes to all all
- other implementations of the timer lower half. Many changes and
- untested. Expect some problems. (2016-11-17).
- * sched/irq: irq_csection() has a bad assumption in the SMP case. It
- assumed that the state of certain variables. That was true on entry
- into the interrupt handler, but might change to the execution of logic
- within the interrupt handler (2016-11-18).
- * config/ nucleo-l476rg: Add support for timers to nucleo l476. From
- Sebastien Lorquet (2016-11-18).
- * drivers/net: Add option to use low-priority work queue to all drivers
- in drivers/net. Not yet added to all architecture-specific network
- drivers (2016-11-18).
- * sched/wdog: Most interrupt handling logic interacts with tasks via
- standard mechanism such as sem_post, sigqueue, mq_send, etc. These all
- call enter_critical_section and are assumed to be safe in the SMP case.
- But certain logic interacts with tasks in different ways. The only one
- that comes to mind are wdogs. There is a tasking interface that to
- manipulate wdogs, and a different interface in the timer interrupt
- handling logic to manage wdog expirations.
- In the normal case, this is fine. Since the tasking level code calls
- enter_critical_section, interrupts are disabled an no conflicts can
- occur. But that may not be the case in the SMP case. Most
- architectures do not permit disabling interrupts on other CPUs so
- enter_critical_section must work differently: Locks are required to
- protect code.
- So this change adds locking (via enter_critical section) to wdog
- expiration logic for the case if the SMP configuration
- (2016-11-18).
- * SAM3/4: Add delay between setting and clearing the endpoint RESET bit
- in sam_ep_resume(). We need to add a delay between setting and
- clearing the endpoint reset bit in SAM_UDP_RSTEP. Without the delay the
- USB controller will (may?) not reset the endpoint. If the endpoint is
- not being reset, the Data Toggle (DTGLE) bit will not to be cleared
- which will cause the next transaction to fail if DTGLE is 1. If that
- happens the host will time-out and reset the bus. Adding this delay
- may also fix the USBMSC_STALL_RACEWAR in usbmsc_scsi.c, however this
- has not been verified yet. From Wolfgang Reißnegger (2016-11-18).
- * SAM3/4: Remove unused 'halted' flag in UDP driver. From Wolfgang
- Reißnegger (2016-11-18).
- * SAM3/4: Remove 'stalled' flag in UDP driver. The flag is not necessary.
- The state of the endpoint can be determined using 'epstate' instead.
- From Wolfgang Reißnegger (2016-11-18).
- * USBMSC: Fix length of mode6 sense reply packet. From Wolfgang
- Reißnegger (2016-11-18).
- * configs/dk-tm4c129x: Typo fix. From Wolfgang Reißnegger (2016-11-18).
- * Typo fix in sam_udp.c. From Wolfgang Reißnegger (2016-11-18).
- * STM32: STM32F303xB and STM32F303xC chips have 4 ADCs. From Paul A.
- Patience (2016-11-19).
- * vfork(): Fix a race condition in the SMP case. Existing logic
- depended on the fact that the child would not run until waitpid was
- called because the child had the same priority as the parent. BUT
- in the SMP case that is not true... the child may run immediately on
- a different CPU (2016-11-19).
- * arch/: Add option to use low-priority work queue to all Ethernet
- drivers in arch that support CONFIG_NET_NOINTS (2016-11-19).
- * sched/clock: Correct calculation for the case of Tickless mode with
- a 32-bit timer. In that case, the calculation was returning
- millisecond accuracy. That is not good when the timer accuracy is < 1
- msec. From Rajan Gill (2016-11-19).
- * sched/task: task_restart() test not supported on SMP systems. This is
- not fully implemented (2016-11-19).
- * This commit adds a new internal interfaces and fixes a problem with
- three APIs in the SMP configuration. The new internal interface is
- sched_cpu_pause(tcb). This function will pause a CPU if the task
- associated with 'tcb' is running on that CPU. This allows a different
- CPU to modify that OS data stuctures associated with the CPU. When the
- other CPU is resumed, those modifications can safely take place. The
- three fixes are to handle cases in the SMP configuration where one CPU
- does need to make modifications to TCB and data structures on a task
- that could be running running on another CPU. Those three cases are
- task_delete(), task_restart(), and execution of signal handles. In
- all three cases the solutions is basically the same: (1) Call
- sched_cpu_pause(tcb) to pause the CPU on which the task is running,
- (2) perform the necessary operations, then (3) call up_cpu_resume() to
- restart the paused CPU (2016-11-20).
- * task_restart: Make sure new task starts with pre-emption disabled and
- not in a critical section (2016-11-21).
- * Fix a typo in a spinlock macro (2016-11-21).
- * Spinlocks: Added capability to provide architecture-specific memory
- barriers. This was for i.MX6 but does not help with the SMP problems.
- It is still a good feature (2016-11-21).
- * Remove a assertion condition that appears to rarely cause false-alarm
- assertions. Teported by Petteri Aimonen (2016-11-21).
- * The examples/qencoder app was trying to init the encoder by a direct
- call into the board, cheating in a local header to declare the normally
- unavailable function prototype. From Sebastien Lorquet (2016-11-22).
- * configs: All QE encoder files. Last change made timer hard-coded to 3.
- Make configurable (2016-11-22).
- * configs: Remove all traces of the no-longer existent ARCHBUTTONS
- example. Remove all button configurations that depended on the
- obsoleted ARCHBUTTON example (2016-11-22).
- * nucleo-l476rg: Add better selection of timer (2016-11-22).
- * implementation of dumpgpio for stm32l4, was required for pwm debug.
- From Sebastien Lorquet (2016-11-22).
- * SMP: Add logic to avoid a deadlock condition when CPU1 is hung waiting
- for g_cpu_irqlock and CPU0 is waitin for g_cpu_paused (2016-11-22).
- * Misoc: Add timer driver. From Ramtin Amin (2016-11-22).
- * Misoc: Add commits and warnings about missing caculation of the timer
- reload value (2016-11-22).
- * SAM3/4: Name of method is now setcallback, not sethandler (2016-11-22).
- * sam4s-xplained-pro/nsh: Configuration uses old, improper timer interface.
- CONFIG_TIMER disabled in configuration. (2016-11-22).
- * sam4s-xplained-pro: Remove obsolete timer initialization logic
- (2016-11-22).
- * Misoc LM32: Make system timer configurable via CONFIG_USEC_PER_TICK.
- From Ramtin Amin (2016-11-23).
- * LPC43xx: Add timer driver; configs/bambino-200e: Add support for timer
- driver. From Alan Carvalho de Assis (2016-11-23).
- * SMP: Fix backward condition in test (2016-11-23).
- * ARMv7-A SMP: Add a little logic to signal handling (2016-11-24).
- * Misoc LM32: Add signal handling logic. From Ramtin Amin (2016-11-24).
- * SMP: Add spin_trylock(). Use this in conditions where other CPUs need
- to stopped but we cannot call enter_critical_section (2016-11-24).
- * Fix for F1 RTC Clock, tested on F103. From Maciej Wójcik (2016-11-25).
- * SMP: Fix yet another potential deadlock (2016-11-25).
- * Enable CONFIG_RTC in the hymini-stm32v/nsh2 (kitchensink) config.
- From Maciej Wójcik (2016-11-26).
- * This adds support for keeping i.MX6 inter-processor communication data
- in a non-cached address region (2016-11-26).
- * i.MX6: Disable non-cached region support. Add SCU register definitions
- (2016-11-26).
- * i.MX6: Add some controls to enable SMP cache coherency in SMP mode
- (2016-11-26).
- * ARMv7-A: Fix some SCU SMP logic (2016-11-26).
- * ARMv7-A/i.MX6: Modify handling of the SMP cache coherency
- configuration so that it is identical to the steps from the TRM.
- Makes no differenct, however (2016-11-27).
- * The Smoothie project needs to compile C++ inside config/boardname/src/
- to use with High Priority Interruption, then I modified the board
- configs Makefile to support it. It works fine for the first time
- compilation, but if we execute "touch config/boardname/src/Pin.cxx"
- and execute "make" it will not detect that Pin.cxx was modified. I
- think there is some other place I should modify, but I didn't find
- it. From Alan Carvalho de Assis (2016-11-27).
- * ARMv7-A/i.MX6 SMP: Move SMP coherent cache setup to earlier in
- initialization of CPUn, n>0 (2016-11-27).
- * ARMv7 GIC: SGIs are non-maskable but go through the same path as other,
- maskable interrupts. Added logic to serialize SGI processing when
- necessary (2016-11-27).
- * sched_note: Extend OS instrumentation to include some SMP events
- (2016-11-27).
- * sched_note: Add spinlock instrumentation; In SMP configurations,
- select to log only notes from certain CPUs (2016-11-28).
- * Misoc LM3: Add Misoc Ethernet driver. Integrate network support into
- configs/misoc/hello. Remove configs/misoc/include/generated directory.
- I suppose the intent now is that this is a symbolic link? DANGER!
- This means that you cannot compile this code with first generating
- these files a providing a symbolic link to this location! From Ramtin
- Amin (2016-11-28).
- * Add tools/showsize.sh (2016-11-28).
- * configs/misoc: Add a sample directory containing generated sources.
- This is really only useful for performing test builds. You really
- must generate the Misoc architecture for a real-life build. From
- Ramtin Amin (2016-11-28).
- * sched_note: Permit spinlock and critical section notes in in-memory
- buffer iff sched_not_get() interfaces is disabled (2016-11-28).
- * STM32 DAC: Fix shift value whenever there are is a DAC2 and, hence,
- up to three interfaces. From Marc Rechté (2016-11-29).
- * Back out a debug change that was included in commit (2016-11-29).
- * i.MX6: Don't output the alphabet if CONFIG_DEBUG_FEATURES is not set
- (2016-11-29).
- * Misoc LM32: Add logic to flush/invalidate caches. From Ramtin Amin
- (2016-11-29).
- * drivers/net/: Adapt all Ethernet drivers to work as though
- CONFIG_NET_MULTIBUFFER were set. Remove all references to
- CONFIG_NET_MULTIBUFFER (2016-11-29).
- * stm32_otghshost: if STM32F446 increase number of channels to 16. From
- Janne Rosberg (2016-11-30).
- * usbhost_composite: Fix end offset in usbhost_copyinterface(). From
- Janne Rosberg (2016-11-30).
- * usbhost_cdcacm: Add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to supported
- class and proto. From Janne Rosberg (2016-11-30).
- * LPC43 SD/MMC: Correct some git definitions on SMMC control register
- in lpc43_sdmmc.h. From Alan Carvalho de Assis (2016-11-30).
- * STM32L4: Correct USART1/2 definitions. Use default mbed UART4
- settings. From Sebastien Lorquet (2016-12-01).
- * boardctl: Add new boardctl() command ,BOARDIOC_NX_START, to start the
- NX server as a kernel thread (2016-12-01).
- * GPDMA driver for the LPC43xx. The GPDMA block is basically the same
- as the LPC17xx. Only the clock configuration is different and LPC43xx
- has four different DMA request sources, where LPC17xx has only two.
- From Alan Carvalho de Assis (2016-12-01).
- * Remove RGMP and RGMP drivers (2016-12-02).
- * i.MX6: Add an untested SPI driver taken directly from the i.MX1 port
- (2016-12-02).
- * Eliminate CONFIG_NO_NOINTS. There is no longer any support for
- interrupt level processing of the network stack. Lots of files changed
- -> lots of testing needed (2016-12-03).
- * Fix DEBUGASSERT() in group_signal.c. From Masayuki Ishikawa
- (2016-12-04).
- * Add support for the SAM5CMP-DB board. From Masayuki Ishikawa
- (2016-12-04).
- * SAM3/4: Add SMP support for the dual-core SAM4CM. From Masayuki
- Ishikawa (2016-12-04).
- * C Library: Allow option to enable IP address conversions even when the
- IP address family is not supported (2016-12-04).
- * SSD1306: Fix errors in SPI mode configuration. From Gong Darcy
- (2016-12-04).
- * SAMA5 does not build when executing from SDRAM before board
- frequencies are not constant. Rather, the bootloader configures the
- clocking and we must derive the clocking from the MCK left by the
- bootloader. This means lots more computations. This is untested on
- initial commit because I don't have a good PWM test setup right now
- (2016-12-04).
- * Olimex-LPC1766-STK: Enable procfs in NSH configuration. Automount
- /proc on startup (2016-12-05).
- * SAM4CMP-DB: Add hooks to auto-mount the procfs file system on startup
- in board bring-up logic (2016-12-05).
- * Remove all references to BOARDIOC_PWMSETUP and board_pwm_setup()
- (2016-12-05).
- * Remove all references to BOARDIOC_ADCSETUP and board_adc_setup()
- (2016-12-05).
- * Added Timers 2-5 and control of SAI and I2S PLLs. From David Sidrane
- (2016-12-05).
- * Added support for stmf469 SAI and I2S PLL configuration and STM446
- fixes. From David Sidrane (2016-12-05).
- * Expanded otgfs support to stm32F469 and stm32f446. Added missing bits
- definitions, Used stm32F469 and stm32f446 bit definitions, Removed
- unsed header file. From David Sidrane (2016-12-05).
- * Remove BOARDIOC_CAN_INITIALIZE. CAN initialization is now done in the
- board initialization logic just like every other device driver
- (2016-12-06).
- * STM32F7: Allow the config to override the clock edge setting. From
- David Sidrane (2016-12-06).
- * For Cortex-A9, should also set ACTLR.FW in SMP mode to enble TLB and
- cache broadcasts. Does not fix SMP cache problem (2016-12-07).
- * sched notes: Add additional note to see if/when CPU is started in SMP
- mode (2016-12-07).
- * EFM32: Fix a compilation error. From Pierre-noel Bouteville
- (2016-12-07).
- * pthreads: Add pthread_cleanup_push() and pthread_cleanup_pop()
- (2016-12-08).
- * BUGFIX:STM32F427 was rebooting. Over reached family. From David
- Sidrane (2016-12-08).
- * Add pthread_setcanceltype() and pthread_testcancel() (2016-12-09).
- * Added STM32F469 RAM size and deliberated STM32F446 size. From David
- Sidrane (2016-12-09).
- * Typo in stm32f76xx77xx_pinmap.h edited online with Bitbucket. From
- David Sidrane (2016-12-09).
- * stm32_allocateheap.c edited online with Bitbucket. From David Sidrane
- (2016-12-09).
- * LPC43xx SD card: Correct pin configuration options needed for SD card
- pins. From Alan Carvalho de Assis (2016-12-09).
- * pthread_mutex_destroy(): Fix an error in destroying a mutex which can
- occur after a pthread has been canceled while holding the mutex
- (2016-12-09).
- * Add support for cancellation points (2016-12-09).
- * Forgot to add some files in the last commit (2016-12-10).
- * Correct some default font IDs. From Pierre-Noel Bouteville
- (2016-12-10).
- * task_delete() now obeys all cancellation point semantics (2016-12-10).
- * Add task_setcancelstate(), task_setcanceltype(), and task_testcancel().
- These are non-standard interfaces analogous to the correponding pthread_
- interfaces that provide cancellation controls for tasks (2016-12-10).
- * i.MX6 interrupt handling: Additional logic needed to handle nested
- interrupts when an interrupt stack is used (2016-12-13).
- * SAMV7 MCAN: Prevent Interrupt-Flooding of ACKE when not connected to
- CAN-BUS. An Acknowledge-Error will occur every time no other CAN Node
- acknowledges the message sent. This will also occur if the device is
- not connected to the can-bus. The CAN-Standard declares, that the Chip
- has to retry a given message as long as it is not sent successfully (or
- it is not cancelled by the application). Every time the chip tries to
- resend the message an Acknowledge-Error-Interrupt is generated. At high
- baud rates this can lead in extremely high CPU load just for handling
- the interrupts (and possibly the error handling in the application). To
- prevent this Interrupt-Flooding we disable the ACKE once it is seen as
- long we didn't transfer at least one message successfully. From Frank
- Benkert (2016-12-13).
- * i.MX6: Remove non-cached, inter-cpu memory region. Not a useful
- concept (2016-12-13).
- * minnsh Configurations: Remove minnsh configurations and support logic:
- up_getc() and lowinstream. This was an interesting exercise to see
- just how small you could get NuttX, but otherwise it was not useful:
- (1) the NSH code violated the OS interface layer by callup up_getc and
- up_putc directly, and (2) while waiting for character input, NSH would
- call up_getc() which would hog all of the CPU. Not a reasonable
- solution other than as a proof of concept (2016-12-13).
- * Calypso Boards: Remove all Calypso board configurations (2016-12-13).
- * Calypso: Remove Calypso architecture support and support for Calypso
- SERCOMM driver (2016-12-13).
- * ESP32 core v2: Two changes (1) flushes the UART TX buffer in the esp32
- serial shutdown routine. The ROM bootloader does not flush the FIFO
- before handing over to user code, so some of this output is not
- currently seen when the UART is reconfigured in early stages of
- startup. And changes the openocd config file's default flash voltage
- from 1.8V to 3.3V. This is not necessary right now, but may save some
- hard-to-debug moments down the track (3.3V-only flash running at 1.8V
- often half-works and does weird things...). From Angus Gratton
- (2016-12-14).
- * Xtensa ESP32: Add missing ENTRY() and RET() macros in C callable
- assembly language. At one time I though the that the ESP32 support the
- CALL0 ABI. I was mistaken so there may be a few more like this
- (2016-12-14).
- * Xtensa ESP32: Fix a couple of bugs associated with handling of CPU
- interrupts (2016-12-14).
- * Xtensa ESP32: Fix several build-related issues associated with vector
- section (2016-12-15).
- * Xtensa ESP32: Fix missing CALL0 ABI condition (2016-12-15).
- * Xtensa EPS32: Make sure that all C callable assembly functions includes
- ENTRY prologue and RET epilogue (2016-12-15).
- * Xtensa ESP32: Fix windowspill register handling + Use r6, not r2 when
- passing paramters with call4 (2016-12-16).
- * Xtensa ESP32: Use r6, not r2 when passing paramters with call4
- (2016-12-16).
- * Xtensa ESP32: Correct a logic problem the prevented dumping the IDLE
- thread's stack on an assertion (2016-12-16).
- * Xtensa ESP32: Fix some missing SMP logic (2016-12-16).
- * Xtensa ESP32: Basically a redesign of the interrupt dispatch logic
- (2016-12-16).
- * Xtensa ESP32: Level 1 interrupts should return via RFE (2016-12-17).
- * Xtensa ESP32: One register getting clobber on context save (2016-12-17).
- * STM32 F7: Fix some STM32F7 copy paste errors. From David Sidrane
- (2016-12-17).
- * CDC/ACM Device Class: uart_ops_s portion of cdcacm will not be
- initalized with correct functions if CONFIG_SERIAL_DMA is lit
- (2016-12-17).
- * Xtensa ESP32: Using wrong register to disable interrupts (2016-12-17).
- * Xtensa ESP32: Fix clobbered a9 in co-processor context save/restore
- (2016-12-17).
- * Xtensa ESP32: Need to clone some logic for synchronous context switch.
- Window spill logic in the conmon restores logic is inappropriate in
- this context (2016-12-17).
- * sscanf(): Add scansets to the scanf function. Enabled
- CONFIG_LIBC_SCANSET option. From Aleksandr Vyhovanec (2016-12-17).
- * Xtensa ESP32: Fix context save logic when called in window ABI
- configuration. Add an IDLE stack. Don't depend on the mystery stack
- received from the bootloader (2016-12-18).
- * Xtensa ESP32: Need to spill registers to memory as the last dying
- action before switching to a new thread (2016-12-18).
- * ESP32 Serial: Add logic to prevent infinite loops in interrupt handler
- (2016-12-18).
- * Xtensa ESP32: Automatically mount /proc at start-up (2016-12-19).
- * Xtensa ESP32: Corrects timer initialization and timer input frequency
- (2016-12-19).
- * Tiva PWM: Support PWM_PULSECOUNT feature for TI tiva. From Young.Mu
- (2016-12-20).
- * Xtensa ESP32: Missing prologue/epilogue macros on C callable function
- (2016-12-20).
- * Xtensa ESP32: Update APP CPU startup logic to match current Expressif
- example code. Fix errors APP CPU startup (2016-12-20).
- * fs/procfs: Fix procfs status for SMP case (2016-12-20).
- * Xtensa ESP32: Clock frequency is different if running from IRAM or is
- booting from FLASH. This is a booltloader issue (2016-12-20).
- * Xtensa ESP32: Basic port is function in both single CPU and dual CPU
- SMP configurations. There is an NSH configuration for each CPU
- configuration (2016-12-21).
- * STM32 F4: Merge in support for the Olimex STM32 P407 board (2016-12-21).
- * Xtensa ESP32: Add an OS test to verify the port (2016-12-22).
- * Xtensa ESP32: Corrects a problem with dispatching to signal handlers:
- Cannot vector directly to the signal handling function as in other ABIs
- under the Xtensa Window ABI. In that case, we need to go through a
- tiny hook when performs the correct window call (call4) otherwise
- registers will be scrambled in the signal handler (2016-12-22).
- * SAMV7 CAN: Make delete_filter functions more robust. From Frank
- Benkert (2016-12-23).
- * Xtensa ESP32: Add stack checking logic (2016-12-23).
- * sched note: record ID enumeration now results on constant values; ID
- values do not change with configuration. This makes writing
- post-processing software much easier (2016-12-24).
- * STM32 F3: Forgot to update chip.h for STM32F303x[BC]'s 4 ADCs
- (2016-12-24).
- * STM32 F4: Allow dma in 1 bit mode in STM32F4xxx. From David Sidrane
- (2016-12-24).
- * termios.h: Fix CRTSCTS define to include input and output flow.
- From Lorenz Meier (2016-12-26).
- * SMP: Enforce this rule: Tasks which are normally restored when
- sched_unlock() is called must remain pending (1) if we are in a
- critical section, i.e., g_cpu_irqlock is locked , or (2) other CPUs
- still have pre-emption disabled, i.e., g_cpu_schedlock is locked. In
- those cases, the release of the pending tasks must be deferred until
- those conditions are met (2016-12-26).
- 7.20 2017-03-08 Gregory Nutt <gnutt@nuttx.org>
- * i.MX6 SMP/NSH configuration: Enable examples/smp test (2016-12-27).
- * SMP: There were certain conditions that we must avoid by preventing the
- release of the pending tasks while withn a critical section. But this
- logic was incomplete; there was no logic to prevent other CPUs from
- adding new, running tasks while on CPU is in a critical section. This
- commit corrects this. This is matching logic in sched_addreadytorun to
- avoid starting new tasks within the critical section (unless the CPU is
- the holder of the lock). The holder of the IRQ lock must be permitted
- to do whatever it needs to do (2016-12-27).
- * i.MX6: Fix clearing GPT status register. From Masayuki Ishikawa
- (2016-12-28).
- * SMP: Make checks for CPU lock set more robust. There are certains
- conditions early in initialization on during interrupt handling where
- things need to be done a little differently (2016-12-28).
- * sched_cpulocked: Avoid use of spinlock. That has been reported to
- cause a deadlock (2016-12-28).
- * SMP: Fix a gap where we may try to make modifications to the task lists
- without being in a critical sections. That permits concurrent access to
- the tasks lists and many subtle problems. This fix just remains in the
- critical section throughout the operation (and possible until the task
- is restore in the event of a context switch). Makes a big difference in
- stability (2016-12-28).
- * SMP: Move sharable function to common file as irq_cpu_locked(). Use
- irq_cpu_locked() in sched_unlock(). Use irq_cpu_locked() in
- sched_removereadytorun() and sched_setpriority(). Use irq_cpu_locked()
- in sched_mergepending() (2016-12-29).
- * Add configuration support for builds with Ubuntu under Windows 10
- (2017-01-01).
- * Add support for Tom Thumb small mono-space font. From Alan Carvalho de
- Assis (2017-01-03).
- * Alternative way to encode font spacing for Tom Thumb font (2017-01-04).
- * Graphics: Initial separation of font cache from graphics/nxterm. Now in
- libnx/nxfronts where it can be shared with other grapics applications
- (2017-01-05).
- * Font cache: Fix a reference counting issue: count not be initialized
- when font cache created. Fix initialization of a semaphore. Enforce
- mutually exclusive access to the font cache Replace fixed-size array
- with variable size link list. Font cache in libnx needs to use
- context-specific memory allocators (2017-01-06).
- * Add debug assertion in libdtoa to catch attempts to use floating point
- output formats from within an interrupt handler. That will cause
- assertions or crashes downstream because __dtoa will attempt to allocate
- memory. From Pierre-noel Bouteville (2017-01-06).
- * procfs: Correct to snprintf-related errors in fs_procfsproc.c.
- Resolves issue #24 (2017-01-07).
- * STM32F429i Discovery: Add support for NxWM on STM32F429i-Disco board.
- From Alan Carvalho de Assis (2017-01-07).
- * STM32F429i-DISCO: Enable keyboard input in nxwm configuration
- (2017-01-07).
- * STM32F429i-DISCO: Change NxWM cursor character from 137 (graphics
- block) to 95 (underscore). NxWM is configured to use a 7-bit character
- set so 137 is not a valid character code (2017-01-07).
- * NX server: Correct message queue names. Should not be at /dev, but
- rather relative to /var/mqueue (2017-01-08).
- * NxWM configurations. If using a 7-bit character set, then the cursor
- character cannot be 137 (graphic block). Use 95 (underscore) instead
- (2017-01-08).
- * packed_struct replaced by begin_packed_struct and end_packed_struct.
- From Aleksandr Vyhovanec (2017-01-09).
- * sched_note: Fix spinlock instrumentation. From Masayuki Ishikawa
- (2017-01-12).
- * SMP: Fix an error in critical section logic when performing a context
- switch from an interrupt handler. The g_cpu_irqset bit was not being
- set for the CPU so other CPUs did not know about the critical section
- (2017-01-13).
- * Kinetis: Added support for CHIP_MK60FN1M0VLQ12 chip. From Maciej
- Skrzypek (2017-01-13).
- * Kinetis: Fixed wrong MCG VDIV calculation on new NXP K60. From Maciej
- Skrzypek (2017-01-13).
- * Kinetis Serial: Fixed compile error when UART5 is selected. From Maciej
- Skrzypek (2017-01-13).
- * Kinetis: Need to set HAVE_UART_DEVICE when UART4 is selected. From
- Maciej Skrzypek (2017-01-13).
- * Kinetis MCG: Wrong FRDIV set in MCG_C1. From Maciej Skrzypek
- (2017-01-13).
- * Kinetis: New K60 has no Flex memory. From Maciej Skrzypek (2017-01-13).
- * In all implementations of _exit(), use enter_critical_section() vs.
- disabling local interrupts (2017-01-13).
- * i.MX6: Corrects behavior of last SMP patch with i.MX6 (2017-01-13).
- * SMP Signals: Fix some SMP signal delivery logic. Was not handling some
- critical sections correctly and was missing logic to signal tasks
- running on other CPUs (2017-01-14).
- * STM32F103 Minimum: Add support for nRF24 on STM32F103-Minimum board.
- From Alan Carvalho de Assis (2017-01-15).
- * Kinetis: Add support for K64/K66 RTC lower half driver. From Neil
- Hancock (2017-01-17).
- * Networking: Fixed some issues that prevented ipv6 to work with ipv4
- enabled. From Pascal Speck (2017-01-18).
- * STM32 Oneshot: Fix logic so that it can support multiple oneshot timers
- (2017-01-18).
- * STM32L4: Port fix for multiple oneshot timers from STM32. Also fixes a
- few issues with original STM32 implementation (2017-01-18).
- * SAM3/4: Add support for ATSAM4S4C. From Wolfgang Reißnegger (2017-01-18).
- * Math library: Leverage optimized ARM functions from BSD license ARM file
- (2017-01-19).
- * Math library optimatizations for FPU only apply to ARMv8 which is not
- yet supported (2017-01-20).
- * Move optimized ARM memcpy functions from arch/arm/src/ to
- libc/machine/. This is necessary for the PROTECTED and KERNEL build
- modes. Otherwise, memcpy() will be built in to kernel space and not
- accessible to applications (2017-01-20).
- * libc: Fix ARMv7-A/R memcpy assembly (2017-01-20).
- * ARM memcpy(): Use DWord vs. HWord offset. ARM 32-bit instructions must
- be aligned to DWord boundaries and this gives us more range in the jump
- tables (2017-01-20).
- * Fix a compile error: in sched_cpuload.c:Line136, the variables ts and
- secs are not defined if CONFIG_CPULOAD_ONESHOT_ENTROPY = 0. However,
- these variables are used regardless of CONFIG_CPULOAD_ONESHOT_ENTROPY at
- lines~180:onwards. From Rajan Gill (2017-01-22).
- * CPU load: Correct computation of the nominal period to use when the
- source is a oneshot timer (2017-01-22).
- * Kernel Modules: Module initializer may now return a symbol table
- (2017-01-22).
- * Modules: Extend the module interface so that we can access symbols
- exported by the module (2017-01-22).
- * Shared Libraries: In the FLAT build mode, kernel modules may be used to
- provide minimal shared library functionality (2017-01-22).
- * Shared libraries: Add a non-standard dllfnc.h function to set the
- symbol table (2017-01-23).
- * Olimex-stm32-p407: Add a NSH protected build configuration; Enable
- procfs/ in all configurations (2017-01-23).
- * SMP: Fix timer related issues: Round robin and sporadic scheduling
- were only being performed for tasks running on the CPU that processes
- the system timer interrupt. Similary, CPU load measurements were only
- be processed for running on the CPU that receives the sampling interrupt
- (2017-01-23).
- * STM32 F7: Added missing ARCH_HAVE_RESET for F7. From David Sidrane
- (2017-01-23).
- * STM32: Add missing STM32_BKP_BASE. From David Sidrane (2017-01-23).
- * Configurations that enable OSTEST must not disable signals (2017-01-24).
- * Add missing sched_note_*() calls to sam4cm SMP functions (2017-01-24).
- * Fix return value if x is NaN. From Aleksandr Vyhovanec (2017-01-25).
- * MMCSD_SDIO: Only wait for card ejected if card detection is supported.
- From Alan Carvalho de Assis (2017-01-26).
- * LPC43 pinset definitions: Add more 1 bit to pinset to reach
- SFSCLK0-SFSCLK3. Remove PINCONFIG_DIGITAL. From Alan Carvalho de Assis
- (2017-01-26).
- * sched/modules: Add support for dependencies between modules (2017-01-27).
- * Back out use on inline functions to access 16-bit registers. The inline
- functions were a work-around for misbehaving compiler years and years
- ago. The mon standard macro-ized version should work just fine
- (2017-01-27).
- * Olimex STM32 P407: Add support for on-board microSD slot. Does not
- work... Currently all commands to the SD card timeout (2017-01-28).
- * libc/modlib: Add build a configuration logic for a shared module
- library (2017-01-29).
- * Module names are not needed in libc/modlib when the module library is
- used only for shared library support (2017-01-29).
- * Shared Libs: Implement module based shared libraries for the PROTECTED
- mode build (2017-01-29).
- * Typos withim mtd/ with Macronix MX25L. In NuttX/drivers/mtd/Make.defs
- letters X between M and 25 are missing. Noted by Oleg Evseev
- (2017-01-x30x).
- * SAME70-Xplained: Clone some recent SAMV71-XULT changes (2017-01-30).
- * Add capabilities() method to SDIO interface. Remove
- CONFIG_SDIO_WIDTH_D1_ONLY. That should not be a global propertie, but
- rather a capability/limitation of single slot when there may be multiple
- slots (2017-01-31).
- * Removed dmasupported() method from the SDIO interface. That is now a
- bit in the capability set (2017-01-31).
- * STM32F7 SDMMC: Add support for single bit operation on SDMMC2
- (2017-01-31).
- * STM32F103-Minimum: Fix a compile error.
- CONFIG_STM32_TICKLESS_ONESHOT_TIMER is only defined in TICKLESS mode.
- Somebody has been hand editing .config files (2017-01-31).
- * Timer logic: Add private function prototypes to eliminate a warning;
- Functions should not be inline because the may recurse (2017-01-31).
- * STM32F7 SDMMC: Make sure that all SDMMC configuration variables begin
- with STM32F7_; Eliminate CONFIG_SDMMC1/2_DMA altogether. Does not
- appear to be used (2017-01-31).
- * STM32F429-DISCO: Move some board initialization logic that is not
- usable because it lacks the configuration options to make it so
- (2017-01-31).
- * Cancellation points: Fix some backward logic in conditional compilation
- (2017-02-02).
- * Soft links: Add an implementation of readlink() (2017-02-03).
- * inode_find: Now takes struct inode_desc_s type as input. That
- structure includes some data storage. It was used within inode_find(),
- but that means that the life of the data was the life of inode_find().
- That data must persist longer. It is now provided by the caller so that
- the life of the data persists for the entire life of the caller
- (2017-02-05).
- * tools/noteinfo.c: A hack tool that I use to analyze some sched_note
- output. Needs a home and may be useful to others (2017-02-05).
- * Pseudo File System: Add support for soft links in the top-level pseudo
- file system (2017-02-05).
- * Updates to Kinetis SDHC driver. From Marc Rechté (2017-02-06).
- * SDIO interface: Handle all possible DMA combinations in all SDIO drivers
- (2017-02-07).
- * up_timer_initialize() is named incorrectly. The prefix should be the
- architecture name, not up_ since it is private to the architecture.
- up_timerisr() is similarly misnamed and should also be private since it
- is used only with the xyz_timerisr.c files (2017-02-07).
- * MCG defines are based on the MCG feature configuration. We define the
- bits as a common set of names. This means that an index may be added to
- a name i.e. LOCK is LOCK0 as that is the superset name. From David
- Sidrane (2017-02-07).
- * Fixes illdefined BOARD_FR_DIV with BOARD_FRDIV from MCG. Original
- BOARD_FR_DIV was never used - that is a good thing because the value ws
- defined shifted and the code also shifted it. From David Sidrane
- (2017-02-07).
- * Added MCG settings that are defiend on the K64 SoC. Added
- BOARD_MCG_C2_FCFTRIM and BOARD_MCG_C2_LOCRE0 to configure the MCG_C2
- register cleanup of some comments. From David Sidrane (2017-02-07).
- * Better granualarity and errno checking of the board's MCG settings.
- Allow for complete MCG_C2 definition from the boart.h file. Moved
- #ifdef out of code by setting default values. Allow for individule bit
- setting in MCG_C2 for BOARD_EXTCLOCK_MCG_C2, BOARD_MCG_C2_FCFTRIM,
- BOARD_MCG_C2_LOCRE0. Added range and sanity checking. From David
- Sidrane (2017-02-07).
- * Cosmetic changes from review of last PR (2017-02-07).
- * C library: Remove comments blocks before empty sections (2017-02-08).
- * C Library: Add a very limited, first step implementation of setvbuf().
- This is a collaborative effort. Alan Carvalho de Assis did the initial
- prototype (2017-02-08).
- * setvbuf: Add support for configuration of line buffering (2017-02-08).
- * Bamboo-200E: Add netnsh configuration. From Alan Carvalho de Assis
- (2017-02-08).
- * USBMSC: Always set LUN readonly flag. From Wolfgang Reißnegger
- (2017-02-08).
- * drivers/lcd: ssd1306_configspi() must have global scope (2017-02-09).
- * SIM: Add readlink and setvbuf to nuttx-names.dat (2017-02-09).
- * setvbuf: Add support for disabling I/O bufferin (2017-02-09).
- * setvbuf: Fix some compile errors in first build of logic to
- enable/disable buffering (2017-02-09).
- * C Library: Clean-up buffer selections in Kconfig (2017-02-09).
- * sem_open(): Fix a compiler error introduced with the setvbuf() changes
- (2017-02-09).
- * MMC/SD SDIO: Some drivers need to start DMA before sending CMD24 and
- some AFTER. From Alan Carvalho de Assis (2017-02-09).
- * Kinetis SDHC driver fixes. From Marc Rechté (2017-02-09).
- * Bambino-200E: Use .elf extension on all executables. From Alan Carvalho
- de Assis (2017-02-09).
- * Kinetis: Add support for K66 family. From David Sidrane (2017-02-09).
- * Created a kinetis MCG versioning scheme pulled in by Kinetis chip.h
- The motivations is to version the IP blocks of the Kinetis K series
- family of parts.
- This added versioning and configuration features for the Kinetis MCG IP
- block.
- It is envisioned that in the long term as a chip is added. The author
- of the new chip definitions will either find the exact configuration in
- an existing chip define and add the new chip to it Or add the MCG
- feature configuration #defines to the chip ifdef list in
- arch/arm/include/kinetis/kinetis_mcg.h In either case the author should
- mark it as "Verified to Document Number:" taken from the reference manual.
- The version KINETIS_MCG_VERSION_UKN has been applied to most all the
- SoCs in the kinetis arch prior to this commit.
- The exceptions are the CONFIG_ARCH_CHIP_MK60FN1M0VLQ12, All K64 and K66
- which not have Verified MCG configurations.
- From David Sidrane (2017-02-09).
- * Kinetis chip Adding K66 and including MCG versioning. This includes
- arch/arm/include/kinetis/kinetis_mcg.h to bring in the MCG versioning
- and defines the KINETIS_K66 family for the added SoCs:
- --------------- ------- --- ------- ------- ------ ------ ------ -----
- PART NUMBER CPU PIN PACKAGE TOTAL PROGRAM EEPROM SRAM GPIO
- FREQ CNT FLASH FLASH
- --------------- ------- --- ------- ------- ------ ------ ------ -----
- MK66FN2M0VMD18 180 MHz 144 MAPBGA 2 MB — — KB 260 KB 100
- MK66FX1M0VMD18 180 MHz 144 MAPBGA 1.25 MB 1 MB 4 KB 256 KB 100
- MK66FN2M0VLQ18 180 MHz 144 LQFP 2 MB — — KB 260 KB 100
- MK66FX1M0VLQ18 180 MHz 144 LQFP 1.25 MB 1 MB 4 KB 256 KB 100
- From David Sidrane (2017-02-09).
- * STM32: Fixes the bkp reference counter issue. From David Sidrane
- (2017-02-09).
- * STM32F7: Fixes the bkp reference counter issue. From David Sidrane
- (2017-02-09).
- * C Library: Add setbuf() which is a trivial wrapper around setvbuf()
- (2017-02-09).
- * tools/mkconfig.c: Add logic to keep all of the buffering options in sync
- (2017-02-10).
- * VFS rename: Fix issues with rename to subdirectories and some softlink
- issues (2017-02-11).
- * Add logic to VFS rename: If target of rename exists and is a directory,
- then the source file should be moved 'under' the target directory.
- POSIX also requires that if the target is a file, then that old file
- must be deleted (2017-02-11).
- * rename: An inode with no operations should be treated like a directory
- for the purposes of rename (2017-02-12).
- * rename(): Correct more issues. (1) Move to the root directory in the
- pseudo file system, (2) Fix path naming calculation when the path is the
- root directory of a mounted file system, and (3) dont't do the rename if
- the source and destination of the rename are the same (2017-02-12).
- * Add basic fstat() support (2017-02-12).
- * Add fstat support to binfs (2017-02-12).
- * fstat: Add fstat() support to romfs (2017-02-12).
- * fstat: Add fstat() support to unionfs (2017-02-12).
- * I found an issue inside the cp15_coherent_dcache function in file,
- arch/arm/src/armv7-r/cp15_coherent_dcache.S.
- The "mcr CP15_BPIALLIS(r0)" instruction is used for invalidating entire
- branch predictor. But the problem is, since this is the generic code
- and can be called on any armv7-r architecture based CPU's. It is a
- problem, if this instruction is called in uni processor configuration.
- Because, BPIALLIS (c7, 0, c1, 6) instruction is only added as part of
- the "Multiprocessing Extensions" (As per ARM® Architecture Reference
- Manual /ARMv7-A and ARMv7-R edition)
- So in my opinion, this instruction should be under SMP configuration. In
- non-SMP configuration this instruction could become undefined.
- From Manohara HK (2017-02-13).
- * fstat: Add fstat() support to tmpfs (2017-02-13).
- * fstat: Add fstat() support to nxffs (2017-02-13).
- * fstat: Add fstat() support to nfs (2017-02-13).
- * NFS: Use clock_gettime() instead of deprecated gettimeofday()
- (2017-02-13).
- * fstat: Add fstat() support to FAT. From Alan Carvalho de Assis
- (2017-02-13).
- * ROMFS: stat() and fstat() should always indicate that directories are
- executable (2017-02-13).
- * Kinetis SDHC - Enable clock after selected. From David Sidrane
- (2017-02-14).
- * Kinetis SPI and I2C are 0 based. The K whole family line has max 4 or
- each. But the supported parts have the maximums listed below:
- K46 and K66 3 SPI SPI0-SPI2
- K46 and K66 4 I2C I2C0-I2C3
- From David Sidrane (2017-02-10).
- * Add support for NXP Freedom-k66f development board. From David Sidrane
- (2017-02-14).
- * Kinetis: Define Alternate addresses for IP blocks in both AIPS0 &
- AIPS1. Added ALT version of RNGA, FTM2, DAC0 as a facility to later
- define secondary access via AIPS1 to these peripherals. From David
- Sidrane (2017-02-14).
- * Kinetis: Add support for K66. From David Sidrane (2017-02-14).
- * procfs: stat() left several fields in uninitialized state (2017-02-14).
- * hostfs: Add support for fstat() (2017-02-14).
- * procfs: Add support for fstat() (2017-02-14).
- * smartfs: Add support for fstat() (2017-02-14).
- * Kinetis Freedom K66F: Add Ethernet support. From David Sidrane
- (2017-02-14).
- * LPC43 serial: Correct conditional logic that selects /dev/ttySN.
- Problem noted by Alan Carvalho de Assis (2017-02-14).
- * Add usbnsh config to Bambino 200E board. From Alan Carvalho de Assis
- (2017-02-14).
- * procfs: Most stat() implementations were not initializating the
- st_atime, st_ctime, and st_mtime fields (2017-02-15).
- * Kinetis Support RMII clock source select. This defined the RMII clock
- source select bits and allows the selection to be made via Kconfig.
- From David Sidrane (2017-02-15).
- * Kinetis PWM: Add FTM3 to PWM. From David Sidrane (2017-02-15).
- * Kinetis:Freedom-K66F uses ENET_1588_CLKIN as RMII clock. From David
- Sidrane (2017-02-15).
- * Fix for SAMv7 SPI: DLYBS value was calculated, but never written to any
- registers. This led to incorrect timings on the bus. From Michael
- Spahlinger (2017-02-16).
- * C library: Add swab() (2017-02-16).
- * C library: Add strtoimax and strtoumax (2017-02-16).
- * C library: Add ffs(), rindex(), an index(). Add strings.h. Move
- strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they belong in
- strings.h.h, not string.h. bzero, bcmp, and bcopy are legacy functions;
- the contemporary counterparts should be used instead (2017-02-16).
- * Allow board to configure HSE clock in bypass-mode. This is needed to
- enable HSE with Nucleo-F746ZG board. From Jussi Kivilinna (2017-02-17).
- * C library: Add fstatfs(); fix a reference counting error in fstat()
- (2017-02-17).
- * Update cwchar. Add cwctype (2017-02-17).
- * Add setbuf and setvbuf to cstdio (2017-02-17).
- * Port STM32L4 SAI driver from MDK (2017-02-17).
- * STM32L4: Bring power management logic from Motrola MDK into NuttX
- (2017-02-18).
- * STM32L4: Bring LPTIM driver in from the Motorola MDK (2017-02-18).
- * drivers/sensors: Add driver for the ST L3GD20 3 axis gyro. From
- raiden00 (2017-02-19).
- * config/stm32f429i-disco: Add support for the L3GD20 driver. From
- raiden00 (2017-02-19).
- * STM32L4 COMP: Port from Motorola MDK (2017-02-19).
- * Add twr-k64f120m config and fix some ENET related problems. From Marc
- Rechté (2017-02-19).
- * STM32 F7: stm32_allocateheap: allow use DTCM memory for heap. STM32F7
- has up to 128KiB of DTCM memory that is currently left unused. This
- change adds DTCM to main heap if CONFIG_STM32F7_DTCMEXCLUDE is not
- enabled. From Jussi Kivilinna (2017-02-20).
- * This should resolve issue #30: Audio Tone Generator and PWM Multiple
- Output Channel options. I don't actually have a setup to verify it,
- however (2017-02-20).
- * drivers/tone.c: 50% duty needs to be expressed a a fixed precision
- number (2017-02-21).
- * Kinetis: Created a kinetis SIM versioning scheme pulled in by Kinetis
- chip.h.
- The motvations is to version the IP blocks of the Kinetis K series
- family of parts.
- This added versioning and configuration features for the Kinetis SIM IP
- block.
- It is envisioned that in the long term as a chip is added. The author
- of the new chip definitions will either find the exact configuration in
- an existing chip define and add the new chip to it Or add the SIM
- feature configuration #defines to the chip ifdef list in
- arch/arm/include/kinetis/kinetis_sim.h In either case the author should
- mark it as "Verified to Document Number:" taken from the reference
- manual.
- The version KINETIS_SIM_VERSION_UKN has been applied to most all the
- SoCs in the kinetis arch prior to this commit.
- The exceptions are the CONFIG_ARCH_CHIP_MK60FN1M0VLQ12, All K64 and K66
- which not have Verified SIM configurations.
- From David Sidrane (2017-02-21).
- * Created a kinetis PMC versioning scheme pulled in by Kinetis chip.h.
- The motivation is to version the IP blocks of the Kinetis K series
- family of parts. This added versioning and configuration features for
- the Kinetis PMC IP block. It is envisioned that in the long term as a
- chip is added. The author of the new chip definitions will either find
- the exact configuration in an existing chip define and add the new chip
- to it Or add the PMC fature configuration #defines to the chip ifdef
- list in arch/arm/include/kinetis/kinetis_pmc.h In either case the
- author should mark it as "Verified to Document Number:" taken from the
- reference manual.
- The version KINETIS_PMC_VERSION_UKN has been applied to most all the
- SoCs in the kinetis arch prior to this commit.
- The exceptions are the CONFIG_ARCH_CHIP_MK60FN1M0VLQ12,
- CONFIG_ARCH_CHIP_MK20DXxxxVLH7 All K64 and K66 have been verified PMC
- configurations. From David Sidrane (2017-02-22).
- * Kinetis: kinetis_clockconfig uses the correct ACKISO. ACKISO is located
- in the PMC_REGSC on the majority of the Kinetis SoCs. With the exception
- of the MK40DXxxxZVLQ10 where ACKISO is located in LLWU_CS (2017-02-22).
- * Kinetis: Refactor you use SIM_SOPT2_PLLFLLSEL, added warning. The
- warning has been added because: SIM_SOPT2_PLLFLLSEL is a clock selection
- that may feed many clock subsystem: USB, TPM, SDHCSRC, LPUARTSRC.
- Therefore, there needs to be a global board level setting to select the
- source for SIM_SOPT2_PLLFLLSEL and then derive all the sub selections
- and proper fractions/divisors for each modules clock. From David
- Sidrane (2017-02-22).
- * Add support to QEncoder on STM32F103Minimum board. From Alan Carvalho
- de Assis (2017-02-23).
- * Olimex STM32 p407: Add external SRAM support. Unfortunately not usable
- or testable unless you also disable the serial console (2017-02-23).
- * drivers/spi/Kconfig: There is too much SPI in the configuration menu;
- SPI Driver Support menu is empty. From Maciej Wójcik (2017-02-23).
- * Kinetis: SIM add paramiterized SIM_CLKDIVx_xxFRAC|DIV macros. The makes
- for cleaner board definitions. From David Sidrane (2017-02-23).
- * kinetis_enet.c add #define for number of loops for auto negotiation to
- complete. From Marc Rechté (2017-02-23).
- * STM32F4 Discovery: Fix issues with QEncoder support. From Alan Carvalho
- de Assis (2017-02-23).
- * sigtimedwait: When timer expires, up_unblock_task() is called. This is
- okay in the single CPU case because interrupts are disable in the timer
- interrupt handler. But it is insufficient in the SMP case. enter_ and
- leave_critical_section() must be called in order to manage spinlocks
- correctly (2017-02-23).
- * Fix QEncoder driver, based on STM32L4 driver. From Alan Carvalho de
- Assis (2017-02-23).
- * STM32 QEncoder. Enable clocking to the timer on QE setup; disable clock
- on QE teardown (2017-02-23).
- * Kinetis: Extend clockconfig to support SOPT2_PLLFLLSEL and
- SIM_CLKDIV3. A board.h file can now specify the: 1)
- BOARD_SOPT2_PLLFLLSEL to select the output of the SIM_SOPT2 MUX from:
- MCGFLLCLK, MCGPLLCLK, USB1PFD, and IRC48MHZ. 2) If it defines
- BOARD_SIM_CLKDIV3_FREQ then it must define BOARD_SIM_CLKDIV3_PLLFLLFRAC
- and BOARD_SIM_CLKDIV3_PLLFLLDIV which wil be used to cpnfigure
- SIM_CLKDIV3 [PLLFLLFRAC, PLLFLLDIV]. From David Sidrane (2017-02-23).
- * Kinetis serial: Added configurable 1|2 stop bits. HAVE_SERIAL_CONSOLE
- -> HAVE_UART_CONSOLE to be consistent with HAVE_LPUART_CONSOLE naming.
- From David Sidrane (2017-02-23).
- * Kinetis: Add LPUART serial driver and Clock configuartaion to
- freedom-k66f board. Pin out LPUART0 for testing. Define
- BOARD_SOPT2_PLLFLLSEL ti select MCGPLLCLK. Define
- BOARD_SIM_CLKDIV3_FREQ etal to provide BOARD_LPUART0_FREQ. From David
- Sidrane (2017-02-25).
- * QEncoder: Add mechanism to assure that architecture-specific IOCTL
- commands do not overlap (2017-02-25).
- * include/nuttx/analog: Add an ioctl.h header file to coordinate analogic
- driver IOCTL commands (2017-02-25).
- * CAN: Add infrastructure to assure that all CAN IOCTL commands are
- uniquely numbered (2017-02-25).
- * Wireless and TSC: Add infrastructure to assure that all IOCTL commands
- are uniquely numbered (2017-02-25).
- * Add basic support for the STM32F334 and Nucleo F334R8 board. From
- Mateusz Szafoni (2017-02-16).
- * SAM3/4: GPIO bit numbering typo fixes. From Wolfgang Reißnegger
- (2017-02-26).
- * Add SDCard support over SPI on STM32F103-Minimum board. From Alan
- Carvalho de Assis (2017-02-26).
- * option to enable Memory Card debug output was hidden with SD cards
- connected through SPI. From Maciej Wójcik (2017-02-27).
- * Kinetis serial: Fixed up_rxint - did not disable the RX interuppts.
- There was an OR where and AND NOT was needed. From David Sidrane
- (2017-02-27).
- * Kinetis:Add the configuring SIM_CLKDIV2[USBFRAC, USBDIV] in
- kinetis_clockconfig. If a board.h provides BOARD_SIM_CLKDIV2_FREQ it
- will configure the SIM_CLKDIV2 based on the additional provided
- BOARD_SIM_CLKDIV2_USBFRAC and BOARD_SIM_CLKDIV2_USBDIV. The reason for
- doing this globaly is that the output the SIM_CLKDIV2 divisor may be
- also used for other IP blocks in future configurations (as is done for
- SIM_CLKDIV3). From David Sidrane (2017-02-27).
- * Kinetis: Refactor clocking in kinetis_usbdev. (1) Removed
- SIM_CLKDIV2[USBFRAC, USBDIV] setting as it is now, done in
- kinetis_clockconfig, (2) Use BOARD_USB_CLKSRC to select the clock source
- to the USB block, (3) Removed CONFIG_TEENSY_3X_OVERCLOCK from the driver
- as the board.h will now provide BOARD_SIM_CLKDIV2_USBDIV and
- BOARD_SIM_CLKDIV2_USBFRAC to the kinetis_clockconfig. From David
- Sidrane (2017-02-27).
- * Kinetis: Use BOARD_xxxx to drive system clocking: (1) Shifted the clock
- speed of MK20DX128VLH5 to 48 Mhz to be able to uses USB. (2) Set
- BOARD_OUTDIV3 to 0 - there is no BOARD_OUTDIV3 on a MK20DX128VLH5 or
- K20DX256VLH7, (3) Added BOARD_SOPT2_PLLFLLSEL and BOARD_SOPT2_FREQ along
- with settings for BOARD_SIM_CLKDIV2_USBFRAC and BOARD_SIM_CLKDIV2_USBDIV
- base on the BOARD_SOPT2_FREQ. From David Sidrane (2017-02-27).
- * Kinetis: Define uart and lpuart versions of [early]serialinit. Add
- serial init to centralize UART/LPUART management. Use kinetis_ not up_
- where arch specific. Defined kinetis_[lp]uart_[early]serialinit to
- facilitate bring up both UARTs and LPUARTs as devices and a console.
- Support ordering and merging of serial devices names. From David
- Sidrane (2017-02-27).
- * Adapt more drivers to utilize the IRQ argument feature (2107-02-28).
- * irq_attach() and type xcpt_t. irq_attach now accepts a argument that
- will be provided to the interrupt handler when the interrupt ocurrs.
- This affects many files by replace ad hoc parameter passing logic with a
- standardized approach. From Mark Schulte (2017-03-01).
- * Fix open() a block device with CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y.
- From Masayuki Ishikawa (2017-03-01).
- * net/: Fixed a nullptr-dereference on iob_clone. From Pascal Speck
- (2017-03-01).
- * configs/: All functions that used to return an xcpt_t old handler value,
- not return NULL. The oldhandler value is no longer useful with the
- recent changes to the interrupt argument passing (2017-03-02).
- * arch_phy_irq: Now returns int instead of xcpt_t oldhandler. The
- oldhandler is useless after the changes to the interrupt argument. Also
- access an argument for the PHY interrupt. phy_notify.c driver changed
- to exploit new interrupt argument passing (2017-03-02).
- * STM32/F7/L4: EXTI PVD function no longer returns the xcpt_t oldhandler.
- There value is useless and dangerous after the recent changes to
- interrupt argument passing (2017-03-02).
- * STM3 L4: EXTI COMP function no longer returns the xcpt_t oldhandler.
- There value is useless and dangerous after the recent changes to
- interrupt argument passing (2017-03-02).
- * STM32/F7/L4: EXTI ALARM function no longer returns the xcpt_t
- oldhandler. There value is useless and dangerous after the recent
- changes to interrupt argument passing (2017-03-02).
- * Add support to USB Device on STM32F103-Minimum board. From Alan
- Carvalho de Assis (2017-03-02).
- * Kinetis GPIO: Pin IRQ logic no longer returns the xcpt_t oldhandler.
- There value is useless and dangerous after the recent changes to
- interrupt argument passing (2017-03-02).
- * STM32 Ethernet: Need two work structures so that pending poll work is
- not lost when an interrupt occurs (2017-03-02).
- * Kinetis-L GPIO: Pin IRQ logic no longer returns the xcpt_t oldhandler.
- There value is useless and dangerous after the recent changes to
- interrupt argument passing (2017-03-02).
- * PIC32MX: Pin IRQ logic no longer returns the xcpt_t oldhandler. There
- value is useless and dangerous after the recent changes to interrupt
- argument passing (2017-03-02).
- * PIC32MZ: Pin IRQ logic no longer returns the xcpt_t oldhandler. There
- value is useless and dangerous after the recent changes to interrupt
- argument passing (2017-03-02).
- * STM32 L4: Pin IRQ logic no longer returns the xcpt_t oldhandler. There
- value is useless and dangerous after the recent changes to interrupt
- argument passing (2017-03-02).
- * Tiva: Pin IRQ logic no longer returns the xcpt_t oldhandler. There
- value is useless and dangerous after the recent changes to interrupt
- argument passing (2017-03-02).
- * board_button_irq: Button IRQ logic no longer returns the xcpt_t
- oldhandler. There value is useless and dangerous after the recent
- changes to interrupt argument passing (2017-03-02).
- * stm32_gpiosetevent: GPIO IRQ logic no longer returns the xcpt_t
- oldhandler. This value is useless and dangerous after the recent
- changes to interrupt argument passing (2017-03-02).
- * Implements support for smaller interrupt tables as described at
- http://www.nuttx.org/doku.php?id=wiki:howtos:smallvectors . This is
- largely the work of Mark Schulte. However, I have made several changes
- to match with the Wiki document. If you like the change, thanks go to
- Marc. For any errors you can blame me (2017-03-03).
- * Experimental change to STM32 Ethernet driver a success. Porting change
- to all other Ethernet drivers (2017-03-03).
- * FS: Don't build block driver proxy if PSEUDOFS_OPERATIONS are disabled
- (2017-03-04).
- * drivers/net: Add framework for serialization in the case where multiple
- low-priority work queues are used (2017-03-04).
- * net/drivers/skeleton.c: Back out serialization changes of the last
- commit. They are not necessary in the skeleton.c example because the
- calls to net_lock() at the beginning of each worker function will
- enforce serialization (2017-03-04).
- * STM32F33XX DAC, OPAMP, COMP and ADC headers. From Mateusz Szafoni
- (2017-03-04).
- * STM32 F7 SDMMC: Use new interrupt argument facility (2017-03-05).
- * stm32f33xxx: Add HRTIM header file. From Mateusz Szafoni (2017-03-05).
- * sendfile(): Fix error introduced with commit
- ff73be870e38959b0aaee5961dc47b4b58dc2d86. Noted by Maciej Wójcik
- (2017-03-05).
- * Kinetis: Eliminate warning when USE_EARLYSERIALINIT is not defined
- (2017-03-05).
- * STM3210E-EVAL: Eliminte a warning. Return type of board_button_irq is
- now type int (2017-03-05).
- * dk-tm4c129x: Remove warning for variable that is set but not used
- (2017-03-05).
- * SAMA5D4-EK: Eliminate warning. Correct type of return value
- (2017-03-05).
- * STM32F103 Minimum: Eliminate warning stm32_usbdev.o givne twice in same
- rule (2017-03-05).
- * STM32 OTGHS host: stm32_in_transfer() fails and returns NAK if a
- short transfer is received. This causes problems from class drivers
- like CDC/ACM where short packets are expected. In those protocols,
- any transfer may be terminated by sending short or NUL packet. From
- Janne Rosberg. Adapt Janne Rosberg's patch to STM32 OTGHS host to
- OTGFS host, and to similar USB host implementations for STM32 L4 and
- F7 (2017-03-07).
- * usbhost_cdcacm: Fix tx outbuffer overflow and remove now invalid
- assert. From Janne Rosberg (2017-03-07).
- 7.21 2017-06-05 Gregory Nutt <gnutt@nuttx.org>
- * tools/kconfig2html: Need to increase the maximum number of default
- values (2017-03-08).
- * C library: Add strerror_r() (2017-03-08).
- * C Library: Add wcstoull(), swprintf(), wcstod(), wcstof(), wcstol(),
- wcstold(), wcstoul(), wcstoll() functions. Add mbsnrtowcs() and
- wcsnrtombs() (just returning success). Add mbtowc() and wctomb() to
- C++ std namespace. From Alan Carvalho de Assis (2017-03-08).
- * Kinetis: Fixed GPIO _PIN_OUTPUT_LOWDRIVE swapped with
- _PIN_OUTPUT_OPENDRAIN. From David Sidrane (2017-03-08).
- * Ensure interrupts are back on BEFORE running code dependant on
- clock_systimer. From David Sidrane (2017-03-08).
- * Enable compilation of libc++ same way as uClibc++. From Alan
- Carvalho de Assis (2017-03-08).
- * Add LPC4337FET256. From Andreas Bihlmaier (2017-03-09).
- * Change Kconfig type of ADC0_MASK from hex to int; add ADC driver
- options to lpc43xx. From Andreas Bihlmaier (2017-03-09).
- * Add missing PINCONF_INBUFFER in several places of
- lpc4310203050_pinconfig.h. From Andreas Bihlmaier (2017-03-09).
- * Rename LPC43_GPDMA_GLOBAL_CONFIG (already slipped previous commit C
- file); fix GPDMA_CONTROL_SBSIZE_*, improve usability of
- GPDMA_CONTROL_{S,D} macros. From Andreas Bihlmaier (2017-03-09).
- * Fix errors in LPC43 SCT and SGPIO headers. From Andreas Bihlmaier
- (2017-03-09).
- * Fix logic error in lpc43_adc. From Andreas Bihlmaier (2017-03-09).
- * Fix logic in preprocessor checks and correct arguments to
- lpc43_pin_config initialization. From Andreas Bihlmaier (2017-03-09).
- * Use correct macro for irqid (fortunately both point to
- LPC43_IRQ_EXTINT+18). From Andreas Bihlmaier (2017-03-09).
- * Actually write modified value to register. From Andreas Bihlmaier
- (2017-03-09).
- * Increase number of supported PWM channels from 4 to 6. From Andreas
- Bihlmaier (2017-03-09).
- * Fix as5048b by adding missing frequency parameter. From Andreas
- Bihlmaier (2017-03-09).
- * Kinetis: Allow Board to add Pullups on SDHC lines. From David
- Sidrane (2017-03-09).
- * EZ80F910200KITG: Missing support logic in configs/Kconfig (2017-03-09).
- * Olimex-STM32-P407: Update USB host support (2017-03-09).
- * Olimex STM32 P407: USB host support for USB FLASH sticks is now
- supported in the base nsh configuration (2017-03-09).
- * STM32, STM32 F7, and STM32 L4: Back out part of
- 3331e9c49aaaa6dcc3aefa6a9e2c80422ffedcd3. Returning immediately in
- the case of a NAK makes the Mass Storage Class driver unreliable.
- The retry/timeout logic is necessary. This implementation tries to
- implement a compromise: If a NAK is received after some data is
- received, then the partial data received is returned as with
- 3331e9c49aaaa6dcc3aefa6a9e2c80422ffedcd3. If if a NAK is received
- with no data, then no longer returns the NAK error immediately but
- retries until data is received or a timeout occurs. Initial testing
- indicates that this fixes the issues the MSC. However, I have
- concerns that if multiple sectors are read in one transfer, there
- could be NAKs between sectors as well and, in that case, then change
- will still cause failures (2017-03-09).
- * STM32F2: Add USB OTG HS support for stm32f20xxx cores. From Simon
- Piriou (2017-03-09).
- * Remove all references to arch_usbhost_initialize(). That was
- incorrectly called from apps/examples/hidkbd. That is violation of
- the OS interfacing rules and will no longer be supported. USB host
- should be initialized as part of the board bring-up logic was with
- any other devices and should not involve illegal calls from
- applications into the OS (2017-03-09).
- * STM32, STM32 F7, STM32 L4: OTG host drivers: Do not do data toggle
- if interrupt transfer is NAKed. Sugested by webbbn@gmail.com
- (2017-03-09).
- * apps/examples/usbterm is gone because it can be configured to perform
- an illegal call into the OS. Remove all traces of
- CONFIG_EXAMPLES_USBTERM* and all of the illegal device support
- (2017-03-09).
- * Save elapsed time before handling I2C in stm32_i2c_sem_waitstop().
- This patch follows the same logic as in previous fix to
- stm32_i2c_sem_waitdone(). It is possible that a context switch
- occurs after I2C registers are read but before elapsed time is saved
- in stm32_i2c_sem_waitstop(). It is then possible that the registers
- were read only once with "elapsed time" equal 0. When scheduler
- resumes this thread it is quite possible that now "elapsed time" will
- be well above timeout threshold. In that case the function returns
- and reports a timeout, even though the registers were not read
- "recently". Fix this by inverting the order of operations in the loop
- - save elapsed time before reading registers. This way a context
- switch anywhere in the loop will not cause an erroneous "timeout"
- error. From Freddie Chopin (2017-03-10).
- * pthreads: Fix pthread_mutexattr_init(). It was not initializing the
- protocol field when priority inheritance is enabled (2017-03-10).
- * Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is
- only a single, hard-allocated holder structure. This is problem
- because in sem_wait() the holder is released, but needs to remain in
- the holder container until sem_restorebaseprio() is called. The call
- to sem_restorebaseprio() must be one of the last things the
- sem_wait() does because it can cause the task to be suspended. If in
- sem_wait(), a new task gets the semaphore count then it will fail to
- allocate the holder and will not participate in priority
- inheritance. This fix is to add two hard-allocated holders in the
- sem_t structure: One of the old holder and one for the new holder
- (2017-03-10).
- * STM32, STM32 F7, and STM32 L4: Clone Freddie Chopin's I2C change to
- similar STM32 I2C drivers. From David Sidrane (2017-03-10).
- * Priority Inversion fixes: Initalization. From David Sidrane
- (2017-03-10).
- * configs: Add Particle Photon board support. From Simon Piriou
- (2017-03-10).
- * tools/testbuild.sh: Add debug option (-d) (2017-03-10).
- * multiple fixes in nrf24l01 driver: (1) signal POLLIN if there is
- already data in the FIFO, (2) send ETIMEDOUT to userspace after 2
- seconds if TX IRQ was not received, (3) handle FIFO overflow, (4)
- handle invalid pipes/empty FIFO, and (5) multiple cosmetics (missing
- static, duplicate define, missing \n). From Leif Jakob (2017-03-10).
- * STM32 F33 ADC: Correct bad definitions of base addresses; Fix
- naming collision by changing colliding STM32_ADC12_BASE to
- STM32_ADC12_CMN_BASE (2017-03-10).
- * photon: Add iwdg timer support. From Simon Piriou (2017-03-11).
- * photon: Add usb otg hs support and usbnsh app. From Simon Piriou
- (2017-03-11).
- * photon: Add LEDs and BUTTONS support. From Simon Piriou (2017-03-11).
- * As discovered by dcabecinhas. This fix assume the 8 byte alignment
- options for size stack size or this will overwrite the first word
- after TOS. See
- https://github.com/PX4/Firmware/issues/6613#issuecomment-285869778.
- From David Sidrane (2017-03-11).
- * STM32F20xxx: Add BOARD_DISABLE_USBOTG_HSULPI flag. From Simon
- Piriou (2017-03-11).
- * STM32: Propagate STM32 F2 changes of last PR to STM32 F4 and F7
- OTGHS (2017-03-11).
- * STM32 OTG HS: A little research reveals that only the F2 RCC
- initialization set the OTGHSULPIEN bit and Photon is the only F2
- board configuration that uses OTG. Therefore, we can simplify the
- conditional logic of the last PR. Negative logic was used (#ifndef
- BOARD_DISABLE_USBOTG_HSULPI) to prevent bad settings in other
- configurations. But giveh these facts, the preferred positive logic
- now makes more sense (#ifdef BOARD_ENABLE_USBOTG_HSULPI) (2017-03-11).
- * STM32: OTG host implementations of stm32_in_transfer() must obey the
- polling interval for the case of isochronous and interrupt endpoints
- (2017-03-12).
- * Photon: Add basic support for wlan chip. From Simon Piriou
- (2017-03-12).
- * Networking: Add registration support for integrated ieee80211
- wireless drivers. Rename CONFIG_IEEE802154 to
- CONFIG_WIRELESS_IEEE8021514 following the convention of including the
- location of the configuration variable as a part of its name
- (2017-03-12).
- * If whence is SEEK_END, the file offset shall be set to the size of
- the file plus offset. Noted by eunb.song@samsung.com (2017-03-13).
- * Move IEEE 802.11 wireless IOCTLs from include/nuttx/net/ioctl to
- include/nuttx/wireless/wireless.h. Add some Linux compatible
- structures to use with the IOCTL commands. (2017-03-13).
- * semaphore: sem_holder sem_findholder missing inintalization of
- pholder. sem_findholder would fail and code optimization covered
- this up. From David Sidrane (2017-03-13).
- * Partial Fix priority inheritance CONFIG_SEM_PREALLOCHOLDERS=0. From
- David Sidrane (2017-03-13).
- * semaphore: sem_boostholderprio prevent overrun of pend_reprios. The
- second case rtcb->sched_priority <= htcb->sched_priority did not
- check if there is sufficient space in the pend_reprios array. From
- David Sidrane (2017-03-13).
- * Include C++ library to 'make export'. From Alan Carvalho de Assis
- (2017-03-13).
- * arch/arm/src/xmc4: Initial, partial support for Infineon XMC4xxx
- (2017-03-14).
- * photon: Porting wlan device. From Simon Piriou (2017-03-14).
- * lp_worker: Guard from pend_reprios overlow. From David Sidrane
- (2017-03-15).
- * wireless/ieee802154: Renamed file ieee802154_device to
- radio802154_device. From Anthony Merlino (2017-03-15).
- * Add option to enable wireless debug output (2017-03-15).
- * wireless/ieee802.15.4: Refactors ieee802154_dev character driver to
- be radio802154_device. From Anthony Merlino (2017-03-15).
- * Integrate use of new wireless debug macros. Replace ad hoc debug
- macros. Convert obsolete dbg() macros to current info(), warn(),
- err() macros (2017-03-15).
- * sem_holder: Fixes improper restoration of base_priority in the case
- of CONFIG_SEM_PREALLOCHOLDERS=0. The call to
- sem_restorebaseprio_task context switches in the
- sem_foreachholder(sem, sem_restoreholderprioB, stcb); call prior to
- releasing the holder. So the running task is left as a holder as is
- the started task. Leaving both slots filled thus failing to perform
- the boost/or restoration on the correct tcb. This PR fixes this by
- releasing the running task slot prior to reprioritization that can
- lead to the context switch. To faclitate this, the interface to
- sem_restorebaseprio needed to take the tcb from the holder prior to
- the holder being freed. In the failure case where sched_verifytcb
- fails it added the overhead of looking up the holder. There is also
- the additional thunking on the foreach to get from holer to
- holder->tcb. An alternate approach could be to leve the interface
- the same and allocate a holder on the stack of sem_restoreholderprioB
- copy the sem's holder to it, free it as is done in this pr and and
- then pass that address sem_restoreholderprio as the holder. It could
- then get the holder's tcb but we would keep the same sem_findholder
- in sched_verifytcb. From David Sidrane (2017-03-15).
- * ARM: Remove redundant interrupt stack coloring. From David
- Cabecinhas (2017-03-16).
- * ARM: Set EABI stack alignment for all ARM architectures (remove OABI
- code). From David Cabecinhas (2017-03-16).
- * Remove redundant interrupt stack coloring and OABI code. From David
- Cabecinhas (2017-03-16).
- * Fixed descritpions of NUC100/120. From no1wudi (2017-03-16).
- * XMC4500 Relax: Add basic board support infrastructure of Infineon
- XMC4500 Relax Lite v1 (2017-03-16).
- * Fix mksyscall host binary name. From Alan Carvalho de Assis
- (2017-03-16).
- * sem_holder: The logic for the list version is unchanged. From David
- Sidrane (2017-03-16).
- * sem_holder: Fixes improper restoration of base_priority. From David
- Sidrane (2017-03-17).
- * C Library: printf: Fix precision for string formatting. Fixes use
- of format precision to truncate input string. From Jussi Kivilinna
- (2017-03-17).
- * vsnprintf(): If size is zero, then vsnprintf() should return the
- size of the required buffer without writing anything. This is same
- fix that was done for snprintf in 2014 by commit
- 59846a8fe928abb389e3776ebdbb52022da45be3. From Jussi Kivilinna
- (2017-03-17).
- * Adds driver support for the XBox One controller. Currently only the
- latest version (XBox One X) controller works. The older XBox One
- controllers do not enumerate correctly. From Brian Webb (2017-03-17).
- * USB Host driver for the XBox One game controller. From Brian Webb
- (2017-03-18).
- * ARM: Fix off-by-one interrupt stack allocation in 8-byte aligned
- architectures. From David Cabecinhas (2017-03-18).
- * configs/nucleo_f334r8: Add ADC example. From Mateusz Szafoni
- (2017-03-18).
- * mtd/progmem: Fix incorrect target address calculation.
- progmem_read/write() is incorrectly calculating the target address,
- expecting the offset argument is given in a block number. This is
- completely wrong and as a result invalid flash region is accessed.
- Byte-oriented read/write interfaces of mtd device accept the target
- address in a byte offset, not a block number. From Heesub Shin
- (2017-03-18).
- * STM32F33: Move DMA logic to a separate files + add ADC support. From
- Mateusz Szafoni (2017-03-18).
- * Nucleo-F334R8: Add COMP support. From Mateusz Szafoni (2017-03-19).
- * STM32F3: Add COMP support. From Mateusz Szafoni (2017-03-19).
- * XMC4xxx/XMC4500 Relax: First, clean build of basic NSH configurtion
- (2017-03-20).
- * XMC4500-Relax: Add LED support (2017-03-20).
- * input/mxt: Prevent overriding i2c transfer return value.
- put_reg/get_reg function was overriding i2c transfer error code with
- i2creset return value, that lead to OK status although actual
- transfer failed. From Juha Niskanen (2017-03-21).
- * drivers/audio/wm8904: WM8904 has same problem as that fixed by Juha
- Niskanen in the MaxTouch driver (2017-03-21).
- * drivers/lcd/st7565.c: Extend to include support for the AQM_1248A.
- From Masayuki Ishikawa (2017-03-21).
- * Fixed wrong assert on udp dgram send. From Pascal Speck (2017-03-21).
- * sem_holder: Indexing error. From David Sidrane (2017-03-21).
- if (sem->holder[0].htcb != NULL || sem->holder[**1**].htcb != NULL)
- * sched/semaphore: Convert strange use of DEBUGASSERT to DEBUGPANIC
- (2017-03-21).
- * sched/semaphore: Fix a warning aout an unused variable when priority
- inheritance is enabled (2017-03-21).
- * Clicker2-STM32: Add support for Mikroelektronika Clicker 2 for
- STM32. From Anthony Merlino (2017-03-21).
- * Implement DMA support for the stm32f4 I2C. Max and I have verified
- that it works on our systems. From Rajan Gill (2017-03-21).
- * drivers/lcd/st7565.c: Use ST7565_POWERCTRL_INT instead of
- ST7565_POWERCTRL_BRF. From Masayuki Ishikawa (2017-03-21).
- * SMP Kconfig: Change the minimum SMP_NCPUS to 1. From Masayuki
- Ishikawa (2017-03-21).
- * SMP: Setting CONFIG_SMP_NCPUS=1 should only be permitted in a debug
- configuration (2017-03-22).
- * Clicker2-STM32: Create src/, kernel/, and scripts/ directories
- (2017-03-22).
- * Clicker2-STM32: Add an NSH configuration (2017-03-22).
- * Clicker2 STM32: Add SPI support (2017-03-22).
- * XMC4xxx: Add FPU support. From David S. Alessio (2017-03-22).
- * Clicker2-STM32: Add definitions for remaining mikroBUS pins
- (2017-03-22).
- * STM32: Fix erase sector number for microcontrolers with more than 11
- sectors. Erase a sector from the second bank cause the bit 4 of SNB
- being set but never unsed, so trying to erase a sector from the first
- bank was acually eraseing a sector from the second bank. From José
- Roberto de Souza (2017-03-22).
- * STM32: Make up_progmem thread safe. Writing to a flash sector while
- starting the erase of other sector have a undefined behavior so lets
- add a semaphore and syncronize access to Flash registers. But for
- the semaphore to work it needs to be initialized so each board needs
- call stm32_flash_initialize() on initialization, so to avoid runtime
- problems it is only using semaphore and making it thread safe if
- initialized, after all boards starts to call stm32_flash_initialize()
- we can remove the boolean and the check. From José Roberto de Souza
- (2017-03-22).
- * STM32: Add workaround for flash data cache corruption on
- read-while-write. This is a known hardware issue on some STM32 see
- the errata of your model and if you make use of both memory banks you
- should enable it. From José Roberto de Souza (2017-03-22).
- * Clicker2-STM32: Add framework for MRF24J40 support. Untested and
- still some missing logic (2017-03-22).
- * STM32 Flash fixes. From José Roberto de Souza (2017-03-22).
- * STM32F7: In stm32_allocateheap.c There are 5 not 4 configurations.
- From David Sidrane (2017-03-23).
- * Clicker2-STM32: Add logic to register the MRF24J40 radio character
- device (2017-03-23).
- * Clicker2-STM32: Add some mostly bogus MAC initializatinon logic
- (2017-03-23).
- * STM32 I2C: Do not allow CONFIG_I2C_POLLED and CONFIG_I2C_DMA. From
- Rajan Gill (2017-03-23).
- * stm32_flash: Need conditinal on non F4 targets. From David Sidrane
- (2017-03-23).
- * stm32_i2c_alt: Duplicate non CS dev of regval. From David Sidrane
- (2017-03-23).
- * stm32f40xxx_i2c: Duplicate non CS dev of regval. From David Sidrane
- (2017-03-23).
- * stm32_i2c_alt: Move def of regval to top func def per CS. From
- David Sidrane (2017-03-31).
- * stm322_flash: Missing unlock on F1 HSI off path. From David Sidrane
- (2017-03-24).
- * Fix compile error when disabled the flash data cache corruption for
- stm32 f1xx. From no1wudi (2017-03-24).
- * The interrupt occurs over the counter overflow. From Aleksandr
- Vyhovanec (2017-03-24).
- * I needed to use DS3231, I remember that in past it worked ok, but now
- for stm32f4xx is used another driver (chip
- specific, stm32f40xxx_i2c.c) and DS3231 driver doesn't work. After
- investigating a problem I found that I2C driver (isr routine) has a
- few places there it sends stop bit even if not all messages are
- managed. So, e.g., removing stm32_i2c_sendstop (#1744) and adding
- stm32_i2c_sendstart after data reading helps to make DS3231 working.
- From Alexander Oryshchenko; verified by David Sidrane (2017-03-24).
- * wireless/ieee802154: Adds IOCTL definitions for accessing PHY
- layer. From Anthony Merlino (2017-03-24).
- * Add ffsl(), ffsll(), fls(), flsl(), flsll() and use GCC's
- __builtin_ctz/__builtin_clz for faster implementation of these. From
- Jussi Kivilinna (2017-03-24).
- * MRF24J40/Clicker2: Add an MRF24J40 radio configuration to the
- Clicker2 STM32 board. Fix a few errors discovered during build
- (2017-03-24).
- * configs/: Rename all stm32_wireless.c files to stm32_cc3000.c
- (2017-03-24).
- * configs/: Rename all xyz_wifi.c files to stm32_cc3000.c (2017-03-24).
- * Clicker2-STM32: Add usbnsh configuration (2017-03-25).
- * drivers/analog: Add basic COMP driver. From Mateusz Szafoni
- (2017-03-25).
- * STM32F33: Support for COMP character driver. From Mateusz Szafoni
- (2017-03-25).
- * Nucleo-F334R8: Use new COMP driver. From Mateusz Szafoni
- (2017-03-25).
- * stm32/Kconfig: Update COMP and OPAMP definitions. From Mateusz
- Szafoni (2017-03-26).
- * pthreads: Add more robustness characteristics: pthread_mutex_lock()
- and trylock() will now return EOWNERDEAD if the mutex is locked by a
- thread that no longer exists. Add pthread_mutex_consistent() to
- recover from this situation (2017-03-26).
- * pthread: Fix return value of pthread_give/takesemaphore(). Add
- option to pthread_takesemaphore to ignore EINTR or not (2017-03-26).
- * pthreads: Partial implementation of final part of robust mutexes:
- Keep list of all mutexes held by a thread in a list in the TCB
- (2017-03-26).
- * when pthread exits or is cancelled, mutexes held by thread are marked
- inconsistent and the highest priority thread waiting for the mutex is
- awakened (2017-03-26).
- * pthreads: Add a configuration option to disable robust mutexes and
- revert to the traditional unsafe mutexes (2017-03-26).
- * pthread mutexes: Add option to support both unsafe and robust
- mutexes via pthread_mutexattr_get/setrobust() (2017-03-26).
- * pthread mutexes: Finish logic to support configuration mutex
- robustness (2017-03-27).
- * Rename CONFIG_MUTEX_TYPES to CONFIG_PTHREAD_MUTEX_TYPES (2017-03-27).
- * Make sure that CONFIG_PTHREAD_MUTEX_ROBUST=y is selected every
- configuration that enabled pthreads (2017-03-27).
- * Add syscall support for pthread_mutex_consistent() (2017-03-27).
- * Include wcstold in C++ cwchar header file. From Alan Carvalho de
- Assis (2017-03-27).
- * AT86RF23x: Clean-up, standardize lower half interface. Take
- advantage of new OS features for interrupt parameter passing
- (2017-03-27).
- * MRF24J40: Take advantage of new OS features for interrupt parameter
- passing (2017-03-27).
- * lcd/: PCF8574 backpack logic needs to include poll.h
- CONFIG_DISABLE_POLL is not set (2017-03-27).
- * drivers/analog: Add driver for the LTC1767L ADC. From Martin
- Lederhilger (2017-03-28).
- * realloc(): When realloc() has to fall back to calling malloc(), size
- including overhead was being provided to malloc(), causing a slightly
- larger allocation than needed. Noted by initialkjc@yahoo.com
- (2017-03-28).
- * Fix PTHREAD_MUTEX_INITIALIZER which was not updated with last mutex
- changes. From Jussi Kivilinna (2017-03-28).
- * STM32 F7: Add stm32 RNG support. This is copied from stm32l4.
- Tested on STM32F746ZG board. From Juha Niskanen (2017-03-29).
- * STM32 RNG: Fix semaphore initial value and disable priority
- inheritance. From Juha Niskanen (2017-03-29).
- * Fix an assertion noted by Jussi Kivilinna. This was a consequence of
- the recent robust mutex changes. If robust mutexes are selected,
- then each mutex that a thread takes is retained in a list in threads
- TCB. If the thread exits and that list is not empty, then we know
- that the thread exitted while holding mutexes. And, in that case,
- each will be marked as inconsistent and the any waiter for the thread
- is awakened. For the case of pthread_mutex_trywait(), the mutex was
- not being added to the list! while not usually a fatal error, this
- was caught by an assertion when pthread_mutex_unlock() was called:
- It tried to remove the mutex from the TCB list and it was not there
- when, of course, it shoule be. The fix was to add
- pthread_mutex_trytake() which does sem_trywait() and if successful,
- does correctly add the mutext to the TCB list. This should
- eliminated the assertion (2017-03-29).
- * 6LoWPAN: IEEE802.15.4 MAC driver will need a special form of the
- network device structure to manage fragmentation of the large packet
- into frames (2017-03-29).
- * wireless/ieee802154: Adds MAC character driver structure.
- Nonfunctional. From Anthony Merlino (2017-03-29).
- * configs/clicker2-STM32: Adds logic to create an 802.15.4 MAC and
- register a character driver. From Anthony Merlino (2017-03-29).
- * net/local: connect: Fix warning with gcc-arm-none-eabi-5-2016q1.
- Using compiler from gcc-arm-none-eabi-5-2016q1 toolchain:
- gcc version 5.3.1 20160307 (release) [ARM/embedded-5-branch revision 234589] (GNU Tools for ARM Embedded Processors)
- gives error:
- local/local_connect.c:188:7: error: '_local_semtake' is static but used in inline function 'local_stream_connect' which is not static [-Werror]
- this is due to compiler enforcing ISO/IEC 9899:1999 6.7.4.3: "An
- inline definition of a function with external linkage shall not
- contain a definition of a modifiable object with static storage
- duration, and shall not contain a reference to an identifier with
- internal linkage." Fix by making inlined caller to have internal
- linkage as well. From Juha Niskanen (2017-03-30).
- * Add entropy pool and strong random number generator. Entropy pool
- gathers environmental noise from device drivers, user-space, etc.,
- and returns good random numbers, suitable for cryptographic use.
- Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm
- for CSPRNG output. Patch also adds /dev/urandom support for using
- entropy pool RNG and new 'getrandom' system call for getting
- randomness without file-descriptor usage (thus avoiding
- file-descriptor exhaustion attacks). The 'getrandom' interface is
- similar as 'getentropy' and 'getrandom' available on OpenBSD and
- Linux respectively. From Jussi Kivilinna (2017-03-30).
- * Change STM32 tickless to use only one timer. From Konstantin
- Berezenko (2017-03-30).
- * drivers/sensors: Add driver for ST HTS221 humidity sensor. From Juha
- Niskanen (2017-03-30).
- * HTS221 driver: Modify to use new interrupt parameter passing hooks
- (2017-03-31).
- * drivers/sensors: Add driver for ST LPS25H pressure sensor. From
- Juha Niskanen (2017-03-31).
- * drivers/usbmisc: Add driver for Fairchild FUSB301 USB type-C
- controller. From Harri Luhtala <harri.luhtala@haltian.com>. Tested
- with earlier version of NuttX; with current version checked that it
- compiles. Via Juha Niskane (2017-03-31).
- * Add user-space networking stack API (usrsock). User-space networking
- stack API allows user-space daemon to provide TCP/IP stack
- implementation for NuttX network. Main use for this is to allow use
- and seamless integration of HW-provided TCP/IP stacks to NuttX. For
- example, user-space daemon can translate /dev/usrsock API requests to
- HW TCP/IP API requests while rest of the user-space can access
- standard socket API, with socket descriptors that can be used with
- NuttX system calls. From Jussi Kivilinna (2017-03-31).
- * STM32F7: Add support for LSE RTC and enable RTC subseconds. From
- Jussi Kivilinna (2017-03-31).
- * TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled
- (2017-03-31).
- * net/: Fix MULTINIC/MULTILINK selection when 6LoWPAN selected
- (2017-03-31).
- * net/: Permit net/neighbor to build when IPv6 is defined, but not
- Ethernet. Needs more work to support 6LoWPAN (2017-03-31).
- * stm32f7: Serial fix for dropped data: (1) Revert the inherited dma
- bug from the stm32. see
- https://bitbucket.org/nuttx/nuttx/commits/df9ae3c13fc2fff2c21ebdb098c520b11f43280d
- for details. And (2) Most all CR1-CR3 settings can not be configured
- while UE is true. Threfore we make all operation atomic and disable
- UE and restore it's originalstate on exit. From David Sidrane
- (2017-03-31).
- * stm32f7: stm32_sdmmc removed stray semicolon. From David Sidrane
- (2017-03-31).
- * 6LoWPAN: Contiki 6LoWPAN port is now complete (but completely
- untested) (2017-04-02).
- * iee802154 loopback: Eliminate dependency on CONFIG_NET_LOOPBACK
- (2017-04-02).
- * drivers/sensors: Add driver for ST LIS2DH accelerometer. From Timo
- Voutilainen <time.voutilainen@haltian.com> et al. via Juha Niskanen
- (2017-04-03).
- * net/socket/accept: Fix building with CONFIG_NET_LOCAL_STREAM. From
- Jussi Kivilinna (2017-04-03).
- * STM32: Fix IWDG and WWDG debug mode stop for STM32L15XX. From Juha
- Niskanen (2017-04-03).
- * STM32: Add STM32L162VE to chip.h. From Juha Niskanen (2017-04-03).
- * iee802154 loopback: Eliminate dependency on CONFIG_NET_LOOPBACK
- (2017-04-02).
- * sim: Add a configuration for testing 6LoWPAN (2017-04-03).
- * wireless/ieee802154: Add initialization logic for loopback driver;
- configs/sim: Add configuration for testing 6LoWPAN; net/sixlowpan:
- Fix for compilation with debug output enabled (2017-04-03).
- * 6LoWPAN: Updates/fixes from initial testing with the IEEE802.15.4
- loopback driver (2017-04-03).
- * STM32: Add I2C3 SDA pin mapping for STM32F411. From no1wudi
- (2017-04-04).
- * sensors: lis2dh: Fix hardfault when reading from unconfigured
- sensor. From Juha Niskanen (2017-04-04).
- * STM32: stm32_flash: Add EEPROM writing for STM32L15XX. From Juha
- Niskanen (2017-04-04).
- * 6LoWPAN: Add option to dump buffers (2017-04-04).
- * STM32: stm32l15xx_rcc: Add support for using MSI as system clock.
- From Juha Niskanen (2017-04-05).
- * STM32: stm32l15xxx_rcc: configure medium performance voltage range
- and zero wait-state when allowed by SYSCLK setting. Zero wait-state
- for flash can be configured when: (1) Range 1 and SYSCLK <= 16 Mhz,
- (2) Range 2 and SYSCLK <= 8 Mhz, or (3) Range 3 and SYSCLK <= 4.2
- Mhz. Medium performance voltage range (1.5V) can be configured when
- SYSCLK is up to 16 Mhz and PLLVCO up to 48 Mhz. From Juha Niskanen
- (2017-04-05).
- * wireless/ieee802154: Initial MAC char driver write functionality.
- From Anthony Merlino (2017-04-05).
- * photon: wlan support. From Simon Piriou (2017-04-03).
- * Document set [{+|-}{e|x|xe|ex}] [<name> <value>]. From David Sidrane
- (2017-04-05).
- * STM32: Fix SYSCFG_CFGR1_I2C_PBXFMP_SHIFT value. From Alan Carvalho
- de Assis (2017-04-06).
- * STM32F7: Serial: Add interface to get uart_dev_t by USART number,
- stm32_serial_get_uart. From Jussi Kivilinna (2017-04-06).
- * STM32F7: Default CONFIG_STM32F7_DMACAPABLE to 'n'. STM32F7 does not
- have CCM RAM but DTCM, so this option does not need to enabled. DTCM
- RAM is DMA-able through CPU AHBS bus. From Jussi Kivilinna
- (2017-04-06).
- * STM32F7: Fix UART7 and UART8 IFLOWCONTROL options. From Jussi
- Kivilinna (2017-04-06).
- * STM32F7: Add warning for RXDMA + IFLOWCONTROL combination.
- Combination of RXDMA + IFLOWCONTROL does not work as one might
- expect. Since RXDMA uses circular DMA-buffer, DMA will always keep
- reading new data from USART peripheral even if DMA buffer underruns.
- Thus this combination only does following: RTS is asserted on USART
- setup and deasserted on shutdown and does not perform actual RTS
- flow-control. Data loss can be demonstrated by doing long up_mdelay
- inside irq critical section and feeding data to RXDMA+IFLOWCONTROL
- UART. From Jussi Kivilinna (2017-04-06).
- * sim/sixlowpan: Now supports apps/examples/udpblaster too (2017-04-06).
- * SAMV7: Watchdog: Fix Forbidden Window Value. According the Datasheet
- the WDD Value is the lower bound of a so called Forbidden Window and
- to disable this we have to set the WDD Value greater than or equal to
- the WDV Value. This seems to be a bug in the datasheet. It looks
- like we have to set it to a greater value than the WDV to really
- disable this Thing. When triggering the Watchdog faster than the
- (very slow) clock source of the Watchdog fires, this Forbidden Window
- Feature resets the System if WDD equals to WDV. This Changeset
- disables the Forbidden Window by setting the WDD Value to the Maximum
- (0xfff) Value possible. From Frank Benkert (2017-04-06).
- * RTC: Add interface for check if RTC time has been set. New interface
- allows checking if RTC time has been set. This allows to application
- to detect if RTC has valid time (after reset) or should application
- attempt to get real time by other means (for example, by launching
- ntpclient or GPS). From Jussi Kivilinna (2017-04-06).
- * 6LoWPAN: Add network IOCTL support to set the node address
- (2017-04-06).
- * EFM32 I2C: Fix timeout calculation. From Masayuki Ishikawa
- (2017-04-06).
- * Disable serial console on stm32f103-minimum usbnsh example project
- config. Devices enumerate after this change. From Bob Ryan
- (2017-04-07).
- * pthreads: Adding rwlock implementation. Adding an implementation for
- read/write locks into the pthread library. These locks are writer
- priority, such that if any writers come in they are given priority
- for writing. From Mark Schulte (2017-04-07).
- * pthread rwlock bugfixes. From Mark Schulte (2017-04-07).
- * 6LoWPAN: Add calculation of TCP header size. It is not a constant
- (2017-04-07).
- * Restore TCP_HDRLEN to MSS calculation. Also add to UDP MSS
- calculation where it never appearred. Add some missing MSS and
- RDVWNDO definitions for 6loWOPAN (2017-04-08).
- * pthread.h: Remove duplicate, possible erroneous definition of
- PTHREAD_MUTEX_INITIALIZER that crept in with some recent changes
- (2017-04-08).
- * pthread.h: Fix rwlock initializer. From Mark Schulte (2017-04-08).
- * Add configuration/build support for an IEEE802.15.4 network device
- (2017-04-08).
- * Fix some old-style interrupt handling logic in drivers/net/skeleton.c
- (2017-04-08).
- * wireless/ieee802154: Add a implementation of the IEEE802.15.4
- network driver. This is very incomplete on the initial commit
- (2017-04-08).
- * Buttons: Change return value of board_buttons() and the type of
- btn_buttonset_t to uint32_t so that more than 8 buttons can be
- supported (2017-04-09).
- * Add support for NuttX controlled LEDS and for board_initialize.
- Separate initialization logic to stm32_bringup.c so that in
- initialization can occur either through board_initialize() or through
- board_app_initialize(). Same as with most other newer board
- configurations (2017-04-09).
- * net procfs: Some long lines were being generated that cause
- buffer-related problems and corrupted output (2017-04-09).
- * stm32 COMP: Logic in stm32_comp.h must be configured on
- CONFIG_STM32_COMP or otherwise it causes an error via #error on every
- platform without COMP support (2017-04-09).
- * Photon: Add logic to automatically mount the procfs file system on
- startup. Fix some LED-related configuration conflicts (2017-04-09).
- * Buttons: Correct some comments left after last button-related
- change: 32- vs 8-bit bit set (2017-04-09).
- * pthread: Use cancel cleanup handlers in rwlock. From Juha Niskanen
- (2017-04-10).
- * STM32F7: serial: disallow broken configuration combination of
- CONFIG_STM32F7_FLOWCONTROL_BROKEN=y and
- CONFIG_SERIAL_IFLOWCONTROL_WATERMARKS not set. From Jussi Kivilinna
- (2017-04-11).
- * STM32F7: serial: do not stop processing input in SW flow-control
- mode. From Jussi Kivilinna (2017-04-11).
- * STM32XX: Fix Pending Register definition. From Alan Carvalho de
- Assis (2017-04-11).
- * Add logic to disable cancellation points within the OS. This is
- useful when an internal OS function that is NOT a cancellation point
- calls an OS function which is a cancellation point. In that case,
- irrecoverable states may occur if the cancellation is within the OS.
- From Juha Niskanen (2017-04-11).
- * Fix LLVM libc++ undefined reference to __cxa_guard_*. From Alan
- Carvalho de Assis (2017-04-11).
- * libc/netdb: in dns_query_callback, ret != -EADDRNOTAVAIL condition
- consumes error returns including EAGAIN in this case, dns query
- retransmission doesn't work. From Ritajina (2017-04-12).
- * STM32L4 DMA: Correct bad channel definition. From Sebastien Lorquet
- (2017-04-12).
- * TUN driver: Implement TAP (OSI layer 2) mode. Enable by setting the
- IFF_TAP flag instead of the IFF_TUN flag in ifr_flags. From Thomas
- Keh (2017-04-13).
- * Adds USB host support to stm32f411-disco board. From Brian Webb
- (2017-04-13).
- * ieee802.15.4 radio: Add data structure definitions for Radio IOCTLs
- (2017-04-13).
- * ieee802.15.4 MAC: Add data structure definitions for MAC IOCTLs
- (2017-04-13).
- * ieee802154 radio: Implement IOCTL decode and dispatch in all radio
- drivers (2017-04-13).
- * drivers/net/skeleton.c: Add support for IOCTL handling (2017-04-13).
- * ieee802.15.4 netdev: Add IOCTL support (2017-04-13).
- * ieee802.15.4 radio: Remove interface methods that duplicate IOCTL
- commands (2017-04-13).
- * ieee802.15.4: de-couple MAC driver interface. Now works more like
- other drivers (2017-04-13).
- * sched: Fix tg_flags check with GROUP_FLAG_NOCLDWAIT. From Masayuki
- Ishikawa (2017-04-14).
- * Add basic support for STM32F0. From Alan Carvalho de Assis
- (2017-04-14).
- * Add stm32f0discovery board support. From Alan Carvalho de Assis
- (2017-04-14).
- * arch/arm/Kconfig: Add option for STM32F0 (2017-04-14).
- * IEEE802.15.4: There is only one instance of the IEEE802.15.4 MAC
- lower level. There is no need for the interface to be indirect via a
- vtable. In this case, standard global functions should be used
- (2017-04-14).
- * ieee802.15.4: New global functions exported by the lower MAC layer
- should be private to the MAC module. Function prototypes moved from
- include/nuttx/wireless/ieee802154/ieee802154_mac.h to
- wireless/ieee802154/mac802154.h (2017-04-14).
- * radio802154_device.c now accesses the PHY layer via the IOCTL helper
- functions (2017-04-14).
- * photon: Add sdpcm + thread support for wlan. From Simon Piriou
- (2017-04-13).
- * Not a clean fix, but at least makes DHCP working with
- CONFIG_NETDEV_MULTINIC. From Andreas Bihlmaier (2017-04-15).
- * networking: IPv4 change of last PR should also be applied to
- corresponding IPv6 logic (2017-04-15).
- * 6LoWPAN: Add some checks for the case where there are multiple
- network devices and multiple link layer protocols (2017-04-15).
- * net/: Add IOCTL support for forwarding IEEE802.15.4 MAC and PHY
- IOCTLs (2017-04-15).
- * Argument of network device IOCTL should be unsigned long, just as
- will all other IOCTL methods (2017-04-15).
- * wireless/ieee802154: Adds ability to receive notifications from MAC
- char driver. From Anthony Merlino (2017-04-05).
- * wireless/ieee802154/mrf24j40: Added bind method. From Anthony
- Merlino (2017-04-15).
- * wireless/ieee802154: Starts adding MAC request data functionality.
- From Anthony Merlino (2017-04-15).
- * wireless/ieee802154: Starts defining interface between PHY layer and
- next highest layer. From Anthony Merlino (2017-04-15).
- * wireless/ieee802154: Skeleton code for request associate. From
- Anthony Merlino (2017-04-15).
- * wireless/ieee802154: Bind MAC phyif to radio. From Anthony Merlino
- (2017-04-15).
- * STM32: Provide TIM5 definition for STM32F429. From Matias v01d
- (2017-04-15).
- * photon: Add sdpcm tx basic support. From Simon Piriou (2017-04-16).
- * photon: Request firmware version and MAC address. From Simon Piriou
- (2017-04-16).
- * 6LoWPAN network driver: Still only a skeleton but has some added
- thought experimentation (2017-04-16).
- * 6LoWPAN: Correct ordering of headers. fragmentation header was
- coming out before FCF (2017-04-16).
- * wireless/ieee802154: Continues development on transmit structure.
- From Anthony Merlino (2017-04-17).
- * STM32F0: Enable the clock for all GPIO ports. From Alan Carvalho de
- Assis (2017-04-17).
- * STM32F0: Fix HSI clock definition. From Alan Carvalho de Assis
- (2017-04-17).
- * STM32F0: Fix System Clock value to 48MHz and remove MCLK
- definition. From Alan Carvalho de Assis (2017-04-17).
- * Update coding standard document to discuss un-named structure fields
- (2017-04-17).
- * STM32F0: Add basic support for STM32F07x family (2017-04-17).
- * STM32F0: Move enabling of GPIO peripherals form UART setup to
- clockconfig. This is not a UART function. It is needed by all
- peripherals (2017-04-17).
- * STM32F0: Add logic to enable other USARTs. No UART4/5. Rather
- USART4/5 (2017-04-17).
- * STM32F7: Warn if no DMA2 configured when using ADC with DMA. Also
- correct ADC channel numbers that DMA callback passes to upper half
- driver. From Juha Niskanen (2017-04-18).
- * STM32F7: stm32_adc: Do not override ADCPRE_DIV when measuring
- internal voltage. From Juha Niskanen (2017-04-18).
- * Move CONFIG_ADC_NO_START_CONV from drivers/adc/Kconfig to
- arch/arm/src/stm32[f7]/Kconfig as STM32[F7]_ADC_NO_START_CONV.
- Refresh all configurations with any reference to
- CONFIG_ADC_NO_START_CONV (2017-04-18).
- * STM32F0: The STM32F2 does not have use alternate function groupings
- as does the F1. Rather, it is like other members of the STM32 family
- with An alternate setting AF0-AF7 for each pin (2017-04-18).
- * Nucleo-F072RB: Add board configuration (2017-04-18).
- * wireless/ieee802154: Lots of small fixes to eliminate build issues.
- Generally cleans things up and fixes lots of small issues preventing a
- successful build. Does not completely build, but there are
- significantly less errors. From Anthony Merlino (2017-04-18).
- * Coding standard: Defining structures within the scope of another
- structure is discouraged (2017-04-18).
- * Nucleo-F072RB: Enable board_app_inititalize, procfs, and built-in
- functions (2017-04-19).
- * wireless/ieee802154: Simplifies MAC callback interface. Adds
- missing data type definitions. From Anthony Merlino (2017-04-19).
- * wireless/ieee802154: Renames mac802154_devwrapper_s to
- mac802154_chardevice_s. From Anthony Merlino (2017-04-19).
- * wireless/ieee802154: Changes radio interface to match MAC callback
- design. From Anthony Merlino (2017-04-19).
- * 6LoWPAN: Fix a missing source address in header. Correct
- calculation of payload size (2017-04-19).
- * SAMV7 EMAC: Add conditional logic to account the fact that the
- SAMV71 has 6 rather than 3 queues after version 1. From Ian McAfee
- (2017-04-19).
- * wireless/ieee802154: Starts structuring transmission completion
- handling. From Anthony Merlino (2017-04-19).
- * 6LoWPAN: Add an IOCTL to set the IEEE802.15.4 PAN ID (2017-04-19).
- * STM32 L1: stm32l15xx_rcc: Allow board to configure HSE clock in
- bypass-mode. Allows using MCO output from ST-link chip (on Nucleo
- and Discovery boards) as HSE input. From Juha Niskanen (2017-04-20).
- * Add support for STM32L152CC, STM32L152RC and STM32L152VC. Update
- some bits and comments for other STM32L1 parts in chip.h. From Juha
- Niskanen (2017-04-20).
- * UART 16550: Missing left parenthesis in function prototype. This is
- Bitbucket Issue #41 (2017-04-20).
- * procfs: Fix wrong member IDs are displayed when 'cat
- /proc/<pid>/group/status'. From Nobutaka Toyoshima (2017-04-28).
- * STM32F0: Add support for HSI48 (2017-04-20).
- * STM32F0: Add an untested port of the F1 USB device to the STM32F0
- (2017-04-20).
- * Move include/nuttx/net/iob.h to include/drivers/iob.h; rename
- CONFIG_NET_IOB to CONFIG_DRIVERS_IOB (2017-04-20).
- * Move net/iob to drivers/iob so that the I/O buffering feature can be
- available to other drivers when networking is disabled (2017-04-20).
- * VFS poll(): Add some error handling logic (2017-04-20).
- * Add support for the STM32F09X family. From Juha Niskanen (2017-04-21).
- * clock: Add clock_resynchronize and use subseconds RTC. Add
- clock_resynchronize for better synchronization of CLOCK_REALTIME and
- CLOCK_MONOTONIC to match RTC after resume from low-power state. Add
- up_rtc_getdatetime_with_subseconds under
- CONFIG_ARCH_HAVE_RTC_SUBSECONDS to allow initializing (and
- resynchronizing) system clock with subseconds accuracy RTC. From
- Jussi Kivilinna (2017-04-21).
- * clock: Add new type ssystime_t for relative 64-bit ticks, change
- ticks<->time conversion functions to use ssystime_t. From Jussi
- Kivilinna (2017-04-21).
- * clock: add testing for 32-bit overflow of 64-bit system timer. From
- Jussi Kivilinna (2017-04-21).
- * wireless/ieee802154: Simplifies TX completion interface. Documents
- and cleans up some functions. From Anthony Merlino (2017-04-21).
- * Remove the 6LoWPAN PANID IOCTLs they are redundant (2017-04-21).
- * 6LoWPAN: Remove the PAN ID from the 6LoWPAN data structure. This is
- owned by the radio driver. Rather, use an IOCTL to obtain the PAN ID
- from the downstream radio driver (2017-04-21).
- * photon: Add basic wlan scan function. From Simon Piriou (2017-04-22).
- * 6LoWPAN: Separate MAC-related definitions from sixlowpan.h. Put in
- ieee802154.h (2017-04-22).
- * net/: network drver now retains Ethernet MAC address in a union so
- that other link layer addresses may be used in a MULTILINK
- environment (2017-04-22).
- * 6LoWPAN: Add IEEE802.15.4 Rime address to union of link layer
- addresses in the network driver (2017-04-22).
- * SAM3/4: Fixed configurations for TWI master. Obviously an
- incomplete port from SAMA5 (2017-04-23).
- * SAM3/4: Remove inappropriate semicolon. From kc_dtm (2017-04-23).
- * configs/photon: Add DOWNLOAD function to upload firmware through
- DFU. From Simon Piriou (2017-04-23).
- * drivers/ieee80211/: Change all occurrences of _info, _warn, and _err
- to wlinfo, wlwarn, and wlerr (2017-04-23).
- * USBMSC: Fix a wrong lun number issue. From Masayuki Ishikawa
- (2017-04-24).
- * sched: Fix CHILD_FLAG_EXITED in include/nuttx/sched.h. From
- Masayuki Ishikawa (2017-04-24).
- * wireless/ieee80211: Add skeleton for a broadcom network driver
- (2017-04-24).
- * wiress/ieee80211: Broadcom network driver needs to register as an
- ieee802.11 driver, not an Ethernet driver (2017-04-24).
- * wireless/ieee80211: Add broadcom network device registration logic
- (2017-04-24).
- * drivers/wireless/bcmf: Register network driver + update defconfig
- file. From Simon Piriou (2017-04-24).
- * procfs: Fix incorrect uptime with CONFIG_SYSTEM_TIME64. From
- Masayuki Ishikawa (2017-04-25).
- * configs/photon/wlan: Minor config changes to get a clean build
- (2017-04-25).
- * STM32L4: Add support for the STM32L496XX family. From Juha Niskanen
- (2017-04-25).
- * configs/photon: Rename ld.script to photon_jtag.ld for symmetry
- (2017-04-25).
- * configs/photon/src/stm32_wlan.c: Remove unused, inappropriate
- network driver registration (2017-04-25).
- * netdev_register: If there is only one ieee80211 and both
- CONFIG_ETHERNET and CONFIG_DRIVERS_IEEE8011, then use the wlan0
- naming, not the eth0 naming (2017-04-25).
- * configs/nucle-f072rb/nsh: Correct amount of available SRAM in
- defconfig (2017-04-26).
- * CONFIG_DEBUG_HARDFAULT should be available for Cortex-M0 too
- (2017-04-26).
- * drivers/wireless/bcmf: Enable DMA for SDIO transfers. From Simon
- Piriou (2017-04-26).
- * configs: Remove all setenv.bat files. Remove all references to
- setenv.sh and setenv.bat from all config README files (2017-04-26).
- * drivers/syslog: Use monotonic clock for timestamp when available.
- From Jussi Kivilinna (2017-04-26).
- * Enable wireless IOCTL commands in photon/wlan configuration
- (2017-04-26).
- * Network IOCTLs: Correct a compilation error when wireless IOCTLs are
- enabled (2017-04-26).
- * binfmt/elf: Fix offset value when calling elf_read() in
- elf_symname(). From Masayuki Ishikawa (2017-04-26).
- * STM32, STM32F7, STM32L4: Remove incorrect comment about STM32L1
- LSE/RTC/LCD. From Juha Niskanen (2017-04-27).
- * STM32L4: Add some defines for the new peripherals in STM32L496
- parts. From Juha Niskanen (2017-04-27).
- * STM32F0: Fix some missing settings in the clock configuration logic
- (2017-04-27).
- * IOCTLS. Separate wireless character driver IOCTL commands from
- wireless network driver IOCTL commands. Move from wireless.h to
- ioctl.h (2017-04-27).
- * IEEE 802.15.4: Move MAC character driver IOCTL commands from
- ieee802154_mac.h to ieee802154_ioctl.h (2017-04-27).
- * Wireless IOCTLs: Correct use of _WLIOC where _WLCIOC is required
- (2017-04-27).
- * net/socket: Fix cloning of local and raw sockets. From Jussi
- Kivilinna (2017-04-28).
- * STM32L4: stm32l4_i2c: Add I2C4 code. From Juha Niskanen (2017-04-28).
- * STM32L4: I2C was not using current interrupt handling parameter
- passing logic (2017-04-28).
- * vfs/poll: round timeout up to next full tick. Calling poll() with
- timeout less than half tick (thus MSEC2TICK(timeout) => 0) caused
- returning error with EAGAIN. Instead of rounding timeout down, value
- should be rounded up. Open Group spec for poll says:
- "Implementations may place limitations on the granularity of timeout
- intervals. If the requested timeout interval requires a finer
- granularity than the implementation supports, the actual timeout
- interval will be rounded up to the next supported value." From Jussi
- Kivilinna (2017-04-28).
- * In last change to poll(), converted timeout to unsigned to eliminate
- the possibility of overflow of signed overflow (2017-04-28).
- * drivers/wireless/bcmf: Add escan ioctls support + cleanup. From
- Simon Piriou (2017-04-28).
- * Add all network IOCTLs to include/sys/ioctl.h (2017-04-28).
- * Add all ieee802.15.4 IOCTLs to include/sys/ioctl.h (2017-04-28).
- * 6LoWPAN: Can't reuse same header on each fragment. DSN needs to
- increment (2017-04-29).
- * SPI: Add an instance argument to the SPIDEV definitions (2017-04-29).
- * STM32F0: Add some protection. There is only one interrupt for
- USART3-8. Current interrupt handling logic will support only one
- interrupt in that range (2017-04-29).
- * STM32F0 I2C: Initial cut at driver. Still a work in progress. From
- Alan Carvalho de Assis (2017-04-29).
- * STM32F33: Add OPAMP support. From Mateusz Szafoni (2017-04-30).
- * drivers/analog: Add basic OPAMP driver. From Mateusz Szafoni
- (2017-04-30).
- * Nucleo-F334R8: Add OPAMP support. From Mateusz Szafoni (2017-04-30).
- * Nucleo-F072RB: Add support for the I2C driver used by I2C tools
- (2017-04-20).
- * drivers/i2c: Fix compile issus if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
- is enabled (2017-04-30).
- * STM32F0 I2C: Update driver to use the standard interrupt parameter
- passing logic (2017-04-30).
- * STM32F0 I2C: Pin definitions should specify open drain (and probably
- 50Mhz) (2017-04-30).
- * EFM32, STM32, and STM32 F7 I2C: Update to use the standard parameter
- passing to interrupt handlers (2017-04-30).
- * drivers/wireless/bcmf: Add netdev support for Broadcom FullMAC
- driver. From Simon Piriou (2017-04-30).
- * Tiva I2C: Update to use the standard parameter passing to interrupt
- handlers (2017-04-30).
- * ieee802.11: Bring some BSD licensed header files in from FreeBSD
- (2017-04-30).
- * Clicker2-STM32: Add protected build knsh configuration (2017-05-01).
- * STM32F0: Fix I2C frequency table. From Alan Carvalho de Assis
- (2017-05-01).
- * STM32F0: I2C frequency quantization. Add logic to get closer if an
- oddball frequency is used (2017-05-01).
- * pthread: Fix compilation error on pthread_cond_wait when
- CONFIG_CANCELLATION_POINTS and CONFIG_PTHREAD_MUTEX_UNSAFE are
- enabled. From EunBong Song (2017-05-02).
- * binfmt/elf: Fix offset value when calling elf_read() in
- elf_sectname(). From Masayuki Ishikawa (2017-05-02).
- * configs: Add nucleo-l496zg board files. From Juha Niskanen
- (2017-05-02).
- * configs: Add nucleo-f091rc board files. From Juha Niskanen
- (2017-05-02).
- * STM32L4: Don't think these chips have DPFPU, DTCM or ITCM. From
- Juha Niskanen (2017-05-02).
- * STM32L4: Add GPIO_PORTI definition. From Juha Niskanen (2017-05-02).
- * STM32L4: Delete more references to DFPU, ITCM, and DTCM (2017-05-02).
- * wireless/ieee802154: Changes transmit data path to use IOBs and
- exposes function for getting size of MAC header. From Anthony
- Merlino (2017-05-02).
- * Extend wireless.h with definitions needed by wext. From Simon Piriou
- (2017-05-02).
- * drivers/wireless/bcmf: implement basic wext interface for
- authentication. From Simon Piriou (2017-05-02).
- * First attempt at a nucleo-l432kc board. From Sebastien Lorquet
- (2017-05-02).
- * STM32F7: Flash: macro naming errors, there is no FLASH_CONFIG_F for
- F7. From Juha Niskanen (2017-05-02).
- * STM32L4: stm32l4x6xx_pinmap: Update I2C4 and DCMI pins. From Juha
- Niskanen (2017-05-02).
- * 6LoWPAN: Add basic call path to interface with the MAC layer through
- the MAC network driver. Logic has not yet been implemented. This is
- just a structural change in preparation for additional changes
- (2017-05-02).
- * wireless/ieee802154: Sets up default PIB attributes. From Anthony
- Merlino (2017-05-02).
- * wireless/ieee802154: Finishes some IOCTL logic for MAC layer. From
- Anthony Merlino (2017-05-02).
- * 6LoWPAN: Changes to use new MAC interfaces. Incomplete and needs
- some clean-up of dangling, unused definitions (2017-05-03).
- * wireless/ieee802154: Starts work on setting PIB attributes. From
- Anthony Merlino (2017-05-03).
- * 6LoWPAN: Fixes hang in loopback test (2017-05-03).
- * drivers/wireless/bcmf: Fix frame not freed when dropped + cleanup.
- From Simon Piriou (2017-05-03).
- * STM32L4: stm32l4_i2c: Change wrong macro to CONFIG_I2C_POLLED. From
- Juha Niskanen (2017-05-04).
- * STM32L4: modularize Kconfig to support different product
- lines/families. This is modeled after STM32F7. Idea is to declare
- each chip in Kconfig but allow for flash size override. Commit adds
- many STM32L4_HAVE_XXX feature test macros. From Juha Niskanen
- (2017-05-02).
- * STM32L4: Changes needed for STM32L452 and Nucleo-L452RE board. GPIO
- and UART seem similar across STMicro product matrix, so renamed files
- accordingly. RCC is cloned just in case, while conflicting
- differences there seem to be very minor. From Juha Niskanen
- (2017-05-02).
- * STM32L4: Flash: update override config macros and add
- FLASH_CONFIG_B. From Juha Niskanen (2017-05-02).
- * configs: Add nucleo-l452re board files. From Juha Niskanen
- (2017-05-04).
- * fixedmath: Add square root and b32_t conversion operators. From
- Jussi Kivilinna (2017-05-04).
- * Fix STM32F7 I2C interrupt handler. From Jussi Kivilinna (2017-05-04).
- * STM32F7 serial: Allow configuring Rx DMA buffer size. From Jussi
- Kivilinna (2017-05-04).
- * 6LoWPAN: Replace Rime address naming with more consistent
- short/exended address terminology (2017-05-04).
- * 6LoWPAN: Remove all ieee802.15.4 MAC knowledge from 6LoWPAN. Now
- relies on wires/ieee802154 for all MAC-related operations (2017-05-04).
- * 6LoWPAN: Local address length is fixed by the configuration. The
- remote address be with short or extended (2017-05-04).
- * STM32L4: Separate SYSCFG into product line specific files for
- clarity. From Juha Niskanen (2017-05-05).
- * STM32L4: firewall for stm32l4x3xx. Not tested for any product
- family, but now it at least compiles. L496 devices can have one bit
- wider Volatile Data Segment. From Juha Niskanen (2017-05-05).
- * STM32L4: Add more chips to Kconfig. This also removes
- DPFPU/DTCM/ITCM features again, fixing a recent git history hickup.
- From Juha Niskanen (2017-05-05).
- * configs/nucleo-l496zg: Kconfig was copied from nucleo-144. Removed
- as most options have not been tested. From Juha Niskanen (2017-05-05).
- * nucleo-144: Default for choice in Kconfig was not one of the
- possible choices (2017-05-05).
- * Kinetis: Add TPM to K66 chip. From David Sidrane (2017-05-05).
- * Kinetis: Fixed CLKSRC Bit Names. From David Sidrane (2017-05-05).
- * Kinetis: Add OSC_DIV to the kinetis_osc header. From David Sidrane
- (2017-05-05).
- * Kinetis: Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock
- configuration. From David Sidrane (2017-05-05).
- * Kinetis: Added HW flow control and termios. From David Sidrane
- (2017-05-05).
- * wireless/ieee802154: Changes rxenable at radio layer. From Anthony
- Merlino (2017-05-03).
- * wireless/ieee802154: Finishes promiscuous mode IOCTL. From Anthony
- Merlino (2017-05-03).
- * wireless/ieee802154: Removes radio IOCTL. Starts bringing radio and
- MAC closer with well-defined interface. From Anthony Merlino
- (2017-05-05).
- * STM32L4: Add support for many new MCUs from STM32L4X3XX product line
- and Nucleo-L452 board. From Juha Niskanen (2017-05-05).
- * 6LoWPAN: Use information in struct ieee802154_data_ind_s when
- reassembling a packet (2017-05-05).
- * ieee 802.15.4: Add a pool-based memory allocator for RX frame
- meta-data (2017-05-05).
- * kinetis k66, k64, k60, k40, k20: Pin mux configure all I2C signals as
- Open Drain. The output structure of the GPIO for I2C needs to be
- open drain. When left at the default, one can observe on a scope the
- slave contending with the push-pull during the ACK. From David
- Sidrane (2017-05-05).
- * wireless/ieee802154: Removes msdu_length from meta-data since it is
- intrinsically in the IOB. From Anthony Merlino (2017-05-06).
- * wireless/ieee802154: Reworks data_ind allocation to include IOB
- allocation/deallocation. Hides private data. From Anthony Merlino
- (2017-05-05).
- * wireless/ieee802154: Completes Rx data flow through MAC layer to
- callback. From Anthony Merlino (2017-05-06).
- * Kinetis: Add ARCH_HAVE_I2CRESET. From David Sidrane (2017-05-06).
- * Reworks data_ind allocation to include IOB allocation/deallocation.
- Hides private data. From Anthony Merlino (2017-05-06).
- * STM32: Serial Allow configuring Rx DMA buffer size. From David
- Sidrane (2017-05-06).
- * 6LoWPAN: Minor cleanup and re-verification of all compression modes
- after so many recent changes (2017-05-06).
- * Update the C coding standard document (2017-05-06).
- * IEEE 802.15.4 network driver. Remove support for multicast address
- filtering; doesn't work that way on an IEEE 802.15.4 network
- (2017-05-08).
- * STM32: Serial DMA buffer round off not up. From David Sidrane
- (2017-05-08).
- * STM32 TIM: Add method to get timer width. Freerun timer: Use timer
- width to get the correct clock rollover point (2017-05-08).
- * wireless/ieee802154: Finishes MAC processing of received data frame.
- From Anthony Merlino (2017-05-08).
- * wireless/ieee802154: Finishes MAC char driver read functionality.
- From Anthony Merlino (2017-05-08).
- * wireless/ieee802154: MRF24J40: Finishes receive functionality,
- supports promicuous mode, and rxonidle attributes. From Anthony
- Merlino (2017-05-08).
- * wireless/ieee802154: Completes basic receive functionality. From
- Anthony Merlino (2017-05-08).
- * Final fixes to get the nucleo-l432kc config build. Execution not
- tested yet. From Sebastien Lorquet (2017-05-09).
- * Adapt stm32l43x pin definitions. From Sebastien Lorquet (2017-05-09).
- * More unbuilt stm32 -> stm32l4 changes. From Sebastien Lorquet
- (2017-05-09).
- * Restore settings for UARTs 4 and 5. From Sebastien Lorquet
- (2017-05-09).
- * IOBs: Move from driver/iob to a better location in mm/iob
- (2017-05-09).
- * STM32L4: Add dbgmcu header files. From Juha Niskanen (2017-05-09).
- * wireless/ieee802154: Fixes missing handle of read/write being able to
- be interrupted. From Anthony Merlino (2017-05-09).
- * wireless/ieee802154: Starts implementing START.request primitive.
- From Anthony Merlino (2017-05-09).
- * drivers/serial: I discovered a problem in the file
- drivers/serial/serial.c concerning the function uart_close(…). In the
- case that a serial device is opened with the flag O_NONBLOCK the
- function uart_close(…) blocks until all data in the buffer is
- transmitted. The function close(…) called on an handle opened with
- O_NONBLOCK should not block. The problem occurred with a CDC/ACM
- device. From Stefan Kolb (2017-05-10).
- * mtd/config: erase block between block read and write. From Juha
- Niskanen (2017-05-10).
- * Moved LIS3DSH from the I2C-dependent block to the SPI-block to make
- Make.defs consistent with the driver (SPI only) and
- drivers/sensors/Kconfig. From Floxx (2017-05-10).
- * syslog: Add option to buffer SYSLOG output to avoid interleaving
- (2017-05-10).
- * syslog buffering: Use IOBs to buffer data, not an on-stack buffer
- (2017-05-10).
- * STM32L4: Add internal flash write support. From Juha Niskanen
- (2017-05-11).
- * When syslog message has addition characters after last new-line. With
- buffering those now get lost as vsyslog does not flush output after
- lib_sprintf. Additional trailing characters could be ANSI escape
- sequence to reset state that message setups. For example, macro here
- uses colors and resets state after actual message (including '\n'):
- With flushing added to vsyslog, then there is problem that next
- syslog line might come from other task before reset sequence, causing
- wrong line getting color. This could be avoided by not flushing on
- '\n' but only if IOB is full and/or at end of vsyslog. Would this
- make sense?. From Jussi Kivilinna (2017-05-11).
- * Syslog: Need inclusion of errno.h for fix building with
- CONFIG_SYSLOG_TIMESTMAP=y (2017-05-11).
- * mtd: Build RAMTRON and AT45DB drivers only if selected. From Juha
- Niskanen (2017-05-11).
- * mtd/config: Fix byte read interface test. From Juha Niskanen
- (2017-05-11).
- * mtd: Fix some unallocated and NULL pointer issues. rwb->wrflush and
- rwb->wrmaxblocks in rwbuffer could get unallocated values from
- ftl_initialize() in some configurations. Also fixes related assert:
- up_assert: Assertion failed at file:rwbuffer.c line: 643
- that can happen with the following configuration:
- CONFIG_FTL_WRITEBUFFER=y
- CONFIG_DRVR_WRITEBUFFER=y
- # CONFIG_FS_WRITABLE is not set
- These problems are caused by CONFIG variable differences between the
- buffer layers. TODO: This is not a perfect solution. readahead
- support has similar issues. From Juha Niskanen (2017-05-11).
- * STM32L4: port stm32l4_serial_get_uart function from STM32F7. From
- Juha Niskanen (2017-05-12).
- * syslog: Avoid flushing syslog_stream buffer, if possible, until
- lib_vsprintf() completely parses the format. This assures that the
- flush will flush the entire output, even data that may potentially
- follow the linefeed. And, in that case, it cannot be interleaved
- with other devug output. Suggested by Jussi Kivilinna (2017-05-12).
- * syslog: There is yet another place where the output can get split.
- That is in syslog_dev_write(): It will break up the stream to insert
- a CR before the LF. This can that can be avoid be generating the
- CR-LF sequence in the buffer and then detecting and ignoring valid
- CR-LF sequences, rather than expecting syslog_dev_write() to insert
- the CR in this case. I don't like the idea that syslog_dev_write()
- still scans the entire output buffer to expand CR-LF sequence. This
- seems really wasteful, especially in this case where we can be sure
- that the is no CR or LF without a matching LF or CR. Bu, I think,
- the existing behavior in syslog_dev_write() must be retained because
- it is needed in other contexts (2017-05-12).
- * Bitbucket Issue 47: Some of last syslog changes needed to be
- condition on #ifdef CONFIG_SYSLOG_BUFFER in order to be built without
- syslog buffering enabled (2017-05-12).
- * Move CAN subsystem to its own directory and put device drivers
- there. From Alan Carvalho de Assis (2017-05-12).
- * locale.h: Add a bogus definition of locale_t. From (2017-05-12).
- * kinetis K66: Fixed TMP2_CH1 definition. From David Sidrane
- (2017-05-12).
- * kinetis K66: Define ALT1 to match ref manual. From David Sidrane
- (2017-05-12).
- * kinetis K66: GPIO and pin mux cleanup. From David Sidrane
- (2017-05-13).
- * STM32F410: Add support for STM32F410. STM32F410 is a version of
- STM32F4 with 32 KB of RAM and 62 or 128 KB of flash. From Gwenhael
- Goavec-Merou (2017-05-13).
- * Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that
- the toolchain is based on GNU gcc/as/ld. This is in addition to the
- CPU-specific versions of the same definition (2017-05-13).
- * Remove CONFIG_ARM_TOOLCHAIN_GNU; replace with
- CONFIG_ARCH_TOOLCHAIN_GNU (2017-05-13).
- * Tiva I2C: Correct an error in conditional compilation (2017-05-13).
- * Kconfig: Rename CONFIG_ARM_TOOLCHAIN_IAR to
- CONFIG_ARCH_TOOLCHAIN_IAR (2017-05-13).
- * Move prototype for up_cxxinitialize() from nuttx/include/nuttx/arch.h
- to apps/include/platform/cxxinitialize.h (2017-05-13).
- * libc/wchar: Versions mbrlen and mbsrtowcs taken and adapted from
- FreeBSD code (at https://github.com/freebsd/freebsd/). From Matias
- v01d (2017-05-13).
- * tcp: wait for 3-Way Handshare before accept() returns. From Simon
- Piriou (2017-05-14).
- * configs/photon/wlan: disable network logs and add nsh over telnet.
- From Simon Piriou (2017-05-14).
- * TCP: Send RST if applicaiton 'unlistens()' before we complete the
- connection sequence (2017-05-14).
- * drivers: fix some bad NULL checks. From Juha Niskanen (2017-05-15).
- * drivers: rename newly introduced up_i2creset to I2C_RESET. From
- Juha Niskanen (2017-05-15).
- * TCP: An RST received during the 3-way handshake requires a little
- more clean-up (2017-05-15).
- * STM32 CAN: I had the problem that the transmit FIFO size (= actual
- elements in FIFO) was slowly increasing over time, and was full after
- a few hours. The reason was that the code hit the line
- "canerr("ERROR: No available mailbox\n");" in stm32_cansend, so
- can_xmit thinks it has sent the packet to the hardware, but actually
- has not. Therefore the transmit interrupt never happens which would
- call can_txdone, and so the size of the FIFO size does not decrease.
- The reason why the code actually hit the mentioned line above, is
- because stm32can_txready uses a different (incomplete) condition than
- stm32can_send to determine if the mailbox can be used for sending,
- and thus can_xmit forwards the packet to stm32can_send.
- stm32can_txready considered mailboxes OK for sending if the mailbox
- was empty, but did not consider that mailboxes may not yet be used if
- the request completed bit is set - stm32can_txinterrupt has to
- process these mailboxes first. Note that I have also modified
- stm32can_txinterrupt - I removed the if condition, because the CAN
- controller retries to send the packet until it succeeds. Also if the
- condition would not evaluate to true, can_txdone would not be called
- and the FIFO size would not decrease also. From Lederhilger Martin
- (2017-05-16).
- * drivers/bch: BCH character driver bch_ioctl() always returns -ENOTTY
- for DIOC_GETPRIV command. It should returns OK if DIOC_GETPRIV
- command succeeds. From EunBong Song (2017-05-16).
- * There can be a failure in IOB allocation to some asynchronous
- behavior caused by the use of sem_post(). Consider this scenario:
- (1) Task A holds an IOB. There are no further IOBs. The value of
- semcount is zero. Task B calls iob_alloc(). Since there are not
- IOBs, it calls sem_wait(). The value of semcount is now -1. (2)
- Task A frees the IOB. iob_free() adds the IOB to the free list and
- calls sem_post() this makes Task B ready to run and sets semcount to
- zero NOT 1. There is one IOB in the free list and semcount is zero.
- When Task B wakes up it would increment the sem_count back to the
- correct value. (3) But an interrupt or another task runs occurs
- before Task B executes. The interrupt or other tak takes the IOB off
- of the free list and decrements the semcount. But since semcount is
- then < 0, this causes the assertion because that is an invalid state
- in the interrupt handler. So I think that the root cause is that
- there the asynchrony between incrementing the semcount. This change
- separates the list of IOBs: Currently there is only a free list of
- IOBs. The problem, I believe, is because of asynchronies due
- sem_post() post cause the semcount and the list content to become out
- of sync. This change adds a new 'committed' list: When there is a
- task waiting for an IOB, it will go into the committed list rather
- than the free list before the semaphore is posted. On the waiting
- side, when awakened from the semaphore wait, it will expect to find
- its IOB in the committed list, rather than free list. In this way,
- the content of the free list and the value of the semaphore count
- always remain in sync (2017-05-16).
- * stm32_serial: Fix freezing serial port. Serial interrupt
- enable/disable functions do not disable interrupts and can freeze
- device when serial interrupt is received while execution is at those
- functions. Trivially triggered with two or more threads write to
- regular syslog stream and to emergency stream. In this case, freeze
- happens because of mismatch of priv->ie (TXEIE == 0) and actually
- enabled interrupts in USART registers (TXEIE == 1), which leads to
- unhandled TXE interrupt and causes interrupt storm for USART. From
- Jussi Kivilinna (2017-05-17).
- * STM32 Ethernet: Add support for KSZ8081 PHY interrupts. From
- Sebastien Lorquet (2017-05-17).
- * IPv6: Fix net_ipv6_pref2mask(). From Masayuki Ishikawa (2017-05-18).
- * net procfs: Fix buffer corruption and refactor netdev_statistics.c.
- From Masayuki Ishikawa (2017-05-19).
- * binfmt: Fix .dtor memory allocation. From Masayuki Ishikawa
- (2017-05-19).
- * stm32_i2c: make private symbols static. From Juha Niskanen
- (2017-05-19).
- * network IOCTL commands: The only place in net/netdev/netdev_ioctl.c
- where the interface state should change is for SIOCSIFFLAGS. The
- other ones .. SIOCSIFADDR, SIOSLIFADDR, SIODIFADDR .. should not
- change the link state. From Sebastien Lorquet (2017-05-19).
- * drivers/wireless/ieee80211: Add support for AP scanning. From Simon
- Piriou (2017-05-21).
- * drivers/audio: Add cs43l22 audio driver STM32F4: Add I2S driver.
- From Taras Drozdovsky (2017-05-21).
- * This is based on a patch by Taras Drozdovsky. Basically, the delay
- that was added during the integration of the CDC/ACM host driver was
- interfering with streaming audio. That delay was put there to
- prevent build endpoints from hogging the system bandwidth. So what
- do we do? Do we hog the bandwidth or do we insert arbitrarity
- delays. I think both ideas such (2017-05-21).
- * Replace sprintf() with snprintf() in pipe.c. From Nobutaka Toyoshima
- (2017-05-22).
- * drivers/bch: Fix 'Missing Unlock' in bchdev_driver.c. From Masayuki
- Ishikawa (2017-05-22).
- * FAT: Fix 'Missing unlock' in fs_fat32.c. From Masayuki Ishikawa
- (2017-05-22).
- * netdb: Fix time info in lib_dnscache.c. From Masayuki Ishikawa
- (2017-05-23).
- * STM32L4: Add IWDG peripheral. This is the same as for STM32 except
- that prescale and reload can be changed after watchdog has been
- started, as this seems to work on L4. From Juha Niskanen (2017-05-23).
- * drivers/can: Add Microchip MCP2515 CAN Bus controller driver. From
- Alan Carvalho de Assis (2017-05-23).
- * button_upper: Fix interrupt enabling for poll-events. From Jussi
- Kivilinna (2017-05-24).
- * netdb: Fix bugs in lib_gethostbynamer.c. This fix sets h_name in
- struct hostent returned by gethostbyname(). From Masayuki Ishikawa
- (2017-05-25).
- * TCP: Fix tcp_findlistner() in dual stack mode. From Masayuki
- Ishikawa (2017-05-25).
- * TCP: tcp_input() now receives IP domain as an input parameter vs.
- deriving from the IP header length (2017-05-25).
- * Kinetis ADC: Various corrections and updates. From David Sidrane
- (2017-05-25).
- * drivers/lcd: Add driver for Nokia 5110 (Philips PCD8544). From Alan
- Carvalho de Assis (2017-05-26).
- * configs/stm32f103-miniumum: Add board support to use the Nokia 5110
- LCD display driver. From Alan Carvalho de Assis (2017-05-26).
- * configs/pic32mx7mmb: Add support for the Pinquino toolchain
- (2017-05-27).
- * configs/pic32mx7mmb: Repartition files to match newer
- configurations. Add support for PROCFS file system. Default is now
- Pinguino toolchain. Verify networking (2017-05-27).
- * pthread_trylock: Fixes a problem in pthread_trylock() noted by
- initialkjc@yahoo.com. When CONFIG_PTHREAD_MUTEX_UNSAFE=y, the
- special return value EAGAIN was not being detected due to differences
- in reporting of returned values (2017-05-29).
- * vfs: fdopen: Add missing file stream flags clearing. Clear file
- stream structure regardless of config options. Structure clearing is
- needed as previous use of stream list entry might leave fs_flags
- set. From Harri Luhtala (2017-05-31).
- * drivers/input: Add Cypress MBR3108 CapSense touch button driver.
- From Juha Niskanen (2017-05-31).
- * STM32L4: gpio: put back EXTI line source selection. From Juha
- Niskanen (2017-05-31).
- * mtd/smart: Fix use of uninitialized variable. From Jussi Kivilinna
- (2017-05-31).
- * drivers/mtd/w25.c: Erase sector only if it is not in erased state.
- From Jussi Kivilinna (2017-05-31).
- * stm32f7: Add SPI DMA support. From Jussi Kivilinna (2017-05-31).
- * drivers/mtd/w25.c: Enable short delay after sector/chip erase. From
- Jussi Kivilinna (2017-05-31).
- * pthread robust mutexes: Fix memmory trashing problem: the main task
- may also use mutexes; need to check thread type before accessing
- pthread-specific mutex data structures. Problem noted by Jussi
- Kivilinna (2017-05-31).
- * STM32L4 RTC: store RTC MAGIC to backup reg, not to address zero.
- From Juha Niskanen (2017-06-01).
- * drivers/{sensors,usbmisc}: Fix uninitialized I2C frequency. From
- Juha Niskanen (2017-06-01).
- * mtd/config: Add some error checks for I/O errors. From Juha
- Niskanen (2017-06-01).
- * pthread mutex: Remove bogus DEBUGASSERT. Problem noted by Jussi
- Kivilinna (2017-06-01).
- * Tiva SSI: Resolves issue 52 'Copy-Paste error in
- tiva_ssibus_initialize()' submitted by Aleksandr Kazantsev
- (2017-06-01).
- * nucleo-f4x1re User LEDS: Issue #51 reports compilation problems with
- stm32_userled.c. Reported by Gappi92 (2017-06-01).
- * tools/: Add initialconfig.c so that perhaps in the future we will be
- able to use this to generate a new configuration from scratch (rather
- than having to derive new configurations from existing
- configurations). NOTE: Not yet intregated into the build system
- (2017-06-02).
- 7.22 2017-09-06 Gregory Nutt <gnutt@nuttx.org>
- * Fix ELF loader up_checkarch on ARM arch. From Cristian Condurache
- (2017-05-09).
- * Kinetis: Disable MPU when not in protected mode. The hardware reset
- state of the the MPU precludes any bus masters other then DMA access
- to memory. Unfortunately USB and SDHC have there own DMA and will not
- have access to memory in the default reset state. This change
- disabled the MPU if present on system startup. From David Sidrane
- (2017-06-02).
- * Kinetis: teensy-3.x Define USBOTG-FS Read from FLASH access in board
- config. Allow the board config to define the USBOTG-FS to have Read
- access to FLASH. From David Sidrane (2017-06-02).
- * Kinetis: usbdev clean up ensuring proper use of HW. Remove magic
- numbers from code, documented the use of undocumented bits. Remove
- comments and code that were not appropriate for this hardware.
- Removed ifdef that's that were always compiled and removed code
- blocks that were never compiled. Ensure proper access order to
- hardware. Per the reference manual: disable endpoints prior to
- configuring buffer descriptor, then enable endpoints Reorganize
- interrupt processing order to offload data after processing errors.
- Reorganize initialization so that there is a clear initialization
- phase, reset phase for both the hardware and software structures. By
- breaking the initialization into smaller pieces, the reset interrupt
- only resets the resources within the controller that should be reset.
- Rework suspend and resume logic so they perform properly. Made attach
- and detach functions optional. As they do not make sense for a bus
- powered device. Ensured the calls to up_usbinitalize
- up_usbuninitalize do not violate the USB spec. From David Sidrane
- (2017-06-02).
- * WIP: wireless/ieee802154: More work on association/beacon-enabled
- networks. From Anthony Merlino (2017-06-02).
- * We developed a huge Changeset over a year ago to make USB Composite
- configuration dynamical and be able to instanciate the CDCACM
- multiple times inside this device. We use this feature to switch
- between one in normal and up to three CDCACMs in maintenance boot.
- The control path starts in boardctl.c where the configuration for the
- device is constructed. There are still a few issues which I'll ask
- you to have a look at before this beast can be merged. (1) To be
- able to construct the data dynamically I have changed some
- USB-Structs to be packed. Maybe there are additional structs to
- change (just for completeness – not for current functionality). (2)
- I've added the Macro COMPILE_TIME_ASSERTION two times (in
- usbmsc_desc.c and in cdcacm_desc.c) to stay private. Maybe you’ll
- find a better place. It’s used to check the size of the structs
- against the assumptions. (3) I've changed the interface for some
- USB-Functions to receive also the dynamic configuration. Maybe this
- can be done more elegant. (4) The original NuttX (without the patch)
- seems to have problems with a Composite device holding a CDCACM and
- an MSC. The USB SET CONFIGURATION request does not to work at all.
- This makes the test fail under Windows and under Linux. Applying this
- patch doesn’t change anything – because it only changes the
- configuration – not the behavior. Maybe you’ll have a look at
- this problem before applying the patch. From Frank Benkert
- (2017-06-01).
- * power: battery_charger: add ioctl for charging input current. From
- Juha Niskanen (2017-06-06).
- * MTD FLASH drivers: The byte write method of several drivers had a
- cloned error: It was not locking the bus while performing byte write
- operations (2017-06-06).
- * Kinetis:sim ensure isolation of clock dividers for 0 value case.
- This fixes a bug were a SoC does not have a clockdivN register and
- passes a 0 for the init value. This prevents overflow of the 0
- decremented to -1 (0xffffffff) spilling over to other clockdivN
- feilds. From David Sidrane (2017-06-06).
- * teensy-3.x:Removed call to khci_usbattach. The call is not need by
- the driver if CONFIG_USBDEV_BUSPOWERED=y. The class register will
- enable the soft connect pull up. The khci_usbattach call only set a
- flag, and that flag is only tested in the class register. On a USB
- powered device if we are running we are attached. From David Sidrane
- (2017-06-06).
- * teensy-3.x:Refreshed config and made board self powered. From David
- Sidrane (2017-06-06).
- * Kinetis:USB-FS driver. Removed the notion of attached. The
- khci_usbattach is call early in the init either in board_initalize or
- in board_app_initalize. In either case it is always done prior to the
- the class register. Therefore the khci_usbattach call only set a
- flag, and that flag is only tested in the class register. The class
- register will enable the soft connect pull up. From David Sidrane
- (2017-06-06).
- * Kinetis:Fixed waning for kinetis_mpudisable. Missing header file
- added. From David Sidrane (2017-06-06).
- * STM32L4: Ad support for the STM32L475 family. Incomplete -- still
- needs pinmap, rcc, otgfs, syscfg (2017-06-08).
- * STM32L4: Add L475 syscfg register definitions (2017-06-08).
- * STM32L4: Add STM32L475 RCC definitions/logic (2017-06-08).
- * STM32L4: Add STM32L475 OTGFS header file. Not fully reviewed
- (2017-06-08).
- * STM32L4: Add STM32L475 pinmap. Initial cut is just the the L476
- pinmap with unsupported devices removed (2017-06-08).
- * configs/stm32f103-minumum SPI: SPIDEV_WIRELESS used when this has
- changed to SPIDEV_CONTACTLESS. From Nicolas Estibals (2017-06-08).
- * stm32f103-minimum: dd GPIO device driver example for
- STM32F103-Minimum. This chang eadds the initialization needed by
- stm32f103-minimum board to support the NuttX GPIO Subsystem. From
- Alan Carvalho de Assis (2017-06-08).
- * STM32L4: Remove some C++ style comments (2017-06-08).
- * configs/: a few more places where SPIDEV_WIRELELSS should be
- SPIDEV_CONTACTLESS (2017-06-08).
- * kinetis: lpserial fixed header inclusion. From David Sidrane
- (2017-06-08).
- * Kinetis: SPI driver. From David Sidrane (2017-06-08).
- * Fix C++ __guard implementation for ARM. The standard C++ ABI that
- most platforms follow defines __guard to be 64 bits. The existing
- implementation of libxx_cxa_guard.cxx follows this. However, the
- 32-bit ARM C++ ABI defines it as 32 bits instead, and changes the
- meaning slightly so only the lowest bit is used. This matters because
- GCC creates guard symbols without regards to what libxx_cxa_guard.cxx
- says. So on ARM, gcc allocates 4 bytes, but __cxa_guard_release
- writes 8 bytes, zeroing out another unlucky variable nearby. Fix it
- by special-casing 32-bit ARM in libxx_cxa_guard. From Jim Paris
- (2017-06-09).
- * vfs/poll: fix timeout calculation. From Jim Paris (2017-06-09).
- * stm32f103-minimum: Fix a small BUG when reading from output pin. We
- need a different read_ops to read from output pin. This patch fixes
- the issue. From Alan Carvalho de Assis (2017-06-09).
- * testbuild:Added -x to fail build on errors for CI. On CI we want to
- know ASAP of a failure. This adds the -x (exit on build failures)
- option to faclitate that behavior. Use ${MAKE} ${MAKE_FLAGS} for
- make invocation. When -x is provided change MAKE_FLAGS to --silent
- --no-print-directory and set -e. Ignore exit status when using grep
- for checking for CONFIG_NXWM=y. From David Sidrane (2017-06-10).
- * stm32f103-minimum: Use separated read_ops for GPIO interrupt pins.
- From Alan Carvalho de Assis (2017-06-11).
- * STM32F33: Fix hrtim definitions, Add beginning of HRTIM driver. From
- Mateusz Szafoni (2017-06-11).
- * STM32 HRTIM: add character driver. From Mateusz Szafoni
- (2017-06-11).
- * nucleo-f334r8: add HRTIM initialization. From Mateusz Szafoni
- (2017-06-11).
- * i.MX6: Fix a wrong parameter passed when calling irq_attach() in
- imx_serial.c. From Masayuki Ishikawa (2017-06-12).
- * Based on the last PR, review all serial driver vector attachment.
- Found one additional error and updated all relevant drivers to
- current interrupt parameter passing (2017-06-12).
- * gethostbyname_r: Fix check for space in buffer (2017-06-12).
- * MTD M2PX: If we READ while a write/erase is pending, the command is
- ignored and the write/erase continues. If we dont catch this
- situation we will return garbage to the user because the flash will
- not execute the command. So READ MUST wait for write completion, and
- before that, the bus must be locked since it's a precondition to
- calling waitwritecomplete(). From Sebastien Lorquet (2017-06-12).
- * MTD FLASH driver: Clone Sebastien Lorquet's m25px change to at25,
- is25xp, ramtron, and sst25xx (2017-06-12).
- * STM32 HRTIM: GPIOs configuration + EEV and FAULT strucutres. From
- Mateusz Szafoni (2017-06-12).
- * stm32/stm32l4 PWM: While attempting to output a 70 MHz square wave
- from the timer output of a STM32 clocked at 140 MHz (which works fine
- in baremetal C), I stumbled on what I believe to be an error in
- arch/arm/src/stm32/stm32_pwm.c. Line 1304 we are told that: reload =
- timclk / info->frequency; which I belive to be incorrect, it should
- be: reload = timclk / info->frequency - 1; since starting to count
- from 0, if I want to output half of the TIM clock, I must count to 1
- and not to 2. Surely enough, the original code did output 140/3=47
- MHz, while this correction does allow the output up to 70 MHz. I am
- not sure this affects most users generating slow PWM (e.g. PX4) but
- for frequencies close to the PCLK, indeed the difference becomes
- significant. From JM (2017-06-13).
- * mtd/w25: add missing locking and fix SPI_SELECT usage for
- w25_unprotect. From Jussi Kivilinna (2017-06-13).
- * mtd/w25: wait for BUSY flag to clear in w25_readid and w25_unprotect.
- W25Q128 datasheet says that all instructions expect 'Read Status
- Register' and 'Erase/Program Suspend' are ignored when BUSY flag in
- status register is '1'. Therefore wait for busy flag to clear in
- w25_readid() and w25_unprotect(). From Jussi Kivilinna
- (2017-06-13).
- * freedom-k66f: Use SPI driver. Initalize SPI1 on connector J6. No
- real use, as of yet. From David Sidrane (2017-06-13).
- * pthreads: Move functions from sched/pthreads to libc/pthreads.
- These functions just coordinate other OS interface calls but are not
- a fundamental OS interfaces and, hence, do not belong within the OS:
- pthread_yield(), pthread_once(), pthread_cond_init(),
- pthread_cond_destroy(), pthread_barrier_init(),
- pthread_barrier_destroy(), and pthread_barrier_wait() (2017-06-14).
- * multiple fixes for stm32f1xx RTC clock: (1) compile issues because
- of missing RTC_MAGIC #defines, (2) missing functionality based on
- RTC_MAGIC in RTC based on stm32_rtcounter.c, (3) IRQ setup from
- up_rtc_initialize was later reset in up_irqinitialize, (4) write
- access to backup registers without enabling access to backup domain,
- (5) possible races in set/cancel alarm. tested with STM32F103C8
- only. device now wakes up from forced STANDBY mode by alarm. From
- Leif Jakob (2017-06-14).
- * stm32f103-minimum: Fix compiler error in MCP2415 logic (2017-06-14).
- * Fixed ARMv7-M Toolchain setting. Cortex-M4 only have Single
- Precision FPU. From Hidetaka Takano (2017-06-14).
- * wireless/ieee802154: Lots of fixes, cleanup, new functionality.
- Functional. From Anthony Merlino (2017-06-14).
- * Fixed ARMv7-M Toolchain definition for Cortex-M4. From Hidetaka
- Takano (2017-06-15).
- * Improve configure.sh behavior: (1) enable to call from top
- directory. (2) enable to designate direct path for config. (3)
- install .gdbinit if the target has. From Hidetaka Takano
- (2017-06-15).
- * Update tools/configure.c to same functionality as configure.sh. Add
- an array of optional file names. Currently, .gdbinit is the only
- optional file but other things like IDE-specific project files might
- need to be copied as well (2017-06-15).
- * STM32 HRTIM: outputs enable, period and compare functions, cosmetics.
- From Mateusz Szafoni (2017-06-15).
- * tool/configure will now copy Eclipse project files if they are
- present in the board directory file (2017-06-15).
- * configs/.gitignore: Make sure that any .gdbinit, .project, or
- .cproject files are ignore so that they are less likely to be
- included in a patch or PR (2017-06-15).
- * wireless/ieee802154: Fixes issue with wrong information being sent in
- a rejected association response frame. From Anthony Merlino
- (2017-06-15).
- * wireless/ieee802154: Fixes issue with wrong information being sent in
- a rejected association response frame. From Anthony Merlino
- (2017-06-15).
- * Rename configs/mrf24j40-radio to mrf24j40-mac (2017-06-15).
- * clicker2-stm32: Add a configuration that will, eventually, be used
- for 6loWPAN testing (2017-06-15).
- * Fix a typo. And typo in Kconfig file is reflect in all defconfig
- files (2017-06-15).
- * SAMv7: TWIHS driver add reference counting. From David Sidrane
- (2017-06-15).
- * STM32 HRTIM: structures for deadtime and chopper, cosmetics. From
- Mateusz Szafoni (2017-06-16).
- * Clicker2-STM32: Enable RAMLOG in mrf24j40-6lowpan configuration.
- Update README (2017-06-16).
- * STM32 F4 FLASH: Enable/disable the flash write protection on any
- sector. I have verified it to work on the stm32f427. From Sebastien
- Lorquet (2017-06-16).
- * STM32 SPI/I2S: Back out a bad pin mapping change from
- 4ab2a3661ea57211f4ae12fe21c5de3454ba0ef2. Try to staighten out some
- I2C3 and SPI3 pin configuration stuff (2017-06-16).
- * Clicker2-stm32: Allow both IEEE 802.15.4 MAC character and network
- devices to be registered (2017-06-16).
- * Clicker2-STM32: Enable networking and 6loWPAN in the
- mrf24j40-6lowpan configuration. Fix a couple of new 6loWPAN compile
- issues revealed by this new configuration (2017-06-16).
- * Merge remote-tracking branch 'origin/master' into ieee802154
- (2017-06-16).
- * clicker2-stm32: mrf24j40-6lowpan configuration needs to enabled the
- ieee 802.15.4 MAC network device as well (2017-06-16).
- * stm32:flash add CONFIG_STM32_STM32F469 to list defining OPTCR1. From
- David Sidrane (2017-06-17).
- * ieee802.15.4 loopback: Better simulation addressing: sort, extended,
- panid, and IP address conversion (2017-06-17).
- * ieee802154 MAC: Fix a warning when compiled for a target with 64-bit
- addressing (2017-06-17).
- * Update some 6loWPAN configurations based on changes to NSH Kconfig
- (2017-06-17).
- * wireless/ieee802154: Fixes ordering of strings associated with
- changed enum. From Anthony Merlino (2017-06-17).
- * wireless/ieee802154: Renames mac802154_poll to mac802154_radiopoll to
- be more obvious. Merges shared logic for sending data request
- commands. Minor improvements and simplified logic. From Anthony
- Merlino (2017-06-17).
- * STM32 HRTIM: Faults and events configuration, timers mode
- configuration, add hrtim ops, ADC triggering and DAC synch events.
- From Mateusz Szafoni (2017-06-18).
- * Add RFC6775 header file (2017-06-18).
- * rfc6775: Fix header, add references, correct naming. This is NOT
- ICMPv6, but part of 6LoWPAN that acts like ICMPv6 (2017-06-18).
- * wireless/ieee802154: Renames Kconfig option, adds option for
- unimplemented receiver priority. From Anthony Merlino (2017-06-18).
- * STM32 HRTIM: Fix initialization bug, minor changes. Remove unneeded
- definitions. From Mateusz Szafoni (2017-06-18).
- * IEEE 802.15.4 MAC: Add list management and prioritization logic that
- will permit the MAC layer to support bound multiple clients
- (2017-06-18).
- * ieee 802.15.4: Need counting protection on the logic that releases
- the notification resources. Otherwise, notification handlers may be
- operating with a stale pointer (2017-06-18).
- * IEEE 802.15.4 Network Driver: Add logic to setup the network mask,
- update the MAC-based IPv6 addressing when the network is brought up.
- The idea is that addressing changes are supposed to occur only while
- the network is down but won't take effect until the network is up
- again (2017-06-18).
- * Swithches IEEE 802.15.4 based code to using byte arrays instead of
- uint16_t values for short address and PAN ID. From Anthony Merlino
- (2017-06-19).
- * Throw error when error happens in the tcp_listen function. From
- Roland Takacs (2017-06-19).
- * Support listening sockets in the getsockname() function. From Roland
- Takacs (2017-06-19).
- * IEEE 802.15.4/6LoWPAN: Correct one more usage of saddr; also update a
- README and the TODO list (2017-06-19).
- * STM32 ADC: invalidate dma buffer before use. Missing invalidation
- caused old samples being fetched from cache. From Jussi Kivilinna
- (2017-06-19).
- * Enable UDP example in clicker1-stm32/mrf24j40-6lowpan example, make
- sure that CONFIG_EXAMPLES_UDP_NETINIT is set in all other
- examples/udp configurations (2017-06-19).
- * Use struct instead of pointer to the struct as sizeof argument in
- memset in usbmsc.c. Otherwise it leads to error: argument to
- 'sizeof' in 'memset' call is the same pointer type 'struct
- usbmsc_lun_s *' as the destination. From Oleg Evseev (2017-06-19).
- * /configs/clicker2-stm32/mrf24j40-6lowpan: Enables both client and
- server UDP tests on the target; Update a README file (2017-06-19).
- * wireless/ieee802154: Cleans up some endianness issues and fixes poll
- request issue. From Anthony Merlino (2017-06-19).
- * STM32 L4: Set I2C SDA and SCL pins to open drain mode. From Pekka
- Ervasti (2017-06-20).
- * STM32 L4: I2C4 was writing to wrong RCC registers. From Juha
- Niskanen (2017-06-20).
- * STM32 F7: Set I2C4 SDA and SCL pins to open drain mode. From Juha
- Niskanen (2017-06-20).
- * 6LoWPAN: Add debug statements; Update configuration, need to specific
- 6LoWPAN compatible port numbers (2017-06-20).
- * mac802154_req_data() can return without releasing the exclsem
- (2017-06-20).
- * STM32: Allow clock frequencies > 168 Mhz on stm32f427/429. We need
- to enable the power overdrive for this case. This patch allows the
- required bits to be set in proper sequence. It also modifies the
- local register access operations to allow more than 16-bit registers.
- From Sebastien Lorquet (2017-06-20).
- * Kinetis:I2C driver added I2C3, reference counting and reset.
- Refactored the driver to support reference counting and reset added
- I2C3. From David Sidrane (2017-06-20).
- * ieee802154 network driver now retries if ieee802154_req_data()
- returns EINTR. In clicker2-stm32 6LoWPAN configuration, increased
- the number of TX descriptors to match then number of IOBs
- (2017-06-20).
- * Kinetis:I2C fixed mis-placed kinetis_i2c_endwait. Fixed accedently
- replaced post with wait. From David Sidrane (2017-06-20).
- * ieee802154_req_data: Don't modify the IOB until we are certain that
- no EINTR errors will occur. Otherwise, the retry will fail
- (2017-06-20).
- * ieee802154 MAC: Free allocated TX descriptor if an error occurs after
- the descriptor has been allocated (2017-06-20).
- * ieee802154: Adds some missing elements to start support for
- beacon-enabled networks. From Anthony Merlino (2017-06-20).
- * ieee802154: Fixes Kconfig naming for number of TX desc and number of
- notifications. From Anthony Merlino (2017-06-21).
- * pthread_mutex_unlock(): Missing check for the case where
- pthread_mutex_lock() is called when the mutex is not locked. In that
- case, it would increment the underlying semaphore avove 1. This is
- the fix for a problem noted by initialkjc@yahoo.com (2017-06-21).
- * Missing option to select CONFIG_MAC802154_NNOTIF in Kconfig
- (2017-06-21).
- * clicker2-stm32/mrf24j40-6lowpan: Network now runs on LP work queue
- (2017-06-21).
- * STM32 L4 DMA: Correct USART3_RX bad channel definition. From Juha
- Niskanen (2017-06-21).
- * 6LoWPAN: Correct an error in calculating the location of the UDP
- header (2017-06-21).
- * wireless/ieee802154: Minor naming change to align better with coding
- guidelines. From Anthony Merlino (2017-06-21).
- * mrf24j40: Fix a warning (which is actually an error) (2017-06-21).
- * 6LoWPAN: Correct a few addressing issues. The apps/examples/udp test
- now appears to be fully functional. Also reserve two bytes at the
- end of the frame for the FCS (2017-06-21).
- * Do not search net device when all-zeros address is used. From Roland
- Takacs (2017-06-22).
- * Fix problems in last commit noted by Jeongchan Kim: last change
- returned -EINVAL vs EINVAL; Treat the case where the mutex is already
- unlocked just like the case where the mutex is held by another thread
- -- return EPERM (2017-06-22).
- * Logic of a353602aa9cc50ed958df11af35e3972101b5f40 only applies if
- CONFIG_NETDEV_MULTINIC (2017-06-22).
- * 6LoWPAN: Fixes needed when extended addressing is enabled. Currently
- breaks short addressing. Loopback driver needs to initialize the MAC
- meta data; Address decompression logic must have the MAC address to
- handle the most common compression cases. Fix a src/dest address
- confusion. Fix yet another addressing problem. That does it.
- Several recent, proper bugfixes unmasked a few errors in the 6LoWPAN
- logic. But I think full functionality is restored (2017-06-22).
- * ieee802154: Stubs out some SCAN.request code. From Anthony Merlino
- (2017-06-22).
- * drivers/net/tun.c: Use critical section instead of semaphore in
- tun_ifdown(). From Masayuki Ishikawa (2017-06-23).
- * netdb: Fixed buffer size used for sending DNS queries should depend
- on the configured DNS name size. From Ritjaina (2017-06-23).
- * 6LoWPAN: Add missing IPv6 address creation to HC1 decode logic. Fix a
- typo in an index that prevented use with HC1 and extended addresses
- (2017-06-23).
- * clicker2-stm32/mrg24j40-6lowpan: Add apps/examples/nettest. Refresh
- all configurations that enable the nettest (2017-06-23).
- * configs/sim/sixlowpan: Disable I2C tool. Not so useful in a
- simulation (2017-06-23).
- * 6LoWPAN: TCP logic was not obeying MTU packet size limitations.
- Other TCP-specific issues also fixed. There remains a major
- outstanding issue with ACK handling. Handle case where the local
- address is zero (listen socket). Major re-architecting of TCP logic
- to properly handle TCP stuf like ACKs and TPC windowing which were
- not properly covered in the initial design. Still does not work;
- hangs waiting of ACKs.Various fixes for a clean build if either TCP
- or UDP are disabled. Given the current state of TCP, it is
- recommended that you disable TCP. HC06, copy TCP header as though it
- were data. Modify the the way TCP headers are transferred -- yet
- again. TCP packet reassembly now seems to work OK, but no there now
- does not seem to be a listener on the port (2017-06-24).
- * IEEE802.15.4: Update RX statistics in network driver (2017-06-25).
- * 6LoWPAN TCP: Fix more ACK handling, fix some callback flag settings.
- Now the TCP test appears fully functional on 6LoWPAN (2017-06-25).
- * ieee802154: Finishes transmission of beacon frames, and performing a
- passive scan. From Anthony Merlino (2017-06-25).
- * ieee80215: starts adding support for beacon-enabled networking. From
- Anthony Merlino (2017-06-26).
- * STM32L4 serial: Allow configuring Rx DMA buffer size. From Juha
- Niskanen (2017-06-26).
- * stm32f33xxx_rcc: cleanup + move hrtim clock source selection. fix
- typo in stm32f33xxx_rcc.h. From Mateusz Szafoni (2017-06-26).
- * 6LoWPAN: Fix duplicate and bad memcpy in loopback driver
- (2017-06-26).
- * Beacon logic: Damage control. Looks like something went wrong with
- the PR merge (2017-06-26).
- * ieee802154: Renames mac802154_indalloc to ieee802154_indalloc since
- the functions are ieee802154 scoped functions. Improves notification
- freeing functionality. Each notification now has a number of
- clients. When the last client calls free, the notification is freed
- back to the pool. From Anthony Merlino (2017-06-26).
- * Clicker2-STM32: Add support for the Telnet client to the
- mrf24j40-6lowpan configuration. Useless at the moment because the
- NuttX telnet daemon does not yet support IPv6 (2017-06-27).
- * ieee802154: Supports get request for coordinator address. From
- Anthony Merlino (2017-06-27).
- * ieee802154: Finishes beacon association functionality. From Anthony
- Merlino (2017-06-27).
- * smart: fix wrong freeing of device structure and use-after-free
- issues on error paths. From Jussi Kivilinna (2017-06-28).
- * net/: IPv6 packet input, Improve checks that the packet is destined
- for us. There might be some odd things that can happen in certain
- forwarding scenarios (2017-06-28).
- * Fix -Werror=implicit-fallthrough on gcc7. From Julien Lecoeur
- (2017-06-28).
- * Fix warning implicit-fallthrough with arm-none-eabi-gcc 7. From
- Julien Lecoeur (2017-06-28).
- * 6LoWPAN: Add configurable support for 6LoWPAN star topology. With
- this change, the endpoints which are the 'points' of the star will
- forward all traffic to the coordinator. The coordinator is assumed
- to be the 'hub' of the star. This function also implements IPv6
- forwarding. That forwarding implementation is minimal, just enough
- to support the forwarding requirements of the star hub node
- (2017-06-28).
- * Clicker2-STM32 + net/: Add configurations to support the endpoint
- and hub roles in a star topology. Fix various things that broke when
- IPv6 forwarding was enabled (2017-06-29).
- * 6LowPan: Change how the destination node address is handled in the
- star endpoint configuration. When the star endpoint sent the IPv6
- destination address, the HC06 compression logic elided the address --
- meaning that it could be reconstructed by the recipient based on the
- receiver's assigned short address. However, when intercepted by the
- hub, the uncompressed address does not know the short address of the
- recipient and instead uses the short address of the hub. This means
- two things: (1) it looks like the hub address is the destination
- address, and (2) the uncompressed UDP packet has a bad checksum.
- This change assures that the destination IPv6 address is not elided
- in the case of the star endpoint configuration (2017-06-30).
- * 6LoWPAN: Fix a misconception about HC06 16-bit IPv6 address
- compression (2017-06-30).
- * 6LoWPAN fix compile issue in star hub configuration (2017-06-30).
- * This change backs out the 'misconception' fix of
- 76e6dba2e4bfab9515bef2866c5c59fd2a2f0fa0 and reimplements it in a way
- that actually seems to work (2017-06-30).
- * ieee802154: Random fixes to get beacon-enabled networking more
- stable. From Anthony Merlino (2017-06-30).
- * 6LoWPAN: TCP send logic was returning a failure in one case when, in
- fact, the send was successful (2017-06-01).
- * include/nuttx/net and net/: Move private prototype of
- netdev_foreach() from the public include/nuttx/net/net.h to the
- private net/netdev/ndetdev.h header file where it belongs
- (2017-07-01).
- * ieee802154: Cleans up some wireless logging. Fixes resp_waittime
- field in ieee802154_macattr_u. Supports multiple incoming superframe
- events. From Anthony Merlino (2017-07-01).
- * Initial clang compile. From Goran Mekić (2017-07-01).
- * Add CLANG definitions in Kconfig and Toolchain.defs (2017-07-02).
- * samv71-xult: Add support for the MRF24J40 radio and create a
- mrf24j40-starhub configuration. A few fixes to IPv6 and 6LoWPAN were
- required to have 6LoWPAN and Ethernet coexisting. Untested and
- expect some complexity in the bring-up. Put the serial console on
- UART3, i.e., on a Arduino serial shield. Add missing MRF24J40
- bring-up logic (2017-07-02).
- * stm32f4 discovery: Add logic to register the button driver and the
- user led driver if so configured. From Jan Pobrislo (2017-07-02).
- * samv71-xult: Fix SP0 vs. TWHS0 in mrf24j40-starhub/defconfig; fix
- copy-paste errors in SPI initialization logic. Fix a typo in
- MRF24J40 initialization (2017-07-02).
- * drivers/wireless/ieee802154: Moved radios to individual
- sub-directories. From Anthony Merlino (2017-07-03).
- * stm32f40xxx_rtcc ISR register and write protection fix. From Eetu
- Nevalainen (2017-07-03).
- * samv71-xult/mrf24j40-starhub: Disabled CONFIG_BOARD_INITIALIZE;
- Correct MRF24J40 interrupt edge. Fix MRF24J40 interrupt pin. Should
- have pull-ups on interrupting inputs. Reset pins backward. Add
- reset logic (but comment out because it is not necessary)
- (2017-07-03).
- * Add some partial IP forwarding logic. Add some fragments of TCP
- forwarding logic (2017-07-03).
- * IPv6 forwarding logic must decrement the TTL and drop the packet if
- the hop limit is exceeded (2017-07-04).
- * IP forwarding. Adds a little more structure to handle passing
- packets received on one network device to another network device.
- Logic is still incomplete (2017-07-04).
- * UDP networking: The TTL (time to live) was not being set in the IPv4
- or IPv6 header unless the UDP socket was bound (2017-07-04).
- * SAME70-Xplained: Add MRF24J40 support (2017-07-04).
- * I've found that the interrupts aren't enabled since nothing updates
- them after btn_poll() marks the file descriptor structure as being
- polling. I've managed to make it work with this change. From Jan
- Pobrislo (2017-07-04).
- * include/nuttx/input: Remove bogus, obsolete keypad.h header file
- (2017-07-04).
- * net/udp: Fix a copy-paste error that could effect networking when
- both IPv4 and IPv6 are enabled (2017-07-05).
- * configs/Board.mk: Remove comment form end of line. In windows native
- build, it appears to be trying to make that an extra parameter to the
- AR command. From Jeff (2017-07-05).
- * IP Forwarding: Flesh out TCP, UDP, and ICMPv6 packet forwarding
- logic. In checking if the Ethernet MAC address is in the
- ARP/Neighbor table, add an additional check to skip in the case of
- CONFIG_NET_MULTILINK and the devices is not an Ethernet device. Add
- IPv4 packet forwarding logic. Initial commit is an untested clone of
- the IPv6 forwarding logic with a few minor logic changes for IPv4
- (2017-07-05).
- * IP forwarding: Add optional support to forward broadcast and
- multicast packets. Add missing ICMP support (2017-07-06).
- * FS: Remove DEBUGASSERT() in block_proxy() because the flags are
- cleared later. From Masayuki Ishikawa (2017-07-06).
- * Eliminate a warning with arm-none-eabi-gcc 7.1.0. From Julien
- Lecoeur (2017-07-06).
- * In arch/arm/src/stm32/Kconfig when the CPU is a STM32F4, some
- STM32_HAVE_xx with xx = {OTGFS, TIM3, TIM4, SPI3, I2S3, I2C3} are
- selected by default. But for F410 these peripherals are absent. This
- change add tests to check if the target CPU is an F410 or not and
- selects according to the situation. This also adds a select for
- STM32_HAVE_DAC1 present on this STM32 flavor. From Gwenhael
- Goavec-Merou (2017-07-06).
- * Rename CONFIG_STM32_STM32F40XX to CONFIG_STM32_STM32FXXXX since it is
- used by F4 parts other than F40x (2017-07-06).
- * STM32 Kconfig: 'unfold' some of the dependencies to provide better
- long term configuration support. This also effective reverts the
- recent 15b85738e7b5b9df6377f56e2a6a629346f87964 (2017-07-06).
- * ICMPv6: Fix so that ICMPv6 can be used with 6LoWPAN (2017-07-06).
- * IPv6 Neighbor: Update table format to support IEEE 802.15.4 MAC
- addresses (2017-07-06).
- * configs/Board.mk: Remove quotes from CONFIG_ARCH_FAMILY. Causes
- problems with Windows native build. From Jeff (2017-07-06).
- * IP forwarding design simplication; might save some memory. Also fix
- some compile issues introduce with last commit in MULTINIC
- configration (2017-07-06).
- * IP Forwarding: Another IP forwarding design simplification: Remove
- an unnecessary field from state structure (2017-07-06).
- * ICMPv6: Fix an address size calculation that was bungled in a recent
- commit (2017-07-06).
- * Networking: Improve naming and simplify some logic of previous
- commit (2017-07-07).
- * Networking: Correct some issues that prevent TCP from working
- correctly when both IPv4 and IPv6 are enabled (2017-07-07).
- * Add definitions that will permit TUN-only networking (2017-07-07).
- * Move TUN ioctl commnd to include/nuttx/net/ioctl.h so that it will
- always be unique. It a error in netdev_register: it was not handling
- device names properly when TUN is the only network device
- (2017-07-07).
- * sim/ipforward: Add an IP forwarding configuration using TUN devices
- and apps/examples/tun (2017-07-07).
- * In TUN driver, do all polling on worker thread. Otherwise, the stack
- gets very deep (2017-07-07).
- * IP forwarding: Major rearchitecting of the outgoing portion of the
- IP forwarding logic necessary into to properly received
- device-related forwarding events (2017-07-07).
- * ieee802154: Changes mac locking/unlocking to aid in debugging. From
- Anthony Merlino (2017-07-07).
- * IP forwarding: Remove some unnecessary data structure definitions
- (2017-07-07).
- * Makefile.unix: Add savedefconfig target. From Gwenhael Goavec-Merou
- (2017-07-08).
- * Add Gwenhael's change to Makefile.win and update README.txt to
- described the new make target (2017-07-08).
- * IP forwarding: Two bugfixes (1) IPFWD poll event must be unique and
- different from other device poll events otherwise, some other waiting
- task might get the poll, (2) Add logic necessary to forward 6LoWPAN
- packets (2017-07-08).
- * net/procfs: Fix some spacing when both IPv6 and IPv4 are enabled
- (2017-07-08).
- * Networking routing tables: Fix a compilation error when IPv6 and
- routing are enabled (2017-07-08).
- * ICMPv6: Add 6LoWPAN and IP forwarding support (2017-07-09).
- * configs/b-l475e-iot01a: Add basic support for the STMicro
- b-l475e-iot01a board. From Simon Piriou (2017-07-09).
- * IP Forwarding: Fix a compile problem when IP forwarding of broadcast
- messages is enabled (2017-07-09).
- * ieee802154: mac802154_purge_timeout was not unlocking MAC before
- returning. From Anthony Merlino (2017-07-09).
- * ieee802154: Minor bug fix. Purging of indirect transaction was not
- unlocking MAC. From Anthony Merlino (2017-07-09).
- * Makefile.*: Add CONFIG_ARCH_CHIP_* definitions to defconfig in
- savedefconfig target. Last of the conversions of defconfig files to
- compressed format (2017-07-09).
- * ieee802154: Improves internal timer logic to handle work serially.
- Before, the MAC timer used a watchdog to schedule work with the high
- priority worker queue. However, since everything in the MAC is
- supposed to be serialized through the use of the high priority work
- queue, but the timer uses a watchdog, there are some unintended
- consequences. To simplify, we now use the delayed work feature of the
- work queue. From Anthony Merlino (2017-07-09).
- * Update configure.sh, configure.bat, configure.c: With compressed
- format, part of the installation requires that we run 'make
- olddefconfig' to restore the uncompressed defconfig format. Also,
- while I was at it, I also added options to select host platform on
- configure command line (2017-07-10).
- * tools/refresh.sh: Now runs make savedefconfig before copying the new
- defconfig file in place; Also, added a new option --defaults. Since
- the number of defaults that you now have to answer is so large, the
- option lets you just accept the default values. So it works just
- like --slilent but still prompts you for the decision to save or
- discard the new defconfig file (2017-07-10).
- * tools/tesbuild.sh: Fix missing $ before variable name (2017-07-10).
- * configs/clicker2-stm32: Adds support for per-function-call stack
- checking. From Anthony Merlino (2017-07-10).
- * drivers/wireless/ieee802154/mrf24j40: Minor timing fix. Matches
- recommended value in datasheet. Splits up driver into multiple files
- to make it easier to navigate. Fixes issue with non-beacon enabled
- mode. From Anthony Merlino (2017-07-10).
- * IP Forwaring. Fix some errors in ipforwar.h when
- CONFIG_NET_STATISTICS is enabled, but CONFIG_NETDEV_MULTINIC is not.
- Add some forward references that are needed when
- CONFIG_NETDEV_MULTINIC is not enabled. ipfwd_dropstats needs to
- include errno.h (2017-07-10).
- * STM32 TIM3/4 are always 16-bits; never 32-bits. Noted by Eetu
- Nevalainen. (2017-07-10).
- * Build System: It is no longer necessary to have a unique Make.defs
- file for each configuration. A board may share a common Make.defs
- file in the scripts directory. Some duplicate Make.defs files
- removed; Some common Make.defs file moved to the scripts/
- sub-directory (2017-07-10).
- * configs/clicker2-stm32/mrf24j40-mac: Updates stack size to 2048 to
- avoid random stack overflows when logging is enabled. From Anthony
- Merlino (2017-07-10).
- * Add small hello example for stm32f103-minimum board. From Alan
- Carvalho de Assis (2017-07-10).
- * ieee802154: Many small bug fixes clean-ups that help stabilize the
- functionality. From Anthony Merlino (2017-07-10).
- * SAML21 I2C driver. Developed for and contributed with permissin from
- Filament company. From Alan Carvalho de Assis (2017-07-11).
- * SAMD/L21 I2C: Another update... needs to use
- enter/leave_critical_section vs. old irqsave/restore (2017-07-11).
- * Remove duplicate Make.defs files in configs/. Move remaining, common
- Make.defs files to board/scripts directory (2017-07-11).
- * SAMD21: Fix some SPI-related issues. From Matt Thompson
- (2017-07-11).
- * ICMPv6 w/Autoconfiguration: Fix a compile issue introduced with
- recent change for 6LoWPAN support (2017-07-11).
- * sockets: Coding fix fix + minor structuring for forthcoming socket
- interface logic (2017-07-11).
- * drivers/wireless/ieee802154/mrf24j40/: Fixes bug causing radio to
- cease transmitting. From Anthony Merlino (2017-07-11).
- * ieee802154: Notify radio layer of changes in devmode. From Anthony
- Merlino (2017-07-12).
- * drivers/mrf24j40: Hook in setdevmode from newly added radio attribute
- setting. From Anthony Merlino (2017-07-12).
- * ieee802154: Set devmode to endpoint on MAC layer reset. From Anthony
- Merlino (2017-07-12).
- * I was having issues with the bus freezing up .. slaves holding SDL
- low.. so I rewrote a good portion of the interrupt logic based on the
- application notes from Atmel. One major improvement is using the
- RXNACK flag in the STATUS register, which indicates that no device
- responded to an address packet. Assuming that the chip will always
- give an interrupt status, I believe it's possible to eliminate the
- timer as well. From Matt Thompson (2017-07-12).
- * SAMD/L21: Add a USB driver. Developed for Filament Inc. by Offcode,
- LTD. From Janne Rosberg (2017-07-12).
- * drivers/mrf24j40: Adds header guards to mrf24j40_reg.h. From Anthony
- Merlino (2017-07-12).
- * C library: Fix an error in mkstemp() the could result in an infinite
- loop. From Alan Carvalho de Assis (2017-07-12).
- * SAMD/L21: Need to preserve errno value across syslog() call
- (2017-07-12).
- * SocketI/F: Initial steps to add a socket interface to the
- networking. Each address family will have an interface that
- describes how to perform socket operations on that address family.
- Currently only a couple of methods are defined in the table as a
- proof of concept. More to come. Currently there are only tables for
- the INET/INET6 family, the Unix LOCAL family, and the raw PACKET
- family. Hopefully there will be AF_IEEE802154 and AF_BLUETOOTH
- comming down the pike. Add recvfrom() method to interface
- (2017-07-12).
- * ieee802154: Fixes setting devmode logic. From Anthony Merlino
- (2017-07-13).
- * drivers/mrf24j40: Fixes issues with sleeping for beacon enabled
- networking. From Anthony Merlino (2017-07-13).
- * Fixes timing issues for beacon enabled coordinators and endpoints.
- From Anthony Merlino (2017-07-13).
- * Socket I/F: Added bind(), connect(), listen(), accept(), close(),
- addref() and sockcaps() interfaces (2017-07-13).
- * ieee802154: Fixes issue with association on beacon-enabled
- networking. From Anthony Merlino (2017-07-13).
- * drivers/wireless/mrf24j40: Fixes math error for calculating sleep
- count values. From Anthony Merlino (2017-07-13).
- * STM32 F7 Ethernet: Fix typo in header; Add memory sync barrier
- between writing to DMA TX descriptor and restarting DMA TX. Avoid
- calling work_queue on pollwork if it's already queued, just skip a
- poll cycle instead. Nucleo-144: Fix RMII TXD1 signal, connected to
- PB13 not to PG14. From savinz (2017-07-14).
- * Socket I/F: Added getsockname() interfaces. Add address family
- support for poll() and sendfile() (2017-07-14).
- * tools/refresh.sh: Update so that it can find the Make.defs file in
- the new location (2017-07-15).
- * Numerous fixes, updates generalizations needed in order to merge
- Frank Berkert's massive USB composite change of June 1 into master.
- Too many changes to summarize adequately here (2017-07-16).
- * Makefile.win would only create uboot images for ARM. MIPS support
- also needed. From Lwazi Dube (2017-07-16).
- * IEEE 802.15.4 MAC: Disable option to select interrupt-level meta
- data allocator (2017-07-16).
- * ieee802154: Adds retry count to tx descriptor. Renames ack_wait_dur
- to ack_waitdur and removes it from private mac struct. From Anthony
- Merlino (2017-07-16).
- * STM32 F7: I2C4_SDA can also be on GPIO PB7. From Titus von Boxberg
- (2017-07-16).
- * STM32 F7: Definitions for I2C4, SDMMC2. Adapted RAM start / size to
- internal SRAM. From Titus von Boxberg (2017-07-16).
- * Networking: When upd_input() cannot process a packet, it returns
- ERROR so that network drivers may try calling ipv4_input() later. In
- this case, it must also set d_len to zero. Otherwise, all network
- drivers will assume tht there is also an outgoing packet. This
- results in a gratuitous ARP (2017-07-17).
- * STM32 F7: do not enforce CONFIG_STM32_CCMEXCLUDE for
- CONFIG_ARCH_CHIP_STM32F7, macro rename STM32 -> STM32F7, #include
- corrections. renamed STM32_LCDTFT_BASE to STM32_LTDC_BASE for
- consistency. macro rename STM32 -> STM32F7. initial
- (dysfunctional) lcd configuration (from STM32). From Titus von
- Boxberg (2017-07-17).
- * STM32 F7: option for DSI output, inconsistency: the stm32f746 does
- not feature a DSI interface. compileable with LTDC_INTERFACE and
- LTDC_USE_DSI. From Titus von Boxberg (2017-07-18).
- * ieee802154: Adds special attribute that can be used to perform a
- regdump of the radio. Sets txdesc retrycount to the maxretries MAC
- attribute when allocated. From Anthony Merlino (2017-07-18).
- * STM32 F7: Added functions for DSI clock source selection. From Titus
- von Boxberg (2017-07-18).
- * Network poll: Remove logic conditioned on non-existent HAVE_NET_POLL
- (2017-07-19).
- * CDC/ACM. Fix several known problems resulting from merge of USB
- composite device. That merge now breaks some of the non-composite
- USB devices. These fixes are for CDC/ACM (2017-07-19).
- * SAMD21: Changes needed to get USB working. From Matt Thompson
- (2017-07-19).
- * Initial port to STM32F769I-DISCO. From Titus von Boxberg
- (2017-07-20).
- * libc/math: Fix wrong ouput in modf() API. The sign of integral part
- given by the modf() should be same as sign of input. But for inputs
- between 0 and 1, the sign of integral part was not same as sign of
- input. From Lokesh B V (2017-07-20).
- * libc/math: Fix wrong ouput in ceil() API. Ex:for input x = 1.0, the
- ouput should be 1.0, but the ouput was 2.0. From Lokesh B V
- (2017-07-20).
- * USB device: Rename usbdev_description_s to usbdev_devinfo_s to avoid
- any more confusion of naming with device descriptions in the future.
- Instances of usbdev_devinfo_s are now called devinfo vs devdesc when
- is a bad naming collision (2017-07-20).
- * USB MSC: Add missing logic to define endpoints. The composite
- changes broke the the non-composite, USB MSC only case because it
- omitted the critical setup when USB MSC was not part of the composite
- (2017-07-20).
- * libc/stdlib: (1) Fix an error in mkstemp() the could result in an
- infinite loop. (2) Fix for wrong output in some cases. For
- Example: (a) input: "FILEXX", output: "FILE00" and repeats same
- output for further invocations of mkstemp(). But, the ouput has to be
- FILE01, FILE02, ...., FILEZZ. (b) input: "FILEXXXXXX", output:
- "FILE100000", for next invocation "FILE200000" and so on. But it's
- good, if the ouput goes like FILE000001, FILE000002, ..., FILE000101,
- ... From Lokesh B V (2017-07-21).
- * configs: add stm32f334-disco basic support. From Mateusz Szafoni
- (2017-07-21).
- * USB composite: Remove references to CDC/ACM and USB MSC from
- composite logic. They are no longer coupled (2017-07-21).
- * nucleo-f334r8: UART2 is default serial port (STLINK Virtual Port).
- From Mateusz Szafoni (2017-07-22).
- * STM32 HRTIM: add slave timers private data, fix some bad definitions,
- some assertions. From Mateusz Szafoni (2017-07-22).
- * b-l475e-iot01a: Add initial, unverified support for the
- SPSRGF/Spirit1 module. Add a configuration for testing sprit radio
- (2017-07-22).
- * epoll: fix epoll_wait function. From Simon Piriou (2017-07-22).
- * sim arch: Add non blocking read to devconsole driver. From Simon
- Piriou (2017-07-22).
- * sim arch: poll for TX frames to speed up driver. From Simon Piriou
- (2017-07-22).
- * sim arch: fix mkdir issue in GNU target. From Simon Piriou
- (2017-07-22).
- * drivers: add generic upper-half driver for SMPS. From Mateusz
- Szafoni (2017-07-23).
- * Add power-related debug output (2017-07-23).
- * Move SMPS driver to drivers/power (and header to
- include/nuttx/power). Rename debug to IOCTLs to more general power
- naming; create a separate file to coordinate power-related IOCTL
- commands (2017-07-23).
- * STM32 F7: enable APB2 DSI clock. From Titus von Boxberg
- (2017-07-26).
- * drivers/leds: Add support for inverted LEDS. See common anode RGB
- LED discussion in the Yahoo group. From Jeff (2017-07-27).
- * drivers/analog: Fix some data alignment issues in the ADC driver
- (2017-07-27).
- * STM32 F7: added missing config option for register value debugging.
- From Titus von Boxberg (2017-07-27).
- * STM32 F7: No FSMC, only FMC for STM32F7. From Titus von Boxberg
- (2017-07-27).
- * sig_timedwait: Pending signal structure used after it has been
- releasd. From anonymous Bitbucket Issue 59 (2017-07-27).
- * Add driver for LTC4151 current and voltage monitor. From Giorgio
- Groß (2017-07-28).
- * drivers/leds: Lightness correction for RGB LED driver. From Jeff
- (2017-07-28).
- * We discovered a problem with the samv7 mcan driver which results,
- under some circumstances, in a very high CPU load. The problem
- occurs, and is easily reproducible, if the device is connected to a
- CAN network with a wrongly configured CAN speed (baud rate). In our
- tests we set the CAN speed of the device to 1000000 and the speed of
- the other CAN nodes to 500000. The device is restarted and sends a
- CANopen "bootup message" to the CAN network. This results in huge
- amount of errors messages on the CAN bus, probably because of the CAN
- feature for acknowledging error messages. The error messages can’t
- be read by the device because of the misconfigured CAN speed, instead
- the CAN chip reports lots of errors, which are reported to the
- application which uses the CAN driver (CONFIG_CAN_ERRORS is enabled).
- The CAN errors are reported from the CAN chip via interrupts and thus
- the interrupt load is very high in this scenario. To fix the problem
- the driver now disables each RX error interrupt after it is occurred.
- The RX error interrupts are turned back on if at least one CAN
- message is received successfully. From Stefan Kolb (2017-07-28).
- * tcdrain implementation based on a new term ioctl. From Sebastien
- Lorquet (2017-07-28).
- * Spirit Network Driver: Create build directories, Add radio
- initialization, interrupt handling logic, packet transmissin and
- reception logic. Add some hooks that will eventually support address
- filtering (2017-07-28).
- * STM32 F7: HEAP2 depends on CONFIG_ARCH_HAVE_HEAP2, not on particular
- FMC RAM type. From Titus von Boxberg (2017-07-28).
- * STM32 F7: No board specific dithering values used; corrected
- dithering init. Corrected LIPOS/LIPCR calculation. Change only
- polarity bits in LTDC_GCR. From Titus von Boxberg (2017-07-29).
- * STM32_RCC_DCKCFGR2 has nothing to do with PLLI2S; PLLI2S is not
- dependent on LTDC, instead on SAICLK1/2 generated from PLLI2S. From
- Titus von Boxberg (2017-07-29).
- * To use an external oscillator module (not just a crystal) with the
- STM32F4, one needs to enable the HSEBYP bit in the RCC_CR register.
- This change allows an integrator to define STM32_RCC_CR_HSEBYP in
- their board.h file if they want this configuration. From Jeff
- (2017-07-30).
- * 6LoWPAN PktRadio: Some initial changes to support raw packet radios
- without IEEE 802.15.4 with 6LoWPAN. Add missing MetaData-related
- prototypes and initialization logic. Perform a major renaming to
- make room in the 6LoWPAN name space for packet radios. Replace
- metadata input parameter type from struct ieee802154_data_ind_s to
- void*. This permits radios with different MAC metadata to interact
- with 6LoWPAN. Includes many changes to handle variable length radio
- addresses. No longer just short and exteneded; any length.Remove
- explicit type struct ieee802154_frame_meta_s from derive interface
- methods. Replace with a opaque void * type so that other radio meta
- data structures may use the interfaces. Add a new radion interface
- to get properties of the radio. Spirit: Finish packet I/O interface
- with the network. Fix case where source and destination IP address
- were backward. Fix some compile issues when star topology support is
- enabled. Condition out some types that depend on definitions that are
- only available with 6LoWPAN is enabled (2017-07-30).
- * STM32L4 PWR: correct PWR_SR2 REGLPS and REGLPF bits, add port I
- registers. Also remove duplicate section from Kconfig. From Juha
- Niskanen (2017-07-31).
- * STM32L1: Add base address for TIM11. From Juha Niskanen
- (2017-07-31).
- * net/local: fix accept for local stream sockets. From Jussi Kivilinna
- (2017-07-31).
- * network: Move USRSOCK specific code from from inet_sockif to
- usrsock_sockif. Fix USRSOCK to work with recent changes to
- networking layer. From Jussi Kivilinna (2017-07-31).
- * PktRadio/6LoWPAN: Add a loopback driver for testing on the simulator.
- Fix more issues related to single byte radio addressing. Some
- initial fixes resulting for early testing with loopback device
- (2017-07-31).
- * Simulator: Protect a few more NuttX symbols from collisions with host
- symbols (2017-07-31).
- * STM32 F7: added function for reset. From Titus von Boxberg
- (2017-07-31).
- * IoT Board/Spirit: Fix a few issues that interfered with testing.
- Move console to the VCOM port (USART) for all configurations. Rename
- the spirit-mac configuration to spirit-6lowpan. Add lots of debug
- output the spirit network driver (2017-07-31).
- * drivers/serial/serial.c: Add support for TCFLUSH. From Sebastien
- Lorquet (2017-08-01).
- * Fixes for compilation of stm32f746g-disco. From Ivan Ucherdzhiev
- (2017-08-01).
- * stm32f746g-disco: Make the initialization logic identical to the
- standard way that is done for all other board (2017-08-01).
- * serial.c: Finish implementation of TCDRAIN. Based partly on logic
- from Sebastien Lorquet (2017-08-01).
- * serial.c: Use common TX drain logic when closing a driver as with
- the TCDRAIN IOCTL (2017-08-01).
- * Spirit network driver: Network driver needs to setup IP address
- based on configured node address. If no node address is provided,
- then it will use a default. Make sure device is in READY state after
- reset and before changing to STANDBY. Add a function to wait for a
- state change with a timeout (2017-08-01).
- * network procfs: Fix so that PktRadio address are shown correctly
- (2017-08-01).
- * arch/arm/src/lc823450: Initial support for ON Semiconductor LC823450.
- From Masayuki Ishikawa (2017-08-02).
- * configs/lc823450-xgevk: LC823450-XGEVK board support. From Masayuki
- Ishikawa (2017-08-02).
- * b-l475e-iot91a: Add apps/examples/nettest and eamples/udp to Spirit1
- configuration. Add telnet support. fix driver statistics
- configuration (2017-08-02).
- * Networking: Add support for some packet radio IOCTL commands
- (2017-08-02).
- * b-l475e-iot01a: crude update to +CONFIG_BOARD_LOOPSPERMSEC. Not
- precise but on assertions no flashes at approximately the correct
- rate (2Hz) (2017-08-02).
- * Fix for stm32f746g-disco board for button support with interrupt.
- This change is tested with buttons app example and it is working with
- interrupts (signals). I tried the test with polling but at this point
- it doesn't work. From Ivan Ucherdzhiev (2017-08-02).
- * configs/stm32f746g-disco: Remove inclusion of STM32-specific header
- files from board.h (2017-08-02).
- * Spirit1 network driver: Remove extra clear of pending interrupts,
- could cause missing interrupts. Fix a deadlock. Also several other
- design improvements to eliminate corner cases (2017-08-03).
- * poll: fix poll for regular files and block devices. Open Group
- documentation says that poll (and select) support regular files and
- that 'Regular files shall always poll TRUE for reading and writing'.
- From Jussi Kivilinna (2017-08-03).
- * mm_mallinfo: do heap end debug assert check with heap semaphore held.
- From Jussi Kivilinna (2017-08-03).
- * Spirit1 network driver: Modify reg needs to toggle CS to get the
- correct status. Make sprit_unlock an inline function. Tx timeout
- should run on the HP work queue (2017-08-03).
- * Simulator: x86 stack needs to be aligned to 16-byte boundaries
- (2017-08-04).
- * drivers: handle I2C_TRANSFER return value consistently. Some I2C
- peripherals transfers return zero on success, others number of
- completed transfers. Make drivers robust against this. From Juha
- Niskanen (2017-08-04).
- * syslog: Add option to use the CLOCK_MONOTONIC for time stamping.
- From Jussi Kivilinna (2017-08-04).
- * RAMTRON: Add support for splitting block writes in chunks. Some
- Re-RAMs like MB85AS4MT have a write buffer size limitation. From
- Boris Astardzhiev (2017-08-04).
- * Spirit1 network driver: Correct setting of the length width field;
- Add multicast and broadcast addresses to radio properties. Convert
- network driver to use STack packets vs. Basic packets. We need to
- use the STack packets in order to provide the source address
- (2017-08-04).
- * tools/mkdeps.c: Eliminate a warning. MAX_PATH may already be defined
- in included system files. From Jeff (2017-08-04).
- * Spirit1 network drvier: Increase number of retries if there is no
- acknowledgement; Add interrupt handling for the case where the max
- number of retries expires. Fix some badly implemented queue
- management code. With these changes the basic UDP and TCP tests
- work. Enable AutoACK, TX retries, and RX timeouts in the network
- driver (2017-08-04).
- * B-L475E-IOT01A: Make spirit-6lowpan configuration match what is
- currently under test: Enable multicast, broadcast, but disable CRC
- support. Currently CRCs are not working right (2017-08-04).
- * b-l475e-iot01a: Add configurations to support a star topology
- (2017-08-05).
- * Spirit + 6LoWPAN: In STAR configuration, Spirit must use a
- configured well known hub address. 6LoWPAN cannot assume that the
- PAN coordinator is the STAR hub; it must ask the radio to provide it
- with the address of the star hub (2017-08-05).
- * IEEE 802.15.4 network driver: Fix more compile issues that only show
- up when CONFIG_NET_STARPOINT is defined (2017-08-05).
- * STM32F746-Disco: Add ADC3 support. From Ivan Ucherdzhiev
- (2017-08-05).
- * Spirit Network Driver: Attempts to eliminate RX FIFO errors. Reduce
- max packet length to avoid an errata. Reducing the packet length had
- no effect on eliminating RX FIFO errors. Add support for watermark
- interrupts on RX FIFO. Restructure threading to reduce locking.
- Still get a few RX FIFO errors (2017-08-06).
- * STM32F103-Minimum: Add support for SmartFS on Winbond W25 SPI NOR
- Flash. From Alan Carvalho de Assis (2017-08-06).
- * MTD: Add driver for Macronix QuadSPI flash memory. From Simon Piriou
- (2017-08-06).
- * b-l475e-iot01a: add basic support for external Macronix QuadSPI flash
- memory. From Simon Piriou (2017-08-06).
- * Spirit radio: Dropping packet size to 94 seems to fix problem with
- CRC failures (2017-08-06).
- * STM32F103-Minimum: (1) Enable CONFIG_MTD_PARTITION in Kconfig if
- flash partition is enabled and (2) Update the README.txt file with
- info needed to get SmartFS working. From Alan Carvalho de Assis
- (2017-08-06).
- * 6LoWPAN: When obtaining the radio MAC address from the IP address,
- handle the special case of broadcast and multicast address
- (2017-08-06).
- * Networking: Move INET socket interface out of net/sockets to its own
- directory net/inet (2017-08-06).
- * Spirit network driver: TX timeout was never being cancelled! Also
- reviewed and cleaned up all error handling logic (2017-08-06).
- * sched/: Fix return value in sched_setaffinity(). From Masayuki
- Ishikawa (2017-08-07).
- * Spirit bugfixes: Was hanging occasionally because there was no
- mechanism to restart the poll timer if poll was not performed because
- Spirit ws busy. Fixed by not checking if Spirit is busy. The TX
- poll can be performed asynchronouly while spirit is busy; any
- outgoing data will queued until Spirit is ready. Fixed handling of a
- timeout condition. Failure to transmition to the TX state would fail
- (timeout) if in a race condition Spirit already committed to the RX
- state. The driver needs to recover the state properly and avoid
- debug assertions in this event (2017-08-07).
- * STM32 USB: I'm working on bringing up USB full-speed support on
- STM32F405. My board does not include a USB power switch, VBus
- sensing, over current detection, or ID pin. This commit add a
- config STM32_OTGFS_VBUS_ CONTROL which lets us selectively disable
- VBus sensing and control. I also sneaked in a change to disable the
- configgpio call for the ID pin, which is only used in OTG mode which
- isn't supported yet. The only pins that need to be initialized
- should be OTGFS_DP and OTGFS_DM. These changes let a USB mouse
- enumerate on my platform if it's plugged in on power-up. Plugging,
- unplugging, clicking, or moving the mouse cause NSH to stop
- responding. Because I'm using the ramlog, I don't have useful debug
- messaging yet, so there's a lot more work I have to do to
- troubleshoot it or get my JTAG debugging set up, but these patches
- shouldn't hurt anything. I'm hoping my issue is something simple I
- overlooked in configuration. From Jeff (2017-08-07).
- * I discovered while working on the SAMV7 mcan driver that the
- implementation of the CAN error handling is suboptimal. In the
- current implementation the many errors are implemented as pending
- errors. But those errors are not pending, the errors occurred and
- are gone directly afterwards. This commit changes the described
- behavior and simplifies the handling of CAN errors. From Stefan Kolb
- (2017-08-07).
- * IPv6: Remove comparisons to the address with all ones set. IPv6
- does not support broadcast addresses and certainly not in that form.
- Replace with multicast addresses beginning with 0xff02 (2017-08-07).
- * ICMPv6: Support source link-layer address option in RA. From
- Masayuki Ishikawa (2017-08-08).
- * libm: Port gamma() and lgamma() from FreeBSD to NuttX. From Alan
- Carvalho de Assis (2017-08-08).
- * B-L475-IOT01A: Enable UDP broadcast test in the spirit-starhub
- configuration (2017-08-08).
- * Spirit Radio: Add support for CSMA backoff count reached interrupt
- (2017-08-08).
- * STM32F4-Discovery: Add a configuration for testing libc++. From
- Alan Carvalho de Assis (2017-08-08).
- * Remove CONFIG_NET_MULTILINK. This increases code size by a little,
- but greatly reduces the complexity of the network code (2017-08-08).
- * Networking: Fix netdev_dev_lladdrsize(). In some configurations, it
- could return the wrong size for the address of a packet radio
- (2017-08-08).
- * Fix IPv6 loopback driver that depended on the removed
- g_ipv6_allonesaddr. Noted by Masayuki Ishikawa (2017-08-09).
- * Networking: Fix typo for 802.11 devices in netdev_register(). Was
- being masked before because depended on CONFIG_NET_MULTLINK
- (2017-08-09).
- * Networking: Fix a compilation issue with
- CONFIG_NET_ICMPv6_AUTOCONF=y. From Masayuki Ishikawa (2017-08-09).
- * Update NSH documentation to show new usage for addroute and delroute
- (2017-08-10).
- * cwchar: Use CONFIG_LIBC_WCHAR to only export the wc/mb functions.
- When a build does not want to use wide or multibyte char
- CONFIG_LIBC_WCHAR is not set. Therefore we should to only export the
- wc/mb functions when defined. Regardless of the stat of
- CONFIG_LIBC_WCHAR the non mb/wc definitions such as mbstate_t,
- wint_t, wctype_t need to be exported. From David Sidrane
- (2017-08-10).
- * inet_ntop: Was printing negative values for fields >127
- (2017-08-11).
- * procfs: Add support for routing tables at proc/net/route
- (2017-08-11).
- * Unify GCC/Clang config. From Goran Mekić (2017-08-12).
- * procfs routing table: Don't print the IPv4 routing table header if
- the table is empty. Fix a couple of places where CONFIG_NET_IPv4 was
- used wehre IPv6 was intended (not noticed now because I am testing
- with both enabled) (2017-08-12).
- * C++: Compilation with recent C++ compiler needs an overloaded delete
- operator that includes a size_t size argument (2017-08-12).
- * ARM: The older ARM7 and ARM9 configurations were determining CFLAGS
- based on the GCC version 4.x.x or not. That needx to be extended for
- 5.x.x and 6.x.x which also behave like 4.x.x (2017-08-12).
- * STM32F7: Some STM32F7 builds failed in build testing due to undefined
- STM32_SRAM1_BASE. I think that is because stm32_allocateheap.c was
- not including chip/stm32_memorymap.h (2017-08-13).
- * Fix ESP32 gpio enable reg and default UART pin. Modify default uart
- pin for ESP-WROOM-32. Fix gpio enable reg. From Sungki Kim
- (2017-08-13).
- * stm32/stm32f0: Fix some funny shifts in DAC header files. From Juha
- Niskanen (2017-08-14).
- * STM32L4 COMP: Input minus pin extended selection. From Juha
- Niskanen (2017-08-14).
- * STM32L4 DAC: Port from STM32. Add ADC register definitions. Note
- that this does not address the somewhat confusing relation between
- STM32L4_NDACS and DAC2 config macros that comes from original STM32
- code. From Juha Niskanen (2017-08-14).
- * libxx: New sized delete operators are only for C++14 and above
- (2017-08-14).
- * Miscellaneous fixes from astyle tool. Noted by Arjun Hary
- (2017-08-14).
- * SAMv71-XULT: Fix MRF24J40 interrupt GPIO number (2017-08-15).
- * Clicker2: Configure EDBG SPI CS just to make that it is disabled
- (2017-08-15).
- * STM32L476VG Discovery: Add a knsh configuration that may be used to
- test the PROTECTED build mode (2017-08-17).
- * stm32f7:DMA correct comments and document stm32_dmacapable. Updated
- comment to proper refernce manual for STM32F7 not STM32F4. Added
- stm32_dmacapable input paramaters documentation. From David Sidrane
- (2017-08-17).
- * STM32 F7: DMA add dcache alignment check in stm32_dmacapable. In the
- case dcache write-buffed mode is used (not write-through) buffer
- alignment is required for DMA transfers because a)
- arch_invalidate_dcache could lose buffered writes data and b)
- arch_flush_dcache could corrupt adjacent memory if the maddr and the
- mend+1, the next next address are not on ARMV7M_DCACHE_LINESIZE
- boundaries. From David Sidrane (2017-08-17).
- * STM32 F7: SDMMC remove widebus limitation on DMA. There is no
- documantation for the STM32F7 that limits DMA on 1 bit vrs 4 bit
- mode. From David Sidrane (2017-08-17).
- * dcache write-buffed mode is used (not write-through) buffer alignment
- is required for DMA transfers because a) arch_invalidate_dcache could
- lose buffered writes data and b) arch_flush_dcache could corrupt
- adjacent memory if the buffer and the bufflen, are not on
- ARMV7M_DCACHE_LINESIZE boundaries. From David Sidrane (2017-08-17).
- * STM32 F7: SDMMC add dcache alignment check in dma{recv|send}setup.
- In the case where CONFIG_SDIO_PREFLIGHT is not used.
- * drivers/sensors: Add support to HC-SR04 distance sensor. From Alan
- Carvalho de Assis (2017-08-17).
- * PF_IEEE802154 address family: With this commit PF_IEEE802154 address
- family is basically functional. More testing is needed, of course:
- Finishes up socket interfaces connect() sendto(), recvfrom(), and
- bind() logic. Special initialization, device lookup, driver poll,
- and frame input logic. Add configs/sim configuration for testing
- (2017-08-19).
- * STM32 COMP: add default INM configuration and some missing
- COMP1,3,5,7 code. From Mateusz Szafoni (2017-08-20).
- * 6LoWPAN/PF_IEEE802154: Created radiodev.h and renamed various
- structures to provide a better separation between 6LoWPAN networking
- and PF_IEEE802154 address family (2017-08-20).
- * STM32 DAC: fix some configuration logic. When STM32_NDAC is greather
- than 1, then second channel is always DAC1OUT2. From Mateusz Szafoni
- (2017-08-20).
- * PF_IEEE802154 address family: IEEE 802.15.4 network device: Make
- same changes as per loopback device so that it will build with
- PF_IEEE802154 but without 6LoWPAN. More fixes to device registration
- and to IEEE 802.15.4 loopback driver for PF_IEEE802154 without
- 6LoWPAN. Changes to conditional compilation so that PF_IEEE802154
- can build without 6LoWPAN (2017-08-20).
- * drivers/net/tun.c: Currently cannot support TAP mode unless Ethenet
- is enabled (2017-08-20).
- * PktRadio loopback driver: Fix compile problem by removing
- inappropriate const storage class (2017-08-20).
- * Networking: Remove driver based backlog support. This affects the
- entire network, but is used by only one driver. The only supported
- RX backlog is now via common read-ahead buffering (2017-08-21).
- * PF_IEEE802154 socket family: (1) Improve some backlog counting
- logic; add more assertions to catch cases where the backlog count
- might deviate from the actual backlog. (2) Add a maximum backlog
- option. This will prevent overrun of the RX frame queue if many
- frames are received from the radio, but no application is receiving
- the queued data. (3) On input, there may be a list of frames
- provided, not just one. When closed() and connection is freed, also
- need to free any frames remaining in the RX queue (2017-08-21).
- * Network procfs: Add support for network procfs statistics when
- nothing is enabled but PF_IEEE802154 (2017-08-21).
- * STM32 DAC: Add support for HRTIM triggering. Separate dma buffer
- configuration for channels. From Mateusz Szafoni (2017-08-21).
- * ENCX24J600: Fix some warnings. Update interface to use newer
- parameter passing to interrupt handlers (2017-08-21).
- * ENC28J60: Update interface to use newer parameter passing to
- interrupt handlers (2017-08-21).
- * drivers/analog/comp: add poll support. From Pekka Ervasti
- (2017-08-22).
- * STM32L4 COMP: Bind to upper half comp driver. From Pekka Ervasti
- (2017-08-22).
- * STM32L4 ADC: correct EXTSEL macros. From Juha Niskanen
- (2017-08-22).
- * drivers/lcd: ssd1306: (1) Separate lcd_dev_s setup to separate
- object. g_oleddev takes 1 KiB because framebuffer and was allocated
- to .data section because of lcd_dev_s function pointer setup. Move
- lcd_dev_s setup out, so that g_oleddev goes to .bss and avoid wasting
- ROM. (2) Fix memory corruption caused by ssd1306_getrun().
- ssd1306_getrun was writing one extra byte (with value 0) past target
- buffer when pixlen is multiple of 8. When pixlen was not multiple of
- 8, last byte of buffer was fully cleared, instead of modifying only
- the (pixlen % 8) bits of last byte. (3) Add support for board power
- control. ThingseeOne has regulator for controlling display power
- on/off. Patch adds support for board based power control to SSD1306
- driver. (4) Add DD-12864WO-4A/SSD1309 support to SSD1306 driver.
- From Jussi Kivilinna (2017-08-22).
- * Network procfs: procfs/net_procfs_route.c building error occur if
- CONFIG_NET_ROUTE is enabled. Fix suggested by Aleksandr Kazantsev
- (2017-08-22).
- * Networking: Fix ompile error if Unix domain sockets selected
- (2017-08-23).
- * STM32L4 TIM: TIM15,16,17 are always in APB2. From Juha Niskanen
- (2017-08-25).
- * STM32L4 DAC: report transfer as completed in DMA callback. Without
- this even O_NONBLOCK writes block the calling task if DAC was using
- DMA. From Juha Niskanen (2017-08-25).
- * STM32L4 COMP: comparators share RCC enable bit with SYSCFG. From
- Juha Niskanen (2017-08-25).
- * power: add driver for TI bq2429x battery charger. TODO: Untested.
- Does not have poll() support. From Juha Niskanen (2017-08-25).
- * 6LoWPAN: The original, Contiki-based design used only a single
- buffer for reassemblying larger packets. This could be a problem
- issue for hub configurations which really need the capability
- concurrently reassemble multiple incoming streams concurrently.
- These was also a design issue in that the reassembly buffer could be
- corrupted by outgoing packets. The design was extended to support
- multiple reassembly buffers, each associated with the reassembly tag
- and source address. This assures that there can be be no corruption
- of the reassembly once it has started (2017-08-26).
- * Simulator: Adds necessary functionality to build Simulator under ARM
- Linux. Tested only on Raspberry3. Currently setjmp/longjmp do not
- save/restore floating point registers. From Nickolay Semyonov
- (2017-08-26).
- * fs: FS_AUTOMOUNTER should depend on SCHED_LPWORK. From Nickolay
- Semyonov (2017-08-26).
- * configs/lc823450-xgevk: Add eMMC/SD and USB support. From Masayuki
- Ishikawa (2017-08-27).
- * LC823450: eMMC/SD and USB support for LC823450. From Masayuki
- Ishikawa (2017-08-27).
- * drivers/analog/comp.c: Fix compilation errors when poll disabled.
- From Mateusz Szafoni (2017-08-27).
- * stm32_dac.c: conditional logic for timer triggering, fix TSEL
- configuration when HRTIM, DMA request remapping, Add DMA buffers
- initialization logic. From Mateusz Szafoni (2017-08-27).
- * STM32 HRTIM: Fix DAC triggers configuration, Add missing master timer
- logic, enable DAC triggering. From Mateusz Szafoni (2017-08-27).
- * STM32F33: missing SYSCFG CFGR3 definitions. From Mateusz Szafoni
- (2017-08-27).
- * STM32 DAC: support external triggering for DMA transfer. From
- Mateusz Szafoni (2017-08-27).
- * ARM: Add support for STM32F433RC. From Alan Carvalho de Assis
- (2017-08-27).
- * STM32L4 RCC: Enable ADC clock source. From Juha Niskanen
- (2017-08-28).
- * drivers: analog: adc: Add poll support. From Juha Niskanen
- (2017-08-28).
- * STM32, STM32L4, STM32F7 ADC: fix channel 18 sample time. Frpm Juha
- Niskanen (2017-08-28).
- * STM32L4 ADC: implement peripheral. From Juha Niskanen (2017-08-28).
- * work_queue() must cancel existing work prior to queuing new work,
- otherwise the work queue list structure can become corrupted.
- Problem noted by Pascal Speck (2017-08-28).
- * STM32 HRTIM: Add DMA configuration. From Mateusz Szafoni
- (2017-08-28).
- * Networking: Move TCP specific files from inet/ to tcp/. There is
- another TCP-specific logic in inet/ that should be moved sometime,
- but those are more entangled (2017-08-29).
- * Networking: TCP disconnection callbacks are not retained in a list.
- This will support mutiple callbacks per lower-level TCP connection
- structure. That is necessary for the cae where a socket is dup'ed
- and shares the same lower-level connection structure. NOTE: There
- still needs to be a call to tcp_start_monitor() when the socket is
- dup'ed (2017-08-29).
- * Networking: Start the network monitor for a socket when a TCP socket
- is dup'ed (2017-08-29).
- * Networking: A placeholder for some missing logic in the previous
- change related to monitoring network status for dup'ed sockets. If
- one of the dup'ed socket's is closed, then network monitor resources
- associated with that one socket must be recovered. Also, in the
- event that socket is being used on one thread, but then closed on
- another, any threads waiting for events from the socket should be
- informed of the closure. That latter requirement is not implemented
- because current data structures do not support it (2017-08-29).
- * Networking: Clean up some naming that has bothered me for a long
- time... There are no interrupts and no interrupt handlers in the
- network. There are events and event handler (there used to to be
- interrupt logic in there years ago but that is long, long gone)
- (2017-08-29).
- * configs: update STM32L4 configs for ADC changes. From Juha Niskanen
- (2017-08-30).
- * configs: update STM32L4 configs for ADC changes. From Juha Niskanen
- (2017-08-30).
- * Porting Guide: Add usage tip for reading CAN messages from the CAN
- driver without losing message (2017-08-30).
- * Networking: socket dup() conditional operation was missing the test
- for the condition (2017-08-30).
- * ARMv7-M syscall logic: Clear bit 0 in PC settings. Bit 0 is the
- thumb mode indication and should not be set in the PC. This extra
- bit has not caused problems in the past, but seeing it set in the PC
- is unnerving (2017-08-30).
- * Networking: Fix a race condition. The accept() operation is
- performed with the network locked. However, the network is unlocked
- BEFORE the connected state is set. Therefore, a context switch may
- occur and the socket may no longer be connected when it is marked so.
- Noted by Pascal Speck (2017-08-31).
- * Work queue: In a recent change for a problem noted by Pascal Speck,
- it was noted (again by Pascal Speck) that the cancellation of
- existing work and replacement with new work must be atomic. Thanks,
- Pascal (2017-08-31).
- * LPC43xx: Modify up_allocate_(k)heap() to support PROTECTED mode.
- From Alan Carvalho de Assis (2017-08-31).
- * STM32 Timer: Add the set counter function for stm32 timers. From
- Sergey Ustinov (2017-08-31).
- * configs/Bambino: Add protected mode configuration to Bambino board.
- From Alan Carvalho de Assis (2017-08-31).
- * STM32L4 DAC: add option for routing DAC output to ADC. Actually
- write something to the DAC DMA buffer. From Juha Niskanen
- (2017-08-29).
- * STM32L4 DAC: separate DMA buffer configuration for channels. From
- Juha Niskanen (2017-08-29).
- * STM32L4 DAC: Fix naming so that DAC1 and DAC2 always refer to
- channels 1 and 2. User should not be bothered by details like how
- many IP blocks there are. As no current STM32L4 has second DAC block
- (channel 3), remove support for such hypothetical hardware. DMA
- channels corrected. From Juha Niskanen (2017-09-01).
- * configs/nucleo-l496zg: add DAC and missing TIM frequencies. From
- Juha Niskanen (2017-09-01).
- * Networking: net_timedwait() and net_lockedwait() no longer return
- errors via errno but returned negated errno values like other
- internal OS functions (2017-09-01).
- * Networking: Fix net_lock returning ERROR when instead of real error
- code on failure. From Jussi Kivilinna (2017-09-01).
- * net/local: Fix server lc_waitsem overflow. From Jussi Kivilinna
- (2017-09-01).
- * drivers/bch: Add poll support. From Jussi Kivilinna (2017-09-01).
- * STM32 F7: do not enable read-modify-write on DTCM. "AN 4667 -
- STM32F7 Series system architecture and performance" recommends to
- disable read-modify-write on DTCM: "If the DTCM-RAM is used as data
- location and the variables used are byte or/and halfword types, since
- there is no ECC management in this RAM on the STM32F7 Series, it is
- recommended to disable the read-modify-write of the DTCM-RAM in the
- DTCM interface (inthe DTCMCR register) to increase the performance."
- From Jussi Kivilinna (2017-09-01).
- * Networking: IGMP: Remove special support for interrupt level
- processing (there is none) and fix some timer cancellation logic. In
- many files, correct comments. There is no interrupt level processing
- in the networking layer (2017-09-02).
- * stm32_dac.c: fix compilation when DMA disabled for channel. From
- Mateusz Szafoni (2017-09-02).
- * Extend the RTC framework with an alarm read ioctl (RTC_RD_ALARM).
- Through it consumer could get configuration settings about previously
- scheduled hardware alarms (active status, hours, minutes, seconds).
- From Boris Astardzhiev (2017-09-03).
- * STM32 F7: Port Boris Astardzhiev's RTC change for STM32L4 to STM32F7
- (2017-09-03).
- * STM32: Port Boris Astardzhiev's RTC change for STM32L4 to STM32
- (2017-09-03).
- * Kinetis: Unverified implementation of the alarm read function.
- Pretty simple because the Kinetis RTC is just a 1Hz counter
- (2017-09-03).
- * STM32 HRTIM: add burst mode configuration, rename some definitions.
- From Mateusz Szafoni (2017-09-03).
- * Update net_timedwait() and net_lockedwait() call sites to handle
- negated errno in return value. From Jussi Kivilinna (2017-09-04).
- * stm32f7: Add new configuration option for enabling flash ART
- Accelerator and flash prefetcher. From Jussi Kivilinna
- (2017-09-04).
- * Simulation: Fix building 32-bit simulation on 32-bit X86. From
- Jussi Kivilinna (2017-09-04).
- * waitpid(): Corrects two problems when
- CONFIG_SCHED_HAVE_PARENT+CONFIG_SCHED_CHILD_STATUS are enabled: (1)
- Was erroring out if the waited for task had already exited, and (2)
- was not freeing resources when a wait was completed. From Boris
- Astardzhiev (2017-09-04).
- 7.23 2017-12-04 Gregory Nutt <gnutt@nuttx.org>
- * STM32L4: ADC, Kconfig small changes:
- - STM32L4 ADC: port analog watchdog ioctls from the Motorola MDK
- - STM32L4: Kconfig: add some L486 and L496 chips, remove duplicates
- From Juha Niskanen (2017-09-06).
- * 6LoWPAN: Correct an error in uncompressing multicast address
- (2017-09-08).
- * sem_open() should return SEM_FAILED on any failures. This is change
- in the POSIX specification since the original sem_open() was written
- so many years ago (2017-09-08).
- * STM32: Add logic for enabling wakeup pins. From Oleg Evseev
- (2017-09-08).
- * Update/fix last commit: On some STM32's, the CSR regiser is 18 vs. 16
- bits wide. Need to use 32-bit register accesses (2017-09-08).
- * 6LoWPAN: I believe, based on RFC review, that with the last multicast
- change, the NuttX 6LoWPAN is now compliant with RFC 6282 (2017-09-08).
- * arch/arm/Kconfig: Add more classic ARM11 architecture selections
- (2017-09-09).
- * 6LoWPAN/Radio: Rename radio property sp_pktlen to sp_framelen. Add
- 6LoWPAN utility to get the max frame length (not yet hooked in)
- (2017-09-10).
- * 6LoWPAN: Remove the option to disable fragmentation support. Two
- reasons: (1) First fragementation is always required because IPv6
- requires an MTU of 1280 bytes. The is no application use case that can
- work without fragmentation support. And (2) it greatly reduces the
- complexity of the code (2017-09-10).
- * net/sixlowpan: Remove CONFIG_NET_6LOWPAN_FRAMELEN. In this case where
- multiple radios are supported, this may not be a constant. 6LoWPAN now
- always queries the driver to get the maximum frame length (2017-09-10).
- * drivers/smps.c: fix error messages. From Mateusz Szafoni (2017-09-10).
- * configs/stm32f334-disco: beginning of lower half driver for high power
- LED (powerled). From Mateusz Szafoni (2017-09-10).
- * Misc STM32 fixes
- - stm32f33xxx_hrtim.h: fix definition
- - stm32_hrtim: fix pclk calculation
- - stm32_hrtim.c: cosmetics
- - add upper-half driver for high power LED driver (powerled)
- From Mateusz Szafoni (2017-09-10).
- * drivers/video/fb.c: Add framebuffer character device (2017-09-11).
- * drivers/video/fb.c: Add support for LCD drivers that use a simulated
- framebuffer and must receive explicit notification when there is an
- update to a region in the framebuffer (2017-09-11).
- * configs/lc823450-xgevk: Enable ADC and watchdog driver. From Masayuki
- Ishikawa (2017-09-12).
- * arch/arm/src/lc823450: Conform to the NuttX coding style, merge the
- latest fix in lc823450_rtc.c, add ADC driver, add watchdog driver. From
- Masayuki Ishikawa (2017-09-12).
- * net/sock: recvfrom: Fix double leave_cancellation_point on error
- path. From Jussi Kivilinna (2017-09-12).
- * net/socket: Do not enter cancellation point in psock_send() as this
- is already done in send(). From Jussi Kivilinna (2017-09-12).
- * net/socket: send: verify that sockfd is valid, fixes assert when using
- send on closed socket. From Jussi Kivilinna (2017-09-12).
- * drivers/video/fb.c and include/nuttx/video.fb.h: Some improvements
- and fixes from early testing sith the sim/fb cnofiguration (2017-09-12).
- * sim/configs/fb: Add a configuration for non-graphical testing of the
- frambuffer character driver using apps/example/fb (2017-09-12).
- * Rename CONFIG_VIDEO_DEVICES to CONFIG_DRIVERS_VIDEO to conform better
- to the evolving configuration naming standard (2017-09-12).
- * Rename CONFIG_AUDIO_DEVICES to CONFIG_DRIVERS_AUDIO to conform better
- to the evolving configuration naming standard (2017-09-12).
- * stm32: stm32 alt I2C ensure proper error handling. Injecting data
- errors would cause the driver to continually reenter the isr with BERR
- an RxNE. This fix allows the error to be cleared and propagated to the
- waiting task. From David Sidrane (2017-09-12).
- * stm32x i2c fixes, stm32: Fix coding standard error, stm32f7 I2C: fixed
- typo in comment. From David Sidrane (2017-09-13).
- * STM32 Tickless: Fixes compilation error when timer info/debug messages
- are enabled. From Rajan Gill (2017-09-13).
- * net/: Fix some errors found by Coverity.
- * STM32/STM32 F7: Fix some errors found by Coverity (2017-09-13).
- * drivers/video/fb.c: File offset is in units of bytes, not pixels
- (2017-09-14).
- * drivers/lis3dsh.c: Added the argument parameter (FAR void *arg) to
- the interrupt handler provided by the LIS3DSH driver to fit the
- definition for ISRs in xcpt_t. Changed the check for working queue
- availability in lis3dsh interrupt handler to use work_available() and
- not crash in case of an overrun. From Florian Olbrich (2017-09-14).
- * configs/stm32f4discover: Added initialization code and Kconfig entries
- to set up the LIS3DSH accelerometer driver on STM32F4Discovery rev. C
- boards and attach the associated interrupt callback. From Florian
- Olbrich (2017-09-14).
- * Added initialization code and Kconfig entries for LIS3DSH
- accelerometer on STM32F4Discovery + associated changes to LIS3DSH
- driver. From Florian Olbrich (2017-09-14).
- * LPC31xx: Change naming of some global variables to match coding
- standard (2017-09-14).
- * wireless/ieee802154/: Moves MAC802154IOC from ieee802154_ioctl.h and
- renames ieee802154_ioctl.h to ieee802154_device.h since it only contains
- types relevant to the MAC char device now. From Anthony Merlino
- (2017-09-15).
- * wireless/ieee802154: Adds support for receiving MAC events via IOCTL
- through socket interface. Other small fixes and cleanup. From Anthony
- Merlino (2017-09-15).
- * drivers/wireless: Adds XBee S2C (802.15.4 firmware) support. XBee
- driver emulates mac802154 interface. From Anthony Merlino (2017-09-15).
- * sched/waitpid.c: Eliminate a warning detected by GCC 6 (2017-09-15).
- * drivers/xbee: Fixes a few warnings
- - drivers/xbee: Fixes a few warnings
- - configs/clicker2-stm32: Updates sections about i8sak usage in the
- README
- From Anthony Merlino (2017-09-15).
- * STM32 Tickless: The attached patch removes the restriction to 16bit
- counts when a 32bit timer is used for the new tickless on the stm32. As
- it is now, the restriction is very limiting, especially if one wants
- high granularity and large achievable intervals and has the hardware
- (namely the 32bit timers) available. From Rajan Gill (2017-09-16).
- * configs/open1788: Initialization now follows the pattern of other
- boards. Add initialization of fb driver. Add a configuration for
- testing the framebuffer driver (2017-09-16).
- * drivers/video: fb driver now clears framebuffer initially. Eliminates
- (or minimizes) initial garbage on the display (2017-09-16).
- * SAMV71-XULT: Add support for fb_driver (2017-09-17).
- * drivers/lcd: Add suppose for a generic front-end that will convert
- any LCD driver into a framebuffer driver (2017-09-17).
- * SAMv71-XULT: Add a configuration to test the LCD framebuffer driver.
- Not quite yet working properly (2017-09-17).
- * configs/stm3210e-eval: Rename stm32_appinit.c to stm32_bringup.c so
- that the start up logic is compatible with other, new boards. Bring in
- new stm32_appinit.c, add board_initialize(), add support for FB
- character driver (2017-09-17).
- * configs/stm3240g-eval: Rename stm32_appinit.c to stm32_bringup.c to
- better match other architectures. Replace the old-style stm32_appinit.c
- with tne new one from the STM32F4-Discovery. Add a configuration for
- testing the FB character driver at drivers/video/fb.c using the LCD
- frame driver front end at drivers/lcd/lcd_framebuffer.c. Appears to be
- fully functional (2017-09-17).
- * netinet/in.h: Add missing IN6_IS_ADDR_V4COMPAT macro (2017-09-18).
- * configs/stm32f4discovery: Update README. Add summary of differences
- with the newest STM32F407G-DISC1 part. Remove a lot of old discussion
- that is really no longer helpful (2017-09-18).
- * Networking: sockgetname() files need to include udp/udp.h and
- tcp/tcp.h or otherwise NET_UDP_HAVE_STACK and NET_TCP_HAVE_STACK are
- undefined and the logic is never compiled. Noted by Anthony Merlino
- (2017-09-18).
- * Add driver for APA102 LED controller. These LEDs are used on LED
- Strips and are controlled over SPI (2017-09-18).
- * configs/stm32f103-minimum: Add board support for APA102 driver. From
- Alan Carvalho de Assis (2017-09-18).
- * sched/env_dup.c: Fix an error in the duplication of the child tasks
- environment in the special case where the parent's environment was
- created, but then all of the variables were unset. In that case, there
- is still an allocation in place but the size of the allocation is zero.
- This case was not being handled correctly when a child task attempts to
- create its environment and inherit the zero-size partent environment.
- Noted by Anthony Merlino (2017-09-18).
- * STM32L4 DFSDM: add peripheral, DAC, TIM: small changes
- - STM32L4 DAC: do not configure output pin if it is not used
- - STM32L4 TIM: fix compilation of timers with complementary outputs
- when not PWM_MULTICHAN
- - STM32L4 DFSDM: peripheral for digital filters for sigma-delta ADCs
- Initial version. Timer trigger support is not completed and there is
- some issue with DMA.
- From Juha Niskanen (2017-09-19).
- * stm3240g-eval: Remove some bad conditional compilation (2017-09-19).
- * Networking: IPv4 getsockname(): Fix a typo that can cause a compile
- error (2017-09-19).
- * viewtool-stm32f107: Enable NSH arch-specific initialization. Rename
- stm32_appinit.c to stm32_bringup.c for consistency with other boards.
- Replace old stm32_appinit.c (now stm32_bringup.c) with 'standard'
- stm32_appinit.c from the STM32F4-Discovery. Add CONFIG_BOARD_INITIALIZE
- logic to stm32_boot.c. Add support to auto-mount the procfs file system
- (2017-09-19).
- * Networking: Add implementation of logic for SIOCGIFCONF and
- SIOCGLIFCOF IOCTL commnds (2017-09-19).
- * Networking: drivers/net/loopback.c: Eliminate a warning.
- net/netdev/netdev_ifconfig.c: Was not returning all of the address info
- (2017-09-19).
- * STM32L4 ADC, DFSDM: add routing of ADC data to DFSDM filters. From
- Juha Niskanen
- - configs/nucleo-l496zg: add DFSDM initialization
- - STM32L4 ADC: add option for routing ADC data to DFSDM, fix DFSDM
- DMA (2017-09-20).
- * SIOCGIFCONF and SIOCGLIFCONF IOCTL commands should only report on
- network adatpors in the UP state (2017-09-20).
- * In some cases, packets are still not sent behind the router. I found
- that NuttX sends the ARP requests not to the router but to the target.
- Mistake in file net/route/netdev_router.c. From Aleksandr Kazantsev
- (2017-09-20).
- * stm32: stm32f40xxx I2C ensure proper isr handling. Injecting data
- errors that causes a STOP to be perceived by the driver, will
- continually re-enter the isr with SB not set and BTF
- and RxNE set. This changes allows the interrupts to be cleared and
- propagates a I2C_SR1_TIMEOUT to the waiting task. From David Sidrane
- (2017-09-21).
- * include/nuttx/net/net.h: Add missing semicolon in prototype. Fixes
- error in certain combinations of configuration options. From Pavel Pisa
- (2017-09-21).
- * drivers/pipes: pipe_common: Fix writing large buffers not triggering
- POLLIN for reader poll. From Jussi Kivilinna (2017-09-21).
- * drivers/usbdev: Add support for RX flow control to the CDC/ACM driver
- (2017-09-22).
- * STM32 Serial: Fix some incorrect conditional compilation (2017-09-23).
- * drivers/usbdev: Add support for flow control TERMIOs in CDC/ACM
- driver (2017-09-23).
- * drivers/usbdev: CDC/ACM should reset all 'irregular' notifications to
- zero after sending the SerialState packet (2017-09-23).
- * drivers/usbdev: Fix some bad conditional logic (2017-09-23).
- * Fixes several errors preventing icmpv6_radvertise.c from being
- compiled. Fixes conversions to network byte order (namely vlifetime,
- plifetime, mtu). IPv6 source address is set to link-local IP address
- instead of the address in the netdev structure. This is in compliance to
- RFC 4861. RA didn't work on Linux before this change. Finally, router
- prefix and prefix length are derived from the IPv6 address and netmask
- in the netdev structure. This seems to make more sense than using a
- predefined, separate prefix from the config. From Sakari Kapanen
- (2017-09-24).
- * drivers/usbdev/usbdev: Add RNDIS-over-USB driver. From Sakari Kapanen
- (2017-09-24).
- * net/igmp/igmp_send.c: Fix incoming IGMP checksum calculation. From
- Louis Mayencourt (2017-09-25).
- * Fixes for problems found by Coverity in the nuttx repository:
- - net/socket/recvfrom.c: Check fromlen integrity before using it.
- - net/socket/net_sockets.c: Always check for valid psock before using.
- - net/tcp/tcp_send_unbuffered.c: Avoid using psock beforing
- checking its integrity.
- - sched/timer/timer_create.c: Fix watchdog resource leak if cannot
- allocate a new timer.
- From Bruno Herrera (2017-09-25).
- * drivers/usbdev/Kconfig: Add comments in regard to RNDIS selection
- (2017-09-25).
- * configs/nucleo-f410rb: Add support for the nucleo-F410RB board. From
- Gwenhael Goavec-Merou (2017-09-25).
- * STM32 L4: Add SDMMC driver. From Miha Vrhovnik (2017-09-26).
- * Nucleo-L496ZG: Add support for SDMMC driver. From Miha Vrhovnik
- (2017-09-26).
- * drivers/usbdev/cdcacm.c: Avoid using priv before checking its
- validity. From Juha Niskanen (2017-09-26).
- * drivers/usbdev/cdcacm.c: Change design for queuing RX packets that
- cannot be processed. Previous design had a logic problem that could
- cause data loss (2017-09-26).
- * drivers/usbdev/cdcacm.c: Add a failsafe time to assure that the RX
- pending queue cannot stall indefinitely. I can imagine a corner case
- where the serial driver's RX buffer is full and it stops accepting data
- and where all of the read requests are queued and there is not event to
- restart RX processing. I am not sure that that scenario can really
- happen, but the failsafe timer gives me peace of mind (2017-09-26).
- * Build break fix: define PWM_TIM2_CH1CFG for channel 1 PWM. From
- Tomasz Wozniak (2017-09-26).
- * Fixed directory unlocking in tmpfs_opendir. From Dmitriy Linikov
- (2017-09-27).
- * drivers/usbdev/cdcacm.c: Add some missing logic when flow control is
- disabled. Also make sure that the flowcontrol and rxint can handle
- being re-entered when cdcacm_release_rxpending() is called (2017-09-27).
- * drivers/usbdev/cdcacm.c: Fix confusion between flow control being
- enabled and being active. Different things (2017-09-27).
- * drivers/usbdev/cdcacm.c: Change ordering of some operations to avoid
- races; Add missing uppder watermark logic that is normally in
- serial_io.c but must be duplicated in cdcacm.c (2017-09-27).
- * net/route: Permit IPv4 and IPv6 routing tables to be of different
- sizes (2017-09-27).
- * ROMFS for STM32F4 Discovery board. From Tomasz Wozniak (2017-09-28).
- * STM32 PWR: Adds stm32_pwr_getsbf and stm32_pwr_getwuf functions that
- return the standby flag and the wakeup flag PWR power control/status
- register. From Oleg Evseev (2017-09-28).
- * net/arp/arp_out.c: Fix IGMP Ethernet address computation. From Louis
- Mayencourt (2017-09-28).
- * net/route: Adds support for read-only routing tables. Prior to this
- change, routing tables were only support in RAM and had to be
- initialized with explicit logic to add the necessary routes to the
- routing table. With this change, routes may be defined in the
- pre-initialized, read-only routing table provided by the board-specific
- logic
- This would be particularly useful, for example, in the case where
- there is only a single network adaptor and you want all output packets
- to go to the single adaptor in all cases. So for that behavior you
- could add a read-only routing table to the board-specific long that
- contains a single entry, the default route: 0.0.0.0/0 (2017-09-28).
- * fs/vfs: file_seek() is an internal OS interface and should not errors
- via the errno (2017-09-28).
- * fs/vfs: file_read() is an internal OS interface and should not errors
- via the errno (2017-09-28).
- * fs/vfs: file_write() and file_pwrite() are internal OS interfaces and
- should not report errors via the errno (2017-09-28).
- * STM32L4 FLASH, DFSDM: option bytes, JEXTSEL bits, ADC1 output to DFSDM
- chips change
- - STM32L4 FLASH: add function for modifying device option bytes
- - STM32L4 DFSDM: add JEXTSEL bits, ADC1 output to DFSDM chips change
- ST's documentation hints that ADC output can be routed to DFSDM on
- some STM32L4X3 chips, but I got confirmation from tech support that
- this is just a documentation error so remove this from Kconfig
- From Juha Niskanen (2017-09-29).
- * This commit adds support for routing tables in files in a file
- system. This might be useful for customized, per-unit routing tables.
- There are two issues with it however:
- 1. Reading from file system on a per packet basis could be slow. I
- think it probably should have a small, in-memory cache of most
- frequently used routes for good problem.
- 2. Currently the delroute logic is disabled due to a problem with
- the design. NuttX does not currently support truncate().
- Therefore, it is not possible to delete entries from the routing
- table file.
- In this current implementation, that leaves the last entry intact at
- the end of the file. An alternative design might include a tag on
- each record to indicate if the record is valid or not. That would
- work but would add complexity to the other routing table functions
- (2017-09-29).
- * net/route: Add support for an in-memory routing table cache in order
- to improve performance when the routing table is retained in a file.
- The cache holds the most recently used routing table entries and so can
- eliminate some file access. Flush the in-memory cache when any entry is
- deleted from the routing table. When a router matching an IP address is
- found, add the routing table entry to the cache (2017-09-29).
- * fs/vfs: null check for path on open and buf on write. Null path
- check is depend on CONFIG_DEBUG_FEATURES and CONFIG_DEBUG_ASSERTIONS,
- added null checking so it's always performed Added null checking on buf
- for write(). From Xiao Qin (2017-09-29).
- * net/route: File read/write logic should be able to handle short reads
- and writes (2017-09-29).
- * drivers/syslog: syslog internal functions should not set the errno
- variable: ramlog_putc(), syslog_dev_putc(), syslog_dev_write(),
- syslog_force() (2017-09-29).
- * net/sockets: psock_sendto() is an internal OS interface an should not
- set the errno variable (2017-09-29).
- * net/sockets: psock_send() is an internal OS interface an should not
- set the errno variable (2017-09-29).
- * psock_send() no longer sets errno, so send() must now set it
- (2017-09-30).
- * net/: Versions of psock_send() and pock_sendto() should not set
- errno. That is taken care of at a higher level in the send()/sendto()
- implementation as appropriate (2017-09-30).
- * net/: psock_accept() is an internal interface and should not set the
- errno (2017-09-30).
- * net/: psock_bind() is an internal interface and should not set the
- errno (2017-09-30).
- * net/: psock_connect() is an internal interface and should not set the
- errno nor should it be a cancellation point (2017-09-30).
- * net/: psock_listen() is an internal interface and should not set the
- errno (2017-09-30).
- * net/: psock_getsockopt() is an internal interface and should not set
- the errno (2017-09-30).
- * net/: psock_getsockopt() and psock_socket() are an internal interfaces
- and should not set the errno (2017-09-30).
- * net/: psock_accept() is not a cancellation point (2017-09-30).
- * net/: psock_recvfrom() is an internal interface and should not set the
- errno nor should it be a cancellation point (2017-09-30).
- * net/ and fs/: net_vfcntl(), file_fcntl(), file_dup(), and file_dup2()
- are all internal OS interfaces and should not modify the errno value
- (2017-09-30).
- * net_dupsd() and net_dupsd2() are internal OS functions and should not
- set the errno variable (2017-09-30).
- * psock_ioctl() and netdev_ioctl() are internal OS functions and should
- not set the errno variable (2017-09-30).
- * psock_close() and net_close() are internal OS functions and should not
- set the errno variable (2017-09-30).
- * SAMv7, STM32, STM32 L4: DAC and ADC drivers are not permitted to set
- the errno (2017-09-30).
- * SIM LPC31xx: Serial and console drivers are not permitted to set the
- errno (2017-09-30).
- * STM32, STM32 F7: LTDC and DMA2D drivers are not permitted to set the
- errno (2017-09-30).
- * drivers/serial: 16550 UART driver IOCTL method must not set errno; it
- must return a negated errno value (2017-09-30).
- * drivers/lcd: ILI9341 initialize method not permitted to set errno
- (2017-09-30).
- * drivers/sensors: LIS331DL driver not permitted to set errno
- (2017-09-30).
- * drivers/wireless: CC1101 driver not permitted to set errno
- (2017-09-30).
- * configs/z80sim and xtrs: Serial driver lower halfs ioctl methods
- should return a negated errno value, not set the errno variable
- (2017-10-30).
- * compiler.h, limits.h, types.h: Update SDCC/z80 files to include
- support for long long, inline, __FILE__, and __func__ (2017-10-01).
- * z80 Make.defs: Fixes dependency generation with newest SDCC compiler
- (2017-10-01).
- * include/: Add stdnoreturn.h (2017-10-01).
- * tools/configure.sh: Add special support so that you can start with a
- windows native configuration and install on a different host (and vice
- versa). (2017-10-01).
- * stm32_hrtim: add support for capture, chopper, deadtime and dump
- registers. From Mateusz Szafoni (2017-10-01).
- * tools/configure.c: Duplicate new functionaity added to configure.sh
- (2017-10-01).
- * tools/configure.sh: Another fix for the script. The last change only
- worked for Windows Cygwin; for Linux, it needed to remove some
- additional things from the defconfig file (2017-10-01).
- * configs/z80sim: convert other configurations to default to Linux
- (2017-10-01).
- * tools/: configure.sh and configure.c should redirect stdout to
- /dev/null but should not suppress stderr output (2017-10-01).
- * stdnoreturn.h: Add definitions for the C11 noreturn keyword. Also
- Remove C++11 dependency. Applies to C too (2017-10-02).
- * net/route: Add logic to mark a route as most-recently-used in the
- route cache (2017-10-02).
- * commit b2ea300b6fb7672cdb682a0957b5dd2cff63804d broke the STM32L4 port
- for people not using the L496xx or L4A6xx. That was because
- stm32l4_sdmmc.h is included from the stm32l4.h global header, and this
- header fires an #error for other chips. I see that ALL stm32l4 have the
- same SDMMC except the stm32l4x2, which has none. From Sebastien Lorquet
- (2017-10-02).
- * net/route: Fix an error in cache list management (2017-10-02).
- * Add support for Micron MT25Q series MT25Q128. From Sebastien Lorquet
- (2017-10-02).
- * binfmt/: Don't schedule starthook if there are no constructors
- (2017-10-02).
- * binfmt/: exec_module(), load_module(), unload_module(), and
- schedule_unload() are internal OS functions and must not alter the errno
- variable (2017-10-02).
- * stm32f103-minimum: Add ADC support on stm32f103-minimum board. From
- Alan Carvalho de Assis (2017-10-02).
- * syscall/: The non-standard interface exec() is now enshrined as a
- official NuttX API. I really dislike doing this but I think that this
- is probably the only want to load programs in the protected mode. It is
- currently used by some example code under apps/ that generate their own
- symbol tables for linking. Other file execution APIs relay on a symbol
- table provided by the OS. In the protected mode, the OS cannot provide
- any meaning symbol table for execution of code in the user-space blob so
- that is they exec() is really needed in that build case. And, finally,
- the interface is completely useless and will not be supported in the
- KERNEL build mode where the contrary is true: An application process
- cannot provide any meaning symbolic information for use in linking a
- different process (2017-10-03).
- * STM32L4 RTC, PM: small fixes to subseconds handling, ADC
- power-management hooks
- - STM32L4 ADC: add PM hooks from Motorola MDK
- - STM32L4 RTC: add up_rtc_getdatetime_with_subseconds
- - STM32 RTC: workaround for potential subseconds race condition. In
- all recent STM32 chips reading either RTC_SSR or RTC_TR is supposed
- to lock the values in the higher-order calendar shadow registers
- until RTC_DR is read. However many old chips have in their errata
- this silicon bug (at least F401xB/C, F42xx, F43xx, L15xxE, L15xVD
- and likely others): "When reading the calendar registers with
- BYPSHAD=0, the RTC_TR and RTC_DR registers may not be locked after
- reading the RTC_SSR register. This happens if the read operation is
- initiated one APB clock period before the shadow registers are
- updated. This can result in a non-consistency of the three
- registers. Similarly, RTC_DR register can be updated after reading
- the RTC_TR register instead of being locked."
- - STM32L4 RTC: correct RTC_SSR and RTC_TR read ordering. In all
- recent STM32 chips reading either RTC_SSR or RTC_TR is supposed to
- lock the values in the higher-order calendar shadow registers until
- RTC_DR is read. Change the register read ordering to match this and
- don't keep a workaround for a hypothetical race condition (not in
- any L4 errata, lets for once assume ST's silicon works as it is
- documented...)
- - STM32L4 PM: remove useless #ifdefs and old non-L4 STM32 code
- From Juha Niskanen (2017-10-03).
- * sched/semaphore: Rename sem_reset() to nxsem_reset() so that it is
- clear this is an internal OS function (2017-10-03).
- * sched/semaphore: Rename sem_tickwait() to nxsem_tickwait() so that it
- is clear this is an internal OS function (2017-10-03).
- * libc/semaphore: Add nxsem_init() which is identical to sem_init()
- except that it never modifies the errno variable. Changed all
- references to sem_init in the OS to nxsem_init() (2017-10-03).
- * sched/semaphore: Rename all internal private functions from sem_xyz
- to nxsem_xyz. The sem_ prefix is (will be) reserved only for the
- application semaphore interfaces (2017-10-03).
- * libc/semaphore: Add nxsem_getvalue() which is identical to
- sem_getvalue() except that it never modifies the errno variable.
- Changed all references to sem_getvalue in the OS to nxsem_getvalue()
- (2017-10-03).
- * libc/semaphore and sched/semaphore: Add nxsem_getprotocol() and
- nxsem_setprotocola which are identical to sem_getprotocol() and
- set_setprotocol() except that they never modifies the errno variable.
- Changed all references to sem_setprotocol in the OS to
- nxsem_setprotocol(). sem_getprotocol() was not used in the OS
- (2017-10-03).
- * sched/semaphore: Add nxsem_destroy() which is identical to
- sem_destroy() except that it never modifies the errno variable. Changed
- all references to sem_destroy() in the OS to nxsem_destroy() (2017-10-03).
- * sched/semaphore: Add nxsem_post() which is identical to sem_post()
- except that it never modifies the errno variable. Changed all
- references to sem_post in the OS to nxsem_post() (2017-10-03).
- * sched/semaphore: Add the function nxsem_wait(). This is a new
- internal OS interface. It is functionally equivalent to sem_wait()
- except that (1) it is not a cancellation point, and (2) it does not set
- the per-thread errno value on return. In all OS functions (not
- libraries), change sem_wait() to nxsem_wait(). This will prevent the OS
- from creating bogus cancellation points and from modifying the per-task
- errno variable. This commit also backs out most of commit
- b4747286b19d3b15193b2a5e8a0fe48fa0a8638c. That change was added because
- sem_wait() would sometimes cause cancellation points inappropriately.
- But with these recent changes, nxsem_wait() is used instead and it is
- not a cancellation point (2017-10-04).
- * sched/semaphore: sem_timedwait() is a cancellation point and, hence,
- cannot be called from within the OS. Created nxsem_timedwait() that is
- equivalent but does not modify the errno and does not cause
- cancellation. All calls to sem_timedwait() change to calls to
- nxsem_timedwait() in the OS (2017-10-05).
- * sched/semaphore: sem_trywait() modifies the errno value and, hence,
- should not be used within the OS. Use nxsem_trywait() instead
- (2017-10-05).
- * This change renames all internal, private NuttX signal-related
- functions to use the prefix nxsig_ so that they cannot be confused with
- application interfaces that begin, primarily, with sig_. This is
- analogous to similar renaming that was done previously for semaphores
- (2017-10-05).
- * drivers/input/cypress_mbr3108: Add missing variable for nxsem_wait
- return value. From Jussi Kivilinna (2017-10-06).
- * fs/vfs and net/socket: fcntl() is not return success fail for
- F_SETFL. Reported by Jussi Kivilinna (2017-10-06).
- * This commit adds internal versions of the signal interfaces:
- - sigtimedwait() -> nxsig_timedwait()
- - sigwaitinfo() -> nxsig_waitinfo()
- - nanosleep() -> nxsig_nanosleep()
- Replace all usage of sigwaitinfo(), sigtimedwait(), and nanosleep()
- with the OS internal counterparts nxsig_waitinfo(), nxsig_timedwait(),
- and nxsig_nanosleep(). The internal OS versions differ from the
- standard application interfaces in that they do not create
- cancellation points and they do not modify the application's errno
- variable (2017-10-06).
- * Adds new OS internal functions nxsig_sleep() and nxsig_usleep. These
- differ from the standard sleep() and usleep() in that (1) they don't
- cause cancellation points, and (2) don't set the errno variable (if
- applicable). All calls to sleep() and usleep() changed to calls to
- nxsig_sleep() and nxsig_usleep() (2017-10-06).
- * drivers/serial/tcdrain: tcdrain() was recently added to the NuttX C
- library. But there is a problem. The specification of tcdrain()
- requires that it be a cancellation point. In order to do this, tcdrain
- was moved from the C library into the OS and the addition cancellation
- point hooks were added. In non-FLAT builds, access via system calls is
- also now supported (2017-10-06).
- * net/Kconfig: Remove improper use of comma in syntax (2017-10-06).
- * mm/: Heap semaphore logic needs to use nxsem_* interfaces when
- available, but the standard semaphores only when implementing a
- user-space heap. Not this does introduce and issue: the memory
- management functions them become cancellation points because of the use
- of sem_wait (2017-10-07).
- * syscall/: Fix some backward conditional compilation (2017-10-07).
- * sched/signal: Add nxsig_kill() which is functionally equivalent to
- kill() except that it does not modify the errno variable. Replace all
- usage kill() in the OS proper with nxsig_kill() (2017-10-07).
- * graphics/vnc/server: Fix an error in the VNC server introduced with
- recent big set of changes (2017-10-07).
- * sched/signal: Add nxsig_queue() which is functionally equivalent to
- sigqueue() except that it does not modify the errno variable. Replace
- all calls to sigqueue() in the OS proper with calls to nxsig_queue() to
- avoid accessing the errno variable (2017-10-07).
- * sched/signal: Add internal OS interface nxsig_procmask(). This
- internal interface is equivalent to the standard sigprocmask() used by
- applications except that it does not modify the errno value. Also fixes
- a problem in that the original sigprocmask() was not setting the errno.
- Replace all calls to sigprocmask() in the OS proper with calls to
- nxsig_procmask(). (2017-10-07).
- * sama5d4-ek: Remove a really old defconfig example file that is so far
- out of date that it can only be misleading (2017-10-07).
- * Fix some build problems after recent separation of internal OS from
- application interfaces. The build problem only occurs in the PROTECTED
- and KERNEL builds where separate libraries are built for the
- applications and for use within the OS. In these cases, the correct
- interfaces must be used. This commit fixes a few of these, so I can get
- through build testing, but there are many more that need fixin'
- (2017-10-08).
- * SDCC Fixes: Change some prototypes and some assumptions about the
- size of unsigned int to get to a clean SDCC compile (2017-10-08).
- * Fix some problems in the previous commits: Forgot to update sigset()
- after change to prototype. Also there was a stray semicolon in the
- change signal() (2017-10-08).
- * libc/stdio: Build the lib_noflush() and lib_snoflush() stubs even if
- CONFIG_FILE_DESCRIPTORS=0. They may still be needed (2017-10-08).
- * configs/z80sim: Fix a naming problem. Also, don't try to build the
- serial driver if CONFIG_NFILE_DESCRIPTOR=0 (2017-10-08).
- * libc and libnx: When the libraries are built into two libraries, a
- user space library and a OS space library (as in the PROTECTED and
- KERNEL build). Then the user space library must not use the OS internal
- interfaces; similarly, the OS must avoid using the userspace interfaces
- so that it does not muck the errno value or create spurious cancellation
- points (2017-10-08).
- * Misc STM32 Fixes
- - stm32_hrtim.c: fix burst mode prescaler update
- - stm32f334-disco: add flash mode support for powerled driver +
- cosmetics
- From Mateusz Szafoni (2017-10-08).
- * powerled.h: Add fault field to state structure. From Mateusz Szafoni
- (2017-10-08).
- * libc/termios: Adds tcflow() (2017-10-09).
- * RNDIS: Use CONFIG_USBDEV_MAXPOWER instead of hardcoded value. Use
- LPWORK for network operations by default. From Sakari Kapanen
- (2017-10-09).
- * sched/mqueue: Rename all OS internal functions declared in
- sched/mqueue/mqueue.h to begin with nxmq_ vs. mq_. The mq_ prefix is
- reserved for standard application interfaces. Rename all private static
- functions for use the nxmq_ vs. mq_ naming (2017-10-09).
- * task: Add new cancellation point interface,
- check_cancellation_point() (2017-10-09).
- * STM32, STM32L4 serial changes:
- - stm32: serial: add interface to get uart_dev_t by USART number,
- stm32_serial_get_uart
- - stm32: serial: do not stop processing input in SW flow-control mode
- - stm32l4: serial: do not stop processing input in SW flow-control
- mode
- - stm32l4: serial: suspend serial for Stop mode
- From Juha Niskanen (2017-10-09).
- * Misc STM32 Fixes
- - stm32_powerled.c: cosmetics
- - stm32_hrtim.c: cosmetics
- - stm32/Kconfig: add HRTIM configuration and add DAC external
- trigger configuration
- - stm32f334-disco: Add powerled example configuration. From Mateusz
- Szafoni (2017-10-09).
- * drivers/power: Add powerled to Kconfig. From Mateusz Szafoni
- (2017-10-09).
- * BCM2708: Add enough infrastructrue (more stubs) to get a clean
- compilation of the Pi Zero configuration (with many undefined things at
- link time). This includes several register definition header files
- (some from Alan Carvalho de Assis), basic interrupt handling logic,
- boot-up files, GPIO support, build and configuration logic, basic board
- support at configs/pizero (2017-10-09).
- * sched/mqueue: Add internal function nxmq_send() and nxmq_timedsend()
- that are equivalent to mq_send() and mq_timedsend() except that they do
- not create cancellation points and do to not modify the errno variable.
- Change all calls to mq_send() and mq_timedsend() in the OS to calls to
- nxmq_send() and nxmq_timedsend(), making appropriate changes for
- differences in return values (2017-10-10).
- * sched/mqueue: Add nxmq_receive() and mxmq_timedreceive() which are
- functionally equivalent to the standard mq_receive and mq_timedreceive()
- except that (1) they do not create cancellation points, and (2) the do
- not modify the application's errno variable. Change all calls to
- mq_receive() and mq_timedreceive() in the OS to calls to nxmq_receive()
- and nxmq_timedreceive(), making appropriate changes for differences in
- return values (2017-10-10).
- * Fix a few places where there was a semicolon following the 'if'
- condition, making the following logic unconditional (2017-10-10).
- * The INA219 is a combined voltage and current sensor that can measure
- up to 26 volts and a current that depends on an external shunt
- resistor. Connection happens via i2c/smbus and the chip features a
- power supply rail that is independent from the measured voltage, so it
- can measure low voltages.
- This commit adds a driver for this chip. Right now it measures bus
- voltage and current, and does not use the internal calibrated current
- reading, nor the available power measurement. From Sebastien Lorquet
- (2017-10-10).
- * configs/clicker2-stm32: Adds SD card, automount, and syslog file
- support and fixes a few minor issues
- - Moves defines for xbee from clicker2-stm32.h to stm32_xbee.h
- - Adds support for uSD click boards and automount support
- - Fixes minor guard clause
- - Bring-up automounter before MMCSD
- - MRF24J40 interrupt should only fire on falling edge.
- - Adds file syslog support for logging to file on SD card
- From Anthony Merlino (2017-10-11).
- * Z80: Makefile fix for use with current SDCC (2017-10-11).
- * fs/vfs: Change the return value of internal function fs_getfilep().
- It no longer sets the errno variable but, rather, returns errors in the
- same manner as other internal OS functions (2017-10-11).
- * Adds OS internal functions nx_send(), ns_recv(), and nx_recvfrom()
- which are functionally equivalent to send(), recv(), and recvfrom()
- except that they do not set the errno variable and do not cause
- cancellation points (2017-10-11).
- * Adds OS internal function nx_write() which is functionally equivalent
- to write() except that it does not set the errno variable and do not
- cause cancellation points (2017-10-11).
- * sched/task: task_exithook.c fails to link if signals are disabled
- because was unconditionally trying to send the SIGCHLD signal to the
- parent in certain configurations. Noted by Jeongchan Kim (2017-10-11).
- * arch/arm/src/samv7: Correct an error in RX DMA setup. From Manish
- Kumar Sharma (2017-10-11).
- * net/socket: psock_send/psock_sendto: remove assert check for null
- psock and buf input pointers. Removes check as 'psock == NULL'
- altogether because that checked for later in psock_send and
- psock_sendto. Change null check for 'buf' so that it is handled same as
- in recvfrom.c (return -EINVAL instead of assert). From Jussi Kivilinna
- (2017-10-11).
- * fs/vfs: Add new internal OS interface nx_read(). nx_read() is
- functionally equivalent to read() except that it does not modify the
- errno variable and it is not a cancellation point. Changed all
- references to read() in the OS to nx_read() (2017-10-11).
- * sched/signal: Add logic to wake up a thread that is waiting on a
- signal if it is canceled (2017-10-12).
- * nxsig_timedwait: Add logic to suppress the wait if there is a pending
- cancellation (2017-10-12).
- * stm32 SPI: Add missing include required when CONFIG_SPI_CALLBACK is
- enabled. From Anthony Merlino (2017-10-12).
- * STM32L4 RTC fixes:
- - STM32L4 RTC: init mode was never exited because nested locking in
- rtc_synchwait() disabled backup domain access
- - STM32L4 RTC: Use backup register magic value instead of INITS
- bit. The INITS (bit 4) of RTC_ISR register cannot be used to
- reliably detect backup domain reset. This is because we can operate
- our device without ever initializing the year field in the RTC
- calendar if our application does not care about correct date being
- set. Hardware also clears the bit when RTC date is set back to year
- 2000.
- - STM32L4 RTC: put back the SSR race condition workaround. ST has
- confirmed that the issue has not been fixed, and that it applies to
- STM32L4 too (was not in errata sheets due to documentation bug) See
- discussion: https://community.st.com/thread/43710-issue-with-rtc-maximum-time-resolution
- - STM32F4, STM32L4, STM32F7 RTC: add more CONFIG_RTC_NALARMS > 1 to
- reduce code size
- - STM32L4: rename stm32l4_rtcc.c to stm32l4_rtc.c to better match
- STM32F7
- - STM32, STM32L4, STM32F7 RTC: stray comment and typos in
- chip/stm32_rtcc.h
- - STM32L4 RTC: change maximum alarm time from 24h to one month
- From Juha Niskanen (2017-10-13).
- * TCP Networking: When CONFIG_NET_TCP_WRITE_BUFF=y there is a situation
- where a NULL pointer may be dereferenced. In this configuration, the
- TCP connection's 'semi-permanent' callback, s_sndcb was nullified in
- tcp_close_disconnect. However, other logic in tcp_lost_connection()
- attempt to use that callback reference after it was nullifed. Fixed in
- tcp_lost_connectino() by adding a NULL pointer change before the
- access. This was reported by Dmitriy Linikov in Bitbucket Issue 72
- (2017-10-13).
- * stm32f7 BBSRAM: stm32_bbsram: avoid assert in stm32_bbsram_savepanic.
- If panic happens before stm32_bbsram is initialized,
- stm32_bbsram_savepanic caused additional assert panic. Function has null
- pointer check, so drop DEBUGASSERT. From Jussi Kivilinna (2017-10-13).
- * FS FAT: Fix hard-fault when listing contents of FAT root. From Jussi
- Kivilinna (2017-10-13).
- * configs/stm32f4discovery: Add a USB MSC configuration. From Alan
- Carvalho de Assis (2017-10-13).
- * 6LoWPAN: Correct a bug in handling uncompressed frames (IPv6
- dispatch) (2017-10-13).
- * 6LoWPAN: Fix a whole in the logic of the previous commit. It turns
- out that g_uncomp_hdrlen has other usages so it cannot be modified as I
- was doing. Instead, I needed to add a separate localt variable,
- protosize, to keep track of the two usages of g_uncomp_hdrlen
- (2017-10-13).
- * configs/: The nx and nxtext examples no longer supports single user
- mode (2017-10-14).
- * The lcdrw example has been removed because it violates the portable OS
- interface (2017-10-14).
- * All configurations that use NXIMAGE or NXHELLO must select
- NX_MULTIUSER. All configurations that use examples/nxterm must enable
- CONFIG_LIB_BOARDCTL (2017-10-14).
- * configs/stm32f103-minimum: Add support for LM75 in the
- stm32f103-minimum board. From Alan Carvalho de Assis (2017-10-14).
- * configs/: All configurations that use NXLINES must select
- NX_MULTIUSER. All configurations that use the NX server need to have
- larger POSIX messages (2017-10-14).
- * boardctl(): Remove the BOARDIOC_GRAPHICS_SETUP command (2017-10-15).
- * Initial ADC support for the STM32F33XX
- - stm32_adc.h: add JEXTSEL definitions and hrtim trigger configuration
- - stm32_adc.c: move STM32F33 ADC logic to a separate file
- From Mateusz Szafoni (2017-10-15).
- * configs/sim: Update touchscreen driver initialization to use only
- multiple-user NX server logic (2017-10-15).
- * configs/sim: Convert the traveler configuration so that it uses the
- framebuffer driver (2017-10-16).
- * task_delete(): Do not permit user applications to delete kernel
- threads (2017-10-16).
- * kthread_create(): Rename kernel_thread() to kthread_create() for
- better naming consistency with task_create() and kthread_delete()
- (2017-10-16).
- * All other STM32: SHIFTR_SUBFS_MASK was correct in STM32F0 only
- - STM32L1: use correct EXTI line definitions (2017-10-17).
- * STM32 RTC fixes:
- - RTC: canceling an alarm marks it as inactive
- - STM32L4, STM32F4, STM32F7 RTC: fix reading alarm value that is
- more than 24h in future
- - STM32F0 RTC: fix backup register count in stm32_rtcc.h
- From Juha Niskanen (2017-10-17)
- * BCM2708: Add system timer register definitions and a partial
- implementation of the tickless mode timer (2017-10-17).
- * BCM2708: Add support for AUX interrupts. Add some build configuration
- and support logic for low-level serial output (2017-10-17).
- * drivers/usbdev: Correct input flow control logic when watermarks are
- not enabled. Problem noedt by and change based on suggestion by Juha
- Niskanen (2017-10-18).
- * BCM2708: Add hooks to support both Mini- and PL011 UARTs (2017-10-18).
- * BCM2708: Fleshes out GPIO interrupt logic (2017-10-18).
- * fs/vfs: Fix after recent changes. write() was return negative values
- in errno. Noted by Jussi Kivilinna (2017-10-18).
- * drivers/usbdev: Move test for NULL pointer before the pointer is
- deferences. Noted by Juha Niskanen (2017-10-18).
- * net/: Fix some build issues noted when both IPv4 and IPv6 are
- enabled. From Anthony Merlino (2017-10-18).
- * photon: Support SPI1 and SPI3. From Anthony Merlino (2017-10-18).
- * BCM2708: Allow pass parameters with AUX interrupts; Add mini-UART
- break capability. BCM2708: Add Mini-UART logic. Still missing UART
- configuration logic (2017-10-18).
- * Alexey T, Bitbuck Issue 73: Lower part of STM32 CAN driver
- arch/arm/src/stm32/stm32_can.c uses all three hw tx mailboxes and clears
- TXFP bit in the CAN_MCR register (it means transmission order is defined
- by identifier and mailbox number).
- This creates situation when order frames are put in upper part of CAN
- driver (via can_write) and order frames are sent on bus can be
- different (and I experience this in wild). Since CAN driver API
- pretends to be "file like" I expect data to be read from fd the same
- order it is written. So I consider described behaviour to be a bug.
- I propose either to set TXFP bit in the CAN_MCR register (FIFO
- transmit order) or to use only one mailbox (2017-10-19).
- * The timer frequencies (BOARD_TIMx_FREQUENCY) are incorrectly defined
- in configs/stm3240g-eval/include/board.h. Since the APB prescalers are
- set to divide by 4 and 2 respectively, the frequencies should be
- "2xAPBx" as said in the comment. The correct frequencies are already
- defined but as STM32_APBx_TIMx_CLKIN. From Mattias Edlund (2017-10-19).
- * drivers/ioexpander: The IRQ subsystem now supports passing a void *
- parameter to IRQ handlers. Use that method to support multiple pc9555
- devices, by passing a pointer to the device to the board defined irq
- handler. Now the CONFIG_ for multiple PCA devices just allocates device
- structures dynamically instead of statically when not enabled.
- The same interrupt handler is entered with the device structure
- parameter in all situations, multiple or single PCA. One should still
- be careful if multiple PCA devices share the same IRQ. From Sebastien
- Lorquet (2017-10-19).
- * libc/match: Use of exp() vs expf() in logf() caused function to be
- slow. From Alan Carvalho de Assis (2017-10-19).
- * drivrs/mtd/filemtd.c: add block device MTD interface. Block MTD
- interface allows using block device directly as MTD instead of having to
- use file-system in between. NOTE that this provides the opposite
- capability of FTL which will let you use an MTD interface directly as a
- block device. From Jussi Kivilinna (2017-10-19).
- * There was a reference counting problem in the TPC logic of
- net_clone(). net_clone() which is the common logic underlying dup() and
- dup2() for sockets. When net_clone() calls net_start_monitor() and
- net_start_monitor() returns a failure (because the underlying TCP
- connection) then net_clone() must back out the reference count on the
- structure. Problem noted by Pascal Speck and this implementation of the
- solution is based on his suggestion (2017-10-19).
- * There was a possible recursion that could eventually overflow the
- stack. The error occurred when closing the socket with inet_close()
- while a socket callback was still queued. When the socket callback was
- executed by devif_conn_event(), this resulted in a call to
- psock_send_eventhandler() with TCP_CLOSE flag set which then called
- tcp_lost_connection(). tcp_shutdown_monitor() then called
- tcp_callback() again, which again called psock_send_eventhandler(), and
- so on.... Noted by Pascal Speck. Solution is also similar to a
- solution proposed by Pascal Speck (2017-10-19).
- * nucleo-f334r8/adc: change serial console to USART2 (STLINK COM). From
- Mateusz Szafoni (2017-10-19).
- * stm32f33xxx_adc.c: fix some warnings and compilation error when extsel
- not in use. From Mateusz Szafoni (2017-10-19).
- * net/tcp: Same change to tcp_send_buffered.c probably also applies to
- tcp_send_unbuffered.c (2017-10-19).
- * net/tcp: Same change to tcp_send_buffered.c probably also applies to
- tcp_sendfile.c (2017-10-19).
- * tcp_lost_connection() is called from two places in tcp_sendfile.c
- (2017-10-19).
- * net/tcp: Same change to tcp_send_buffered.c probably also applies to
- sixlowpan_tcpsend.c and inet_recvfrom.c (2017-10-19).
- * drivers/sensor: Add driver for the APDS-9960 gesture sensor. From
- Alan Carvalho de Assis (2017-10-20).
- * include/nuttx/sensors/ioctl: deduplicate SNIOC_CFGR. From Jussi
- Kivilinna (2017-10-20).
- * drivers/sensors/hts221: power-on sensor for loading calibration data.
- From Jussi Kivilinna (2017-10-20).
- * arch/arm/src/stm32f7/i2c: fix I2C_M_NORESTART handling. From Jussi
- Kivilinna (2017-10-20).
- * drivers/sensors/apds9960.c: Use work_queue to read/process data when
- receive an IRQ. From Alan Carvalho de Assis (2017-10-20).
- * STM32L1, STM32L4 RTC: add periodic interrupts, update L1 RTC
- implementation
- - STM32L4 RTC: add support experimental CONFIG_RTC_PERIODIC
- - STM32 RTC: separate STM32L1 RTC into a separate file
- STM32L1 RTC is very close to F4 or L4 versions, with two alarms and
- periodic wakeup support so backported L4 peripheral to L1.
- - RTC: Add periodic alarms to upper and lower halves
- From Juha Niskanen (2017-10-20).
- * stm32_adc.c: clear pending interrupts. From Mateusz Szafoni
- (2017-10-20).
- * drivers/bch: The character driver to block device access now supports
- an IOCTL to get the geomtry of the underlying block device (2017-10-20).
- * fs/fat: Remove mkfatfs from the OS. This is a user-space application
- and belongs in apps, not in the OS (2017-10-20).
- * configs/nucleo-f334r8: add logic for zero latency high priority
- interrupts example. From Mateusz Szafoni (2017-10-22).
- * Misc STM32 chagnes
- - STM32 HRTIM: Fix warnings related with RCC
- - STM32F33xxx ADC: Add some publicly visable interfaces and some
- code to support injected channels
- - STM32F33xxx DMA: Add public interface to handle with DMA interrupts
- From Mateusz Szafoni (2017-10-22).
- * stm32f103-minimum: Add an ADPS-9960 example configuration. From Alan
- Carvalho de Assis (2017-10-23).
- * net/icmp: This change adds support for semi-standard IPPROTO_ICMP
- AF_INET datagram sockets. This replaces the old ad hoc, nonstandard way
- of implementing ping with a more standard, socket interface (2017-10-23).
- * net/inet: Add check for protocol before handing out TCP and UDP
- sockets (2017-10-23).
- * arch/arm/common/up_checkstack: fix assert panic when both TLS and
- interrupt stack are enable. From Jussi Kivilinna (2017-10-23).
- * net/icmp: Correct some comments, typings, spacing problems from last
- big ICMP socket change (2017-10-23).
- * configs/: All defconfig filess that include
- CONFIG_NET_ICMPv6_SOCKET=y need to select CONFIG_SYSTEM_PING6=y and
- deselect CONFIG_DISABLE_POLL (2017-10-24).
- * net/icmpv6: This commit adds support for semi-standard IPPROTO_ICMP6
- sockets. This is a replacement for the non-standard ICMPv6 ping support
- that violated the portable POSIX OS interface (2017-10-24).
- * mm/mm-heap: memalign: fix heap corruption caused by using unaligned
- chuck size. Unaligned nodes generated by memalign later cause heap
- corruptions when nodes are shrink further (for example, 24 bytes -> 8
- bytes, when alignment is 16 bytes). From Jussi Kivilinna (2017-10-24).
- * lm3s8962: NX configuration needs CONFIG_NXSTART_EXTERNINIT=y
- (2017-10-24).
- * sched/: move POSIX thread specific data from pthread TCB to common
- TCB structure. This change allows using
- pthread_getspecific/pthread_setspecific from main thread. Patch also
- enables using pthread data with config option CONFIG_DISABLE_PTHREAD=y.
- From Jussi Kivilinna (2017-10-25).
- * net/local: fix typo in config macro name. From Juha Niskanen
- (2017-10-25).
- * Olimex stm32-h407 serial support for the on-board UEXT connector
- (fixed style & defconfig). Add USART6 for UEXT connector. Add
- nsh_uext configuration and README update. From Jan PobÅ™Ãslo (2017-10-26).
- * configs/nucleo-l496zg/nsh: enable I2C4 bus with i2ctool. From Jussi
- Kivilinna (2017-10-26).
- * arch/arm/stm32f7: i2c: restore bus frequency after I2C reset. Copy
- frequency restoration fix from STM32L4 I2C driver to STM32F7 I2C
- driver. From Jussi Kivilinna (2017-10-26).
- * arch/stm32l4: port STM32F7 I2C driver to STM32L4. STM32L4 I2C driver
- is in work-in-progress state (plentiful of TODOs and #warnings) and lags
- many features found in more up-to-date STM32 I2C drivers. The peripheral
- on STM32F7 and STM32L4 are identical except for L4's 'wakeup from stop
- mode' flag and STM32F7's I2C driver is in more 'ready to use' state.
- Commit ports the STM32F7 I2C driver to STM32L4. The I2C clock
- configuration is kept the same as before (I2CCLK = PCLK1 80 Mhz)
- instead of switching to STM32F7 arch default that is I2CCLK=HSI.
- Further work would be to add configuration option for choosing I2C
- clock source instead of current hard-coded default. From Jussi
- Kivilinna (2017-10-26).
- * drivers/sensors/lis2dh: fixes for self-test. From Jussi Kivilinna
- (2017-10-26).
- * include/nuttx/fs/: Move prototype of foreach_mountpoint out of
- include/nuttx/fs/fs.h to fs/mount/mount.h (2017-10-26).
- * fs/mount: Implements procfs /proc/fs/blocks and /proc/fs/usage files,
- replacing the NSH df command. Also implements procfs /proc/fs/mount
- file, replacing the NSH mount command when there are no arguments
- (2017-10-26).
- * Correct a problem that was causing an apparent directory to be
- reported as a file instead of a directory by opendir. This happened
- after adding these three new procfs entries: fs/block, fs/mount, and
- fs/usage. Of course, there is no directory fs in this case, only three
- files that have fs/ in their relative pathnames. The logic was
- detecting that fs was the name of the enty to report, but it was then
- declaring that fs was a file (because fs/block is of type file). This
- was fixed by adding a check for matching lenghts. i.e., if strlen(fs)
- != strlen(fs/block), then report fs as a directory instead of a file
- (2017-10-26).
- * fs/procfs: Missing some conditional logic for cases where mountpoint
- procfd entries excluded (2017-10-27).
- * drivers/can/mcp2515.c: Fix the MCP2515 Bit Rate Prescale
- calculation. Fix BRP for SET_BITTIMING ioctl as well. From Alan
- Carvalho de Assis (2017-10-27).
- * sensors/lis2dh: Fix use of obsolete dbg macro. From Jussi Kivilinna
- (2017-10-27).
- * nucleo-f334r8: Add highpri example configuration. From Mateusz
- Szafoni (2017-10-28).
- * STM32 F33xx: Add ADC DMA support to STM32F33 configuration. From
- Mateusz Szafoni (2017-10-28).
- * drivers/net: Remove the old, unfinished Crystal LAN driver. I don't
- even have the hardware that it goes with anymore (2017-10-28).
- * configs/mx1ads: This commit removes board support for the mx1ads
- board. That board support was never completed and I no longer even have
- the hardware. The unfinished board support is still available in the
- Obsoleted repository if anyone would ever like to resurrect it
- (2017-10-28).
- * STM32 ADC: Added support for ADC's IO_ENABLE_TEMPER_VOLT_CH ioctl on
- STM32F10XX and STM32F20XX. From Dmitriy Linikov (2017-10-30).
- * STM32 F2: Fixed build for STM32F20XX platforms when
- CONFIG_STM32_DMACAPABLE is enabled. From Dmitriy Linikov (2017-10-30).
- * fs/userfs: This completes coding of the UserFS client and of the
- UserFS feature in general. This feature is being merged to main now
- because I believe it is innocuous. It is, however, untesed. The next
- step will be to develop a test case to verify the feature. Uses Unix
- domain local sockets instead of message queues. Easier to transfer big
- data in local sockets than message queues (2017-10-30).
- * Fix DEBUGASSERT() issues with nxhello on lc823450-xgevk
- - sched/task: Remove DEBUGASSERT in task_exitstatus() and
- task_groupexit()
- - graphics: Change DEBUGASSERT condition in nx_runinstance()
- From Masayuki Ishikawa (2017-10-31).
- * Fix GPIO operation of STMPE811 driver.
- 1. STMPE811_GPIO_DIR was defined for register name and later was
- redefined to be the pin direction mask for `stmpe811_gpioconfig`. I
- decided to change register name to be STMPE811_GPIO_DIR_REG, and keep
- pin direction mask STMPE811_GPIO_DIR, so that any external code that
- already use this driver will be unchanged.
- 2. The STMPE811 register GPIO_DIR uses bit value 1 for output and 0
- for input, but `stmpe811_gpioconfig` set the opposite.
- 3. The call to `stmpe811_gpiowrite` from inside of
- `stmpe811_gpioconfig` leaded to deadlock.
- From Dmitriy Linikov (2017-10-31).
- * sim/userfs: Add a configuration for testing the UserFS using
- apps/examples/userfs (2017-10-31).
- * Fixes a memory leak that is caused because the client message queue is
- not unlinked after the client disconnects from the NX server. From
- Masayuki Ishikawa (2017-10-31).
- * drivers/wireless/ieee80211: Fix typos and spelling errors as needed
- for Photon build. From Anthony Merlino (2017-11-01).
- * net/icmpv6: Add some header file necessary for correct build. From
- Anthony Merlinoo (2017-11-01).
- * libc/userfs: Correct return value from dispatchers. Should return
- zero on success, not the number of bytes sent (2017-11-01).
- * net/ipforward: Fixes typo that caused build error when IP forwarding
- was enabled with CONFIG_NET_ICMPv6_NEIGHBOR enabled as well. From
- Anthony Merlino (2017-11-01).
- * ieee802154: Simplifies notify() and rxframe() calls to a single
- notify() call. dataind's and all other "notifs" are now "primitives"
- which aligns with standard terminology From Anthony Merlino (2017-11-01).
- * fs/userfs: Correct check for response type (2017-11-01).
- * net/local: This commit modifies the Unix domain local socket design.
- Local sockets are built on top of pipes. The Local socket
- implementation maintained file descriptors to interrupt with the pipes.
- File descriptors have the bad property that they are valid only while
- running on the thread within the task that created the local socket.
- As a policy, all internal OS implementations must use "detached" files
- which are valid in any context and do not depend on the validity of a
- file descriptor at any point in time. This commit converts the usage
- of file descriptors to detached files throughout the local socket
- implementation (2017-11-02).
- * fs/userfs: There are some deadlock issues that make the UserFS
- un-usable at the current time. Added to the TODO list; also feature is
- now marked EXPERIMENTAL (2017-11-02).
- * drivers/serial/serial.c: Optimize wait time in tcdram() for buffer
- emptying. According to the specification, the close function must wait
- until all data has been written before it closes the file (except
- O_NONBLOCK is set). The maximum waiting time for this is not specified.
- To be able to edit the file list of the process, the close function
- has to lock the file list semaphore. After that the close function of
- the serial driver is called.
- Waiting for the complete transmission of all data is done in the
- serial driver. This causes the semaphore to remain locked until all
- data has been sent. However, no other thread of the process can edit
- the file list for that time (open, close, dup2, etc.). This is not
- optimal in a multithreaded environment. Therefore, we have to keep
- the waiting time within the driver as short as possible. From Frank
- Benkert (2017-11-02).
- * drivers/loop: Don't use file descriptors... Use the internal file
- system interfaces so that the loop device can be shared across threads
- (2017-11-02).
- * drivers/mtd/filemtd.c: Don't use file descriptors... Use the internal
- file system interfaces so that the loop device can be shared across
- threads (2017-11-02).
- * mac802154: Fixes a warning for unused variable and returns -1 from
- macnet_notify() if event is not used. From Anthony Merlino (2017-11-03).
- * drivers/lcd/max7219.c: Add support to MAX7219 LED Matrix as LCD
- interface. From Alan Carvalho de Assis (2017-11-04).
- * configs/stm32f103-minimum: Add board support for MAX7219 LED Matrix
- controller. From Alan Carvalho de Assis (2017-11-04).
- * stm32f334-disco, nucleo-f334r8: add missing ram_vectors configuration
- in linker script. From Mateusz Szafoni (2017-11-04).
- * Kconfigs: Add CONFIG_LCD_UPDATE that works like CONFIG_NX_UPDATE but
- can be enabled without enabling the graphics subsystem (2017-11-04).
- * SAMv71-XULT: Remove non-functional framebuffer configuration
- (2017-11-05).
- * stm32f103-minimum: Remove warning when selecting MMCSD support, Add
- board_usbmsc_initialize to stm32f103-minimum. From Alan Carvalho de
- Assis (2017-11-05).
- * nucleo-f334r8/highpri: missing ADC trigger configuration. From
- Mateusz Szafoni (2017-11-05).
- * stm32f334-Disco: beginning of lower-half driver for SMPS (buck-boost
- onboard converter). From Mateusz Szafoni
- * Misc. STM32 Fixes:
- - STM32 HRTIM: add helper macros
- - STM32F33xxx ADC: injected channels support, fix some definitions,
- add interface to disable interrupts
- From Mateusz Szafoni (2017-11-05).
- * fs/userfs: This commit converts the underlying IPC used by the
- UserFS from Unix domain local sockets to UDP LocalHost loopback
- sockets. The problem with the local sockets is that they do require
- operations on the top level pseudo-file system inode tree. That tree
- must be locked during certain traversals such as enumerate mountpoints
- or enumerating directory entries.
- This conversion is unfortunate in the sense that Unix local domain
- sockets are relatively lightweight. LocalHost UDP sockets are much
- heavier weight since they rely on the full UDP stack. If anyone is
- up for a complete redesign, then using some shared memory and a POSIX
- message queue would be lightweight again.
- This commit also fixes several bugs that were not testable before the
- inode tree deadlock. I cannot say that the logic is 100% stable but
- it does not have basic functionality (2017-11-05).
- * fs/userfs: Fix return value from dup method. In order to return a
- pointer, the parameter must be a pointer to a pointer (2017-11-06).
- * configs/stm32f429i-disco/ltdc: This configuration has been deleted
- because it violated the portable POSIX OS interface. It used
- apps/examples/ltdc and include ltdc.h and dma2d.h which were also
- removed for the same reason (2017-11-06).
- * arch/arm/include/stm32 and stm32f7: Remove ltdc.h and dma2d.h.
- Those header files in that location permitted inclusion into
- application space logic and, hence, facilitated and encouraged calling
- into the OS and violating the portable POSIX OS interface. The
- definitions in those header files were move the appropriate location in
- the counterpart, architecture specific files at arch/arm/src/stm32 and
- stm32f7 dma2d.h and ltdc.h (2017-11-06).
- * lpc43xx Ethernet: Fix some backward logic setting full-duplex and
- 100mbps when autoconfiguration is disabled. Noted by Anonymous in
- Issue #76 (2017-11-06).
- * sched/sched/sched_cpuselect.c: For SMP, In order to find the cpu
- with the lowest priority thread, we have to remember the already found
- lowest priority. Noted by Anonymous in Issue #75 (2017-11-06).
- * Add IPL2 support for LC823450
- - arch/arm/src/lc823450: Add IPL2 support
- - configs/lc823450-xgevk: Add IPL2 support
- From Masayuki Ishikawa (2017-11-07).
- * drivers/audio: Add WM8774 support. From Masayuki Ishikawa
- (2017-11-08).
- * lc823450-xgevk audio support
- - arch/arm/src/lc823450: Add IPL2 support
- - configs/lc823450-xgevk: Add IPL2 support
- - libc/audio: Fix compilation error in lib_buffer.c
- - arch/arm/src/lc823450: Add I2S support
- - configs/lc823450-xgevk: Add WM8774 support
- From Masayuki Ishikawa (2017-11-08).
- * drivers/usbdev/rndis.c: fix packet receiving logic. The logic didn't
- take single-byte termination frames in account. From Sakari Kapanen
- (2017-11-08).
- * net/icmpv6/icmpv6_radvertise.c: Add option to manually specify router
- prefix. From Sakari Kapanen (2017-11-08).
- * net/icmpv6/icmpv6_radvertise.c: set the prefix length to
- preconfigured value (2017-11-08).
- * STM32 L4 RCC: restore backup-registers after backup-domain reset.
- From Jussi Kivilinna (2017-11-08).
- * STM32 L4: Build stm32l4_idle.c only if CONFIG_ARCH_IDLE_CUSTOM is
- not enabled. From Jussi Kivilinna (2017-11-08).
- * drivers/power/bq2429x.c: Add BATIO_OPRTN_SYSON for enabling BATFET
- after SYSOFF. From Jussi Kivilinna (2017-11-08).
- * lc823450 auto LED support
- - arch/arm/src/lc823450: Add auto LED for CPU activity
- - configs/lc823450-xgevk: Add auto LED support
- From Masayuki Ishikawa (2017-11-09).
- * tools/configure.sh: This commit adds a -m option for macOS. For
- anyone not aware, Apple renamed OSX to macOS recently; thus the 'm'
- instead of 'o'. This does not change the other uses of *_OSX to macOS.
- From jeditekunum (2017-11-09).
- * tools/configure.c: Update functionality to match last change to
- tools/configure.sh (2017-11-10).
- * STM32L4 serial PM interface improvements: Check rx/tx buffers for
- pending data in pmprepare. Remove adhoc PM interfaces and move serial
- suspend functionality behind CONFIG_PM. From Jussi Kivilinna
- (2017-11-10).
- * procfs: Fix uptime being clse to maximum 32-bit value in certain
- config. From Juha Niskanen (2017-11-10).
- * libc: Add support for readv() and write(). Also includes some
- cosmetic changes to some unrelated files (2017-11-11).
- * libc/signal: Add support for sigwait() (2017-11-11).
- * sched/signal/sig_nanosleep.c and libc/time/lib_nanosleep.c:
- Implement clock_nanosleep(). nanosleep() is now reduced to a libc
- wrapper around clock_nanosleep() (2017-11-11).
- * Changes from review of clock_nanosleep(): Misplaced right bracket,
- but return value in one failure case (2017-11-11).
- * include/netinet/tcp.h: Add trivial standard tcp.h header file
- (2017-11-12).
- * Trivial re-ordering of socket option bit numbers to match order
- presented on OpenGroup.org (2017-11-12).
- * arch/arm/src/stm32/stm32f33xx_adc.c: Eliminate warnings about
- cj_channels and j_chanlist being set but not used (2017-11-12).
- * configs/stm32l476-mdk: Add support for the on-board LEDs (2017-11-12).
- * include/netinet/tcp.h: Add trivial standard tcp.h header file
- (2017-11-12).
- * configs/stm32l476-mdk: Repartition bring-up logic so that it is more
- like other board directories. Add support for USERLED driver. Add
- bring-up initialization logic for the USERLED driver (2017-11-12).
- * drivers/usbdev/rndis.c: Fix some issues in rndis.c Introduce
- rndis_transmit() and change rndis_rxdispatch() to avoid packet
- corruption. Introduce max packet size for dual speed whichis mainly
- used for high speed mode. Fix adjusting MTU warning on Linux host. Fix
- data corruption if a packet size excceds MTU. NOTE: Max packet size is
- not configured dynamically. This should be fixed in the future
- version. Change HPWORK to ETHWORK. NOTE: In the commit 07b98ccbb5,
- max packet size of bulkout was assumed to be 64. In this commit,
- priv->epbulkout->maxpacket is used instead. From Masayuki Ishikawa
- (2017-11-13).
- * configs/stm32f4discovery: RNDIS support on STM32F4Discovery
- - Add rndis configuration. NOTE: STM32F4Discovery + DM-STF4BB
- - Add stm32_netinit.c to avoid a compilation error
- - Add rndis initialization in stm32_bringup.c
- NOTE: MAC address for the host side starts 0xaa. This assignment
- scheme should be fixed later. From Masayuki Ishikawa (2017-11-13).
- * configs/: apps/system/free has been deleted because it violates the
- portable POSIX OS interface. Remove CONFIG_SYSTEM_FREE=y from all
- defconfig files (2017-11-13).
- * fs/procfs/fs_procfsprogrem: Add /proc/progmem. This is an
- alternative way to get the information that was previoulsy available in
- apps/system/free. apps/system/free was removed beause it made illegal
- calls into the OS violating the portable interface. This new procfs
- entry provides the same information with no such violation (2017-11-13).
- * Nucleo-F746ZG: Use the serial console over /dev/ttyACM0 by default.
- The Nucleo-F746ZG doesn't come with Arduio RS-232 shield, then it is
- better to use the serial over the /dev/ttyACM0 that is created
- automatically when the board is plugged in the computer. From Alan
- Carvalho de Assis (2017-11-13).
- * SAMA5/SAMv7: It is necessary to disable pre-emption and interrupts
- around a loop that copies TX data into the hardware in order to avoid a
- TX data underrun condition. From Anthony Merlino (2017-11-13).
- * fs/profcs: Add file to show user space heap. This replaces the NSH
- free command (2017-11-13).
- * fs/procfs: Optimization of previous commits. /proc/umm and
- proc/progmem are deleted. /proc/kmm is renamed /proc/meminfo and
- contains the output that was in all three files previously (2017-11-13).
- * configs/stm32f439i-disco: Add an fb configuration (2017-11-13).
- * configs/stm32f429i-disco/fb: Fix a compile issue. Disable all NX
- features in the fb configuration. NX is not needed (2017-11-13).
- * configs/stm32f429i-disco/fb: Refactor initialization logic so that
- it is a little more like other boards. Remove double initialization of
- framebuffer or LCD drivers (whichever is enabled) (2017-11-13).
- * configs/stm32f429i-disco: Add logic to auto-mount procfs. Enable
- procfs in all configurations that use NSH (2017-11-13).
- * configs/stm32f429-disco/fb: Enable support for the STMPE811
- touchscreen controller and also for the apps/exmaples/touchscreen test
- (2017-11-14).
- * Remove CONFIG_GRAN_SINGLE. It adds no technical benefit (other than
- some minor reduction in the number of interface arguments) but adds a
- lot of code complexity. Better without it (2017-11-14).
- * mm/mm_gran: Add a function to get information about the state of the
- granuale allocator (2017-11-14).
- * fs/procfs: Add logic to show the state of the page allocator in
- /proc/meminfo (2017-11-14).
- * mm/mm_gran: Fix some issues found during test of the new gran_info()
- interface (2017-11-14).
- * configs/stm32429i-disco/src: Fix a compile error when
- CONFIG_BOARD_INITIALIZE is defined (2017-11-14).
- * configs/lc823450-xgevk: Fix compilation errors on Cygwin. From
- Masayuki Ishikawa (2017-11-15).
- * mm/mm_gran: Combine some common logic into a function (also fixes a
- subtle bug) (2017-11-15).
- * Build system: Fix CONFIG_BUILD_KERNEL logic directories that have
- ubin and kbin subdirectories. Conditional logic was fine for
- CONFIG_BUILD_FLAT and CONFIG_BUILD_PROTECTED but generated useless
- dependencies if CONFIG_BUILD_KERNEL (2017-11-15).
- * arch/arm/src/lpc43: Add LPC43xx CAN driver. From Alexander Vasiljev
- (2017-11-15).
- * arch/arm/src/lpc43: UART_RX pins should be configured with input
- buffers enabled. Otherwise it cannot be read. From Alexander Vasiljev
- (2017-11-15).
- * STM32F429i-Disco: Convert NxWM configuration to use LTDC framebuffer
- driver instead of SPI serial. Also reduce number of layers from 4 to 1
- in fb configuration. Only one layer is used (2017-11-15).
- * configs/stm32f429i-disco/ide: Remove the uVision IDE setup that goes
- along with the ltdc configuration that was removed on 2017-10-28
- (2017-11-16).
- * configs/stm3220g-eval/ide: Remove the uVision IDE setup. This has
- not been used for years and it a maintenance problem for me (2017-11-16).
- * arch/arm/src/xmc4: Fix XMC4xxx USIC UART sginal to be high level when
- in idle. From Alan Carvalho de Assis (2017-11-16).
- * arch/arm/src/xmc4: Kconfig was not selecting XMC4_USIC for USIC1.
- From Alan Carvalho de Assis (2017-11-16).
- * configs/xmc4500-relax: Add config for UART3 on RXD P0.0 and TXD P0.1
- pins. From Alan Carvalho de Assis (2017-11-16).
- * STM32 F72xx and F73xx: Add register definition header files and
- clocking logic. From Bob Feretich (2017-11-17).
- * STM32F7: Fix typos in two RCC register definition header files.
- From Bob Feretich (2017-11-17).
- * STM32F7: Completes architecture support for the STM32 F72x and F73x
- families. Adds support for the Nucleo-144 boards with STM32F722. From
- Bob Feretich (2017-11-18).
- * configs/sim: Disable NX graphics support in the fb configuration.
- * libnx: Changes to allow the font subsystem to be built without
- enabling the entire graphics system (CONFIG_NX). Adds CONFIG_NXFONTS
- and CONFIG_NXGLIB. NX and NXFONTS are still pretty heavily entangled.
- Needed to duplicate some Kconfig setting for NXFONTs if it can be
- configured and built independently of NX. Also includes some
- build-related fixes (2017-11-18).
- * configs/mcb1700: Add support for Keil MCB1700 board. From Alan
- Carvalho de Assis (2017-11-18).
- * configs/open1788/pdcurses: Add a configuration for testing pdcurses
- (2017-11-19).
- * C library: Fix sscanf character conversion (%c): do not add '\0' at
- the end as for strings, cause, for example, parsing one character will
- fill two bytes: character itself and zero one '\0' after it, so will
- overflow one byte variable argument and corrupt memory for variables
- allocated after it. From Oleg Evseev (2017-11-19).
- * arch/arm/src/xmc4:xmc4_uart_configure() expects the channel# not
- uartbase as an input parameter. From Alan Carvalho de Assis
- (2017-11-20).
- * configs/open1788: Add support for the discrete joystick driver.
- Update the pdcurses configuration to use apps/examples/djoystick
- (2017-11-20).
- * net/icmpv6: icmpv6_input() needs to set d_len to 0 after consuming
- echo reply, otherwise, garbage will get sent out. From Anthony Merlino
- (2017-11-20).
- * configs/open1788: Enable discrete joystick input. This is
- sufficient to get through all menuing that does not require text input
- (2017-11-20).
- * net/sixlowpan: Fix an endian-ness problem in 6LoWPAN address
- decompression. From Anthony Merlino (2017-11-20).
- * net/sixlowpan: The logic that extracts interface identifier from the
- IP address needs to be generalized to handle cases where the address is
- not a link local address. From Anthony Merlino (2017-11-20).
- * arch/arm/src/xmc4 UART: Enable RX/TX status and small fixes. From
- Alan Carvalho de Assis (2017-11-21).
- * Various fixes for errors ound while debugging OTG on L496
- - STM32, STM32 L4, and STM32 M4: USB OTGFS DMA trace output fix
- - STM32: Add dump buffer feature to stm32 F4 series
- - STM32 and STM32 L4: Fix bad USB OTGFS register address
- - STM32 L4: Fix typo in USB OTGFS register usage
- - STM32 L4: Add check in USB OTGFS driver to assure that SYSCFG is
- enabled
- - Nucleo-L496ZG: Make HSE on Nucleo-L496ZG default to enable USB
- From Miha Vrhovnik (2017-11-21).
- * Two changes for STM32F7.
- 1) The first enables building with CONFIG_ARCH_IDLE_CUSTOM enabled.
- 2) The second allows changing voltage output scaling setting and
- prevents enabling over-drive mode for low frequencies (STM32 F74xx,
- 75xx, 76xx, 77xx)
- From Jussi Kivilinna (2017-11-21).
- * Replicate Jussi Kivilinna's change for the newly added STM32F2xx and
- F3xx family members. This change allows selecting voltage output scale
- mode and enable over-drive only when needed (2017-11-21).
- * mm: Add a debug assertion to check for integer overflow in malloc
- (2017-11-21).
- * net/icmpv6: Fix an error in the poll logic. It was assume that the
- input parmeter pvconn was valid. It was not. Instead, the poll logic
- must work like the sendto() and recvfrom() logic: It must keep a copy
- of the conn structure in the private data (2017-11-21).
- * net/icmpv6: Remove the 'list' field from struct icmpv6_conn_s. It
- is not used (2017-11-21).
- * net/icmp: Ports the changes in ICMPv6 of commits
- 4629cf9461e5ac6f5f01ef8c9bee3ec9a60ce081 and
- 74a633ea94bc308cd2eca0ec6c2be798d5794e72 to ICMP. ICMP and ICMPv6
- sockets are nearly identical, bug-for-bug (2017-11-21).
- * net/sixlowpan: Add htohs() in arguments to debug statements that
- print IP addresses so that they are all shown in friendlier host
- order. From Anthony Merlino (2017-11-21).
- * stm32f33xxx_rcc: Fix CAN clock enable. From Mateusz Szafoni
- (2017-11-22).
- * drivers/lcd_framebuffer.c: If BPP is less then 8, then we need to
- byte-align the update region (2017-11-22).
- * configs/stm32f103-minimum: Add framebuffer driver initialization for
- stm32f103-minimum board. From Alan Carvalho de Assis (2017-11-22).
- * mm: Fix a typo in a debug assertion (2017-11-22).
- * net/icmp and icmpv6: Fix some errors in debug assertions introduced
- with last changes in this area. Also updates a REAME.txt file
- (2017-11-22).
- * net/: Fix some issues with regard to UDP broadcast handling. This
- is Bitbucket Issue #77. This commit tentatively closes the issues,
- subject to verification (2017-11-22).
- * sixlowpan: Support sending to a router that is on-link and may be
- able to forward the packet for us if the destination is not reachable
- directly. From Anthony Merlino (2017-11-22).
- * Pass header-payload offset to application for use when the MAC layer
- is in promiscuous mode
- - mac802154_device: When in promiscuous mode, the char driver sends
- the entire frame, including the MAC header. This change adds an
- offset field indicating the header-payload boundary. It is set to 0
- when not in promiscuous mode as the header is not passed to the
- application
- - mac802154: Adds support for getting promiscuous mode state
- From Anthony Merlino (2017-11-22).
- * USB RNDIS - Fixes minor build error while using USB RNDIS with USB
- debugging information enabled. From Anthony Merlino (2017-11-22).
- * clicker2-stm32: Adds support for USB RNDIS device. From Anthony
- Merlino (2017-11-22).
- * STM32 L4 USB OTGFS: Remove dumpbuffer feature added in the last
- commit. I don't want in features that cannot be controlled be via
- Kconfig files and I do not accept debug code in the upstream GIT. My
- mistake for merging it in the first place (2017-11-22).
- * include/nuttx/video/fb.h: Add definition for a Y2 color format. I
- don't know if this standard but I do have 2-bit greyscale hardware so
- the definition is needed (2017-11-22).
- * sixlowpan: Fixes build error introduced by recent PR when routing
- table is enabled. From Anthony Merlino (2017-11-22).
- * sixlowpan: Fixes build error introduced by recent PR when routing
- table is enabled. From Anthony Merlino (2017-11-22).
- * net/netdev: Add support for the SIOCGIFBRDADDR ioctl() command
- (2017-11-22).
- * include/nuttx/audio: Remove CONFIG_SCHED_WORKQUEUE check in pcm.h.
- From Masayuki Ishikawa (2017-11-23).
- * sched/semaphore/spinlock.c: Disable local interrupts in spin_setbit()
- and spin_clrbit() in order to avoid a deadlock condition. From
- Masayuki Ishikawa (2017-11-23).
- * configs/stm32f4disovery: Add support for JLX12864G display on STM32F4
- Discovery board. From Alan Carvalho de Assis (2017-11-23).
- * configs: All NX configuration... Because of recent changes to
- libnx/nxfonts, Supported bit per pixel must be separated specified for
- NXFONTs too and need to match the select BPP for NX (2017-11-24).
- * fs/procfs: Correct ordering of procfs entries. For consistency, use
- alphabetical ordering (2017-11-24).
- * configs/xmc4500-relax: Setup max. freq. 120MHz and setup pull-up to
- UART RXD pin. From Alan Carvalho de Assis (2017-11-24).
- * arch/arm/src/xmc4: Do not run at 144MHz unless BOARD_FCPU_144MHZ is
- selected in the board.h header file. From Alan Carvalho de Assis
- (2017-11-24).
- * configs/xtrs: Removed the XTRS configuration This was an unverified
- port of NuttX to a TRS-80 simulator. It was removed because (1) it is,
- as I said, unverified as well as unsupported, and (2) the TRS-80
- simulation is a sub-optimal platform. That platform includes a 16-bit
- ROM image and only a 48Kb RAM space (2017-11-24).
- * arch/arm/src/xmc4: Remove hard-coded values in clock configuration.
- USB will be fixed later. From Alan Carvalho de Assis (2017-11-25).
- * drivers/lcd: Add support for external LCD initialization required by
- some board logic. configs/zpa214xpa: Tried to get the LCD working
- again unsuccessfully. Too much bit rot I suppose (2017-11-25).
- * STM32F4 Discovery: Fix some errors due to missing inclusion of
- stm32_gpio.h (2017-11-25).
- * XMC4 Serial: The Alternative Receive Interrupt was not being
- configured (2017-11-25).
- * drivers/lcd: Make LCD driver configuration indepently selected from
- NX graphics configuration. This makes things awkward and loses some
- error checking but is a necessary step in order to make LCD drivers
- usable when the NX graphics system is disabled (2017-11-25).
- * STM3240G-EVAL: Mount procfs if enabled (2017-11-25).
- * arm/src/xmc4: Include Alt. Interrupt Enable to RX_EVENTS and rename
- serial GPIO configurations. From Alan Carvalho de Assis (2017-11-25).
- * configs/: CONFIG_QENCODER was renamed to CONFIG_SENSORS_QENCODER:
- update occurrences in several Kconfig files (2017-11-25).
- * configs/stm3240g-eval: Add support for pdcurses and the pdcurses
- demo programs in the 'fb' configuration (2017-11-26).
- * arch/arm/src/stm32: Fix compile error when trace is enabled.
- I2CEVENT_ERROR was used but never defined (2017-11-26).
- * configs/lc823450-xgevk: Enable CONFIG_SMP for audio.Update README.txt
- regarding SMP audio. From Masayuki Ishikawa (2017-11-27).
- * lc823450 smp audio
- - arch/arm/src/lc823450: Remove a workaround in up_cpu_paused().
- Introduce g_gpio_lock to improve write performance in SMP mode.
- NOTE: This is a tentative solution and should be replaced with more
- generic one. Add a workaround in up_txready() to avoid data
- corruption. From Masayuki Ishikawa (2017-11-27).
- * arch/arm/src/lpc43xx: lpc43_adc.c was being selected by the build
- system wehn DAC was selected (2017-11-27).
- * configs/lc823450-xgevk: Add rndis configuration. From Masayuki
- Ishikawa (2017-11-28).
- * drivers/input/nunchuck.c: Add Nintendo Wii Nunchuck driver. From
- Alan Carvalho de Assis (2017-11-28).
- * configs/stm32f4discovery/include/board.h: Remove only I2C pin config,
- we can use PB6 and PB9. From Alan Carvalho de Assis (2017-11-28).
- * configs/stm32f4discovery/src: Add stm32f4discovery board support for
- Nunchuck joystick. From Alan Carvalho de Assis (2017-11-28).
- * net/devif: Do not add link layer header size to d_len inside
- devif_forward(). From Anthony Merlino (2017-11-29).
- * Framebuffer Driver: Small modification convention for multi-planar
- displays (of which there are none) (2017-11-29).
- * configs/stm32f103-minimum: Add Nunchuck board support for
- stm32f103-minimum board. From Alan Carvalho de Assis (2017-11-29).
- * drivers/mtd: Add a driver for Macronix MX35LFxGE4AB serial NAND
- flash. From Ekaterina Kovylova (2017-11-29).
- * net/pkt: Eliminate a compile error due to missing include and also a
- warning (2017-11-29).
- * sched/task/task_exithook.c: Clear atexit() function pointer before
- calling it. On most archs, up_assert() calls exit() so without this
- change, if atexit() function triggers an assertion we are in endless
- loop. From Juha Niskanen (2017-11-30).
- * arch/arm/src/xmc4/Kconfig: Define user friendly SPI, I2C, LIN, and
- I2S aliases to follow other arch names. From Alan Carvalho de Assis
- (2017-11-30).
- 7.24 2018-03-02 Gregory Nutt <gnutt@nuttx.org>
- * drivers/pipes: poll: fix off-by-one error in calculation of bytes in the
- buffer. Buffer calculation in pipe poll setup is off-by-one when read
- index is larger than write index. This causes poll() not getting POLLIN when
- buffer has one byte as calculation gives zero bytes in buffer. From Jussi
- Kivilinna (2017-12-07).
- * This adds basic architectural support for the LPC546xx family and
- includes support for the LPCXpresso-LPC54628 board. The basic NSH port is
- almost complete... still lacking GPIO support and LED support. There are
- still no significant drivers available.
- * SMP: Introduce spin_lock_irqsave() and spin_unlock_irqrestore(). These
- APIs are simplified version of enter_critical_section() and
- leave_critical_section() to protect data (e.g. registers) in SMP mode. By
- using these APIs inside drivers, performance will be improved. From
- Masayuki Ishikawa (2017-12-07).
- * sixlowpan: Completes configuration options for specifying preloaded
- address contexts for compression From Anthony Merlino (2017-12-07).
- * configs/photon: Adds BOARD_TIMn_FREQUENCY macros From Anthony Merlino
- (2017-12-07).
- * arch/arm/src/lc823450 SMP improvements. (1) Apply irq_spin APIs to
- modifyregXX, (2) Do not use modifyreg32() to enable Mutex, (3) Modify IRQ
- control for i2s. Interrupt will be handled on CPU0 with this change. (4)
- Apply irq_spin APIs to dma/syscontrol/usbdev. (5) Assign CPU1 to lpwork.
- This change will improve load balancing for networking with RNDIS. From
- Masayuki Ishikawa (2017-12-08).
- * drivers/audio/wm8776.c: Improve stability in SMP mode. Apply irq_spin
- APIs to improve performance. Repeat to process a message to avoid
- deadlock. From Masayuki Ishikawa (2017-12-08).
- * configs/lc823450-xgevk: Enable SPINLOCK_IRQ and NXPLAYER in rndis. From
- Masayuki Ishikawa (2017-12-08).
- * arch/arm/src/xmc4: Only setup USB clock when USB PLL is enabled From
- Alan Carvalho de Assis (2017-12-08).
- * arch/arm/src/lpc54628: LPCXpresso-LPC54628 NSH configuration is fully
- functional. From Gregory Nutt (2017-12-10).
- * arch/arm/src/lpc54xx: Add basic build support for EMC and external
- SDRAM. From Gregory Nutt (2017-12-10).
- * configs/lpcxpresso-lp54629: Add logic to configure EMC pins.
- arch/arm/src/lpc54xx: Update pin configuration for EMC pins. All should
- have the input file offset and fast slew rate. From Gregory Nutt
- (2017-12-11).
- * arch/arm/src/lpc54xx: Add skeleton of SPI driver just as a starting
- point. From Gregory Nutt (2017-12-11).
- * arch/arm/src/lpc54xx: SDRAM is now fully functional on this board! From
- Gregory Nutt (2017-12-12).
- * arch/arm/src/lpc54xx: Add the ported LPC1788 LCD driver to use the
- LPC54xx pin definitions and SYSCON. From Gregory Nutt (2017-12-12).
- * configs/lpcxpresso-lpc54628: Add the fb configuration testing the LCD.
- From Gregory Nutt (2017-12-13).
- * arch/arm/src/lpc54xx: Fix some LCD clocking. There is now recognizable
- albeit corrupted data on the display. From Gregory Nutt (2017-12-13).
- * arch/arm/src/lpc43xx: Adapt LPC176x RTC driver for the LPC43xx. From
- Gintaras Drukteinis (2017-12-14).
- *arch/arm/src/lpc54xx: LCD.. Fix some misconceptions about how the video
- address lines are used. Fix some LCD BPP and BRG vs RGB settings. From
- Gregory Nutt (2017-12-14).
- * fs/fat: CONFIG_FAT_MAXFNAME may not exceed NAME_MAX (CONFIG_NAME_MAX)
- From Gregory Nutt (2017-12-15).
- * arch/arm/src/lpc54xx: Complete coding of the I2C driver. I2C now appears
- to be functional. config/lpcxpresso-lpc54628: Add support for I2C2 and
- for the I2C tool to the nsh configuration. From Gregory Nutt (2017-12-15).
- * arch/arm/src/stm32f7: Completes support for the STM32F72x/73x family.
- From Bob Feretich (2017-12-16).
- * arch/arm/src/lpc54xx: Implement GPIO interrupt support.
- configs/lpcxpress-lpc54628: Add support for the USER button. Enable the
- apps/examples/button test in the NSH configuration. From Gregory Nutt
- (2017-12-16).
- * arch/arm/src/lpc54xx: Fix some GPIO interrupt configuration errors. Add
- logic to acknowledge rising/falling edge events.
- config/lpcxpresso-lpc545628: Add an intermediate interrupt handler to
- support acknowledgment of rising and falling edge interrupts. From Gregory
- Nutt (2017-12-16).
- * configs/indium-f7: Adds support for the RAF Research Indium-F7 board.
- From Bob Feretich (2017-12-16).
- * configs/*/include; Remove prototype of xyz_boardinitialize() from
- board.h files. The authoritative prototype is in
- arch/arm/src/xyz/xyz_start.h From Gregory Nutt (2017-12-16).
- * fs/nfs/nfs_vfsops.c: Correctly infer file type. The file type is in
- struct nfs_statinfo_s's ns_type field, not in the ns_mode field. From
- Michael Jung (2017-12-17).
- * drivers/input/ft5x06.c: Add a driver for the FT5x06 capacitive,
- multi-touch, touchscreen controller. configs/lpcxpresso-lpc54628: Add
- support for the the FT5x06. Enable the driver as well as the apps/examples
- touchscreen test. Untested on initial commit. From Gregory Nutt
- (2017-12-17).
- * fs/fat: Don't warn about the CONFIG_FAT_MAXFNAME being too large if long
- file name support is not implemented. From Gregory Nutt (2017-12-17).
- * configs: Still trying to get consistent name. button driver expects
- board to define NUM_BUTTONS, not BOARD_NUM_BUTTONS. That was changed in
- all board.h header files, but there are still references in configs/ C
- files to BOARD_NUM_BUTTONS From Gregory Nutt (2017-12-17).
- * Fixed build of PCF8574 driver when its interrupts aren't enabled by
- config. From Dmitriy Linikov (2017-12-18).
- * net/tcp: Introduce tcp receive window control based on I/O buffer. NOTE:
- The algorithm is still experimental but useful for http streaming. From
- Masayuki Ishikawa (2017-12-18).
- * drivers/input/ft5x06: Fix a misconception.. WAKE is an output, not an
- input. From Gregory Nutt (2017-12-18).
- * drivers/power/bq2429x.c: Add trickle charging mode From Juha Niskanen
- (2017-12-18).
- * drivers/ft5x06: Add a polled mode of operation for the FT5x06 in attempt
- to work around the fact that the LPCXpresso-LPC54628 chose a non-interrupt
- pin for the FT5x06 interrupt. Driver is still not yet functional. From
- Gregory Nutt (2017-12-18).
- * drivers/ft5x06.c: Add additional configuration options: Optimize if
- multi-touch capability is not used. Add options to swap X/Y and
- thresholding to reduce the rate of false alarm reports (with no motion).
- From Gregory Nutt (2017-12-18).
- * configs/lpcxpresso-lpc54628: Add an NxWM configuration. Not yet
- functional. From Gregory Nutt (2017-12-18).
- * drivers/input/ft5x06.c: Fix a problem was was causing missing reports
- when the touch ends. From Gregory Nutt (2017-12-18).
- * arch/arm/src/lpc54xx: Bring in LPC43xx SD/MMC driver from
- https://github.com/Smoothieware/smoothie-nuttx/tree/master/nuttx/arch/arm/src/lpc43xx
- From Gregory Nutt (2017-12-19).
- * arch/arm/src/lc823450: lc823450 http streaming improvements: (1) Use
- spinlock APIs in lc823450_gpio.c. (2) In SMP mode, H/W interrupts should
- be handled on CPU0 to avoid deadlocks. (3) Fix a potential race condition
- in up_enable_irq(), (4) Use spinlock APIs instead of critical section APIs,
- (5) Enable HRT_TIMER in lc823450_timerisr.c, (6) Call up_enable_irq() to
- assign CPU0 for IRQ handling. (7) Use spinlock APIs instead of critical
- section APIs. (8) Fix race conditions in dma/usbdev. (9) Enable HRT_TIMER,
- LC823450_MTM0_TICK, SPINLOCK_IRQ, (10) Enable NET_TCP_RWND_CONTROL,
- NXPLAYER_HTTP_STREAMING_SUPPORT (rndis only) From Masayuki Ishikawa
- (2017-12-20).
- * syslog: Fixes LOG_UPTO macro to include specified log level From Anthony
- Merlino (2017-12-20).
- * Rename the configs/stm32f0discovery board directory to
- configs/stm32f051-discovery. There are others stm32f0discovery boards with
- different MCUs and different peripherals on the board. From Alan Carvalho
- de Assis (2017-12-20).
- * This commit adds support for stm32f072b-disco board. This is the board. I
- added the LEDs of this board and tested the compilation, more tests will be
- needed. From Alan Carvalho de Assis (2017-12-20).
- * drivers/sensors/hts221.c: Fix sensor reset with BOOT bit From Jussi
- Kivilinna (2017-12-20).
- * arch/arm/src/lpc54xx: Add support for card detect and write protect to
- SDMMC driver. configs/lpcxpresso-lpc54628: Add logic to bring up SDMMC.
- SDMMC pin configurations should have SLEW on and FILTER off. Add support
- for power pin to SDMMC driver. In SDMMC driver, don't do DMA if the entire
- transfer will fit in the FIFO. In SDMMC driver, add logic to transfer data
- when TXDR or RXDR interrupts occur. Also, add logic to set the RX
- watermark to 2 when receiving short, non-DMA data transfers. In SDMMC
- driver, fix an error which was clobbering the interrupt mask register
- (xfrmask). Also, add a kludge for the missing DTO interrupt. From Gregory
- Nutt (2017-12-20).
- * arch/arm/src/lc823450: Add SP_DMB() into lc823450_testset.c. In
- lc823450, ldrex and strex are not supported. So we implemented up_testset()
- with H/W Mutex. However, there was a bug in memory access order. This
- change ensures correct memory access order in up_testset() for lc823450.
- From Masatoshi.Tateishi (2017-12-21).
- * sched/semaphore/spinlock.c: Add memory barrier operations in
- spin_unlock(). In ARM document regarding memory barriers, SP_DMB() must be
- issued before changing a spinlock state to SP_UNLOCKED. However, we found
- that SP_DSB() is also needed to ensure that spin_unlock() works correctly
- for network streaming aging test. From Masayuki Ishikawa (2017-12-21).
- * arch/arm/src/lpc43xx: Add Windowed Watchdog Timer (WWDT) driver. Tested
- on LPC4357 but should be compatible for all LPC43xx MCUs. From Gintaras
- Drukteinis (2017-12-21).
- * arch/arm/src/lpc54xx: SDMMC fixes.. DMA should not be enabled on non-DMA
- transfers, the burst setting in FIFOTH is supposed to match the burst
- setting in the BMOD reseters, Add DMA error interrupt support. With these
- changes DMA now works on the LPC54xx. From Gregory Nutt (2017-12-21).
- * fs/vfs: reopen should return NULL when oflags is less than 0, not equal
- to 0. Because negative value is returned on failure of lib_mode2offlags
- which converts the mode string into file open mode flag. From Gregory Nutt
- (2017-12-21).
- * tools/cvsparser.c: Add a check to avoid access past the end of a fixed
- size array From Gregory Nutt (2017-12-21).
- * arch/arm/src/arm/up_cache.S: Fix cp15_invalidate_dcache. In cases where
- more than one dcache line was to be invalidated, a missing branch label
- would result in a false branch target into cp15_flush_idcache. Also the
- .size macro was fixed for both cp15_invalidate_dcache. From Michael Jung
- (2017-12-22).
- * Leverage the LPC54xx SD/MMC back to the LPC43xx (where it came from
- originally). From Gregory Nutt (2017-12-22).
- * arch/arm/src/lpc54xx/43xx: SDMMC driver: Need to disable DMA interrupts
- at completion of DMA. From Gregory Nutt (2017-12-22).
- * configs/bambino-200e: Add LPC43 SDMMC board support to Bambino-200E and
- fix errors/warns From Alan Carvalho de Assis (2017-12-22).
- * arch/arm/src/lpc43xx/lpc54xx SDMDC: Don't enable internal DMA in the
- control register if not doing internal DMA. Clear pending DMA-related
- interrupts before enabling them. From Gregory Nutt (2017-12-22).
- * arch/arm/src/lpc43/54 SDMMC: DTO is a wait event, not a transfer event.
- Defer enabling DMA transfer interrupts until after command has been sent.
- From Gregory Nutt (2017-12-23).
- * arch/arm/src/lpc43/lpc54 SDMMC: Add missing test for response errors in
- interrupt handler. From Gregory Nutt (2017-12-23).
- * arch/arm/src/lpc54xx: Add DMA driver ported from the LPC43xx GPDMA
- driver. From Gregory Nutt (2017-12-24).
- * arch/arm/src/lpc54xx: Bring in WWDT driver from LPC43. From Gregory
- Nutt (2017-12-24).
- * arch/arm/src/lpc54xx: Add an RTC driver and a RTC character driver lower
- half. configs/lpcxpresso-lpc54628: Add logic to register the RTC
- character driver if it is enabled. Enable the RTC and RTC character driver
- in the NSH configuration. From Gregory Nutt (2017-12-25).
- * arch/arm/src/lpc54xx: Add support for a random number generator. From
- Gregory Nutt (2017-12-26).
- * arch/arm/src/lpc54xx: Add an Ethernet driver. From Gregory Nutt
- (2017-12-26).
- * fs/nfs/nfs_vfsops.c: Fix buffer corruption. In case multiple read
- requests to the NFS server are required to fill up the user provided
- buffer, nfs_read might write behind the end of said buffer. This is fixed
- with this change. From Michael Jung (2017-12-28).
- * arch/arm/src/lpc54xx: Ethernet drivers ready for testing.
- configs/lpcxpresso-lpc54628: Add a netnsh configuration that will be used
- to test the Ethernet driver. From Gregory Nutt (2017-12-30).
- * arch/arm/src/lpc54xx: Finishes open design issues with AVBTP
- multi-channel operation. From Gregory Nutt (2017-12-30).
- * net: Fix an error introduced when ICMP and ICMP6 socket support was
- added in NuttX-7.3. A gratuitous ARP (or solicitation) was being sent
- after receive of the ECHO replay (advertisement). From Gregory Nutt
- (2018-01-01).
- * arch/arm/src/lpc54xx: Correct handling of the Ethernet RBU error. With
- this fix, Ethernet now appears to be fully functional. From Gregory Nutt
- (2018-01-01).
- * Add FPU to xmc4 ostest. Remove +x from makefiles, preserve .gdbinit
- across make clean, add FPU support to ostest on xmc4, add FPU test to
- ostest on xmc4 From David Alessio (2018-01-02).
- * net/arp: Fix IGMP multicast address computation on Nuttx network stack.
- This change fixes the IGMP address computation to allow multicast UDP
- messages. The destination address was created with the incorrect bytes of
- the given IPv4 address. From Louis Mayencourt (2018-01-02).
- * stm32/chip.h: minor fixes for STM32F334 From raiden00pl (2018-01-03).
- * net/route: Adding ftruncate() support eliminates an issue in file-based
- routing table management system. From Gregory Nutt (2018-01-03).
- * fs/userfs: Add truncate() support for userfs, fs/unionfs: Add truncate()
- support to the unionfs, fs/tmpfs: Add ftruncate() support to tmpfs,
- syscall/: Add system call support for ftruncate(). From Gregory Nutt
- (2018-01-03).
- * fs/vfs: Add support for truncate() and ftruncate(). The infrastructure
- is complete. Now, however, the actual implementation of ftruncate() will
- have to be done for each file. From Gregory Nutt (2018-01-04).
- * fs/nxffs: Add partial implementation of the truncate method: It
- extends files, but cannot yet shrink them. From Gregory Nutt (2018-01-04).
- fs/smartfs: Add implementation of the truncate method, fs/fat: Add
- implementation of the truncate method. fs/nfs: Add support for the
- truncate method to the NFS file system. From Gregory Nutt (2018-01-04).
- * net/route: Fix a couple of compile-related issues that have crept in
- since the last time the file-based routing table was used. From Gregory
- Nutt (2018-01-05).
- * configs/sim: Add support for a RAM MTD driver and initialization for use
- with SmartFS. From Gregory Nutt (2018-01-05).
- * FAT. Effectively handles the situation when a new file position is
- within the current sector. Accelerates the work of the FS with a multitude
- of operations to write small pieces of data within the current sector.
- From Aleksandr Vyhovanec (2018-01-05).
- * configs/sim: Add support for testing NXFFS. From Gregory Nutt
- (2018-01-06).
- * configs/flipnclick-sam3x: Add board support for the Mikroe Flip&Click
- SAM3X. From Gregory Nutt (2018-01-06).
- * configs/stm32f103-minimum: Add AT24 EEPROM support on STM32F103-Minimum
- board From Alan Carvalho de Assis (2018-01-06).
- * arch/mips/include/pic32mz: Add architectural support for the PIC32MZEF
- family. From Gregory Nutt (2018-01-08).
- * configs/flipnclick-pic32mz: Adds board support for the Mikroe Flip&Click
- PIC32MZ board. From Gregory Nutt (2018-01-08).
- * drivers/net: Add support for telnet character mode From Masayuki
- Ishikawa (2018-01-09).
- * arch/arm/src/lc823450: Introduce DVFS. This version only supports
- manual mode and Vdd1 is fixed to 1.2V. From Masayuki Ishikawa (2018-01-10).
- * configs/lc823450-xgevk: Enable DVFS in lc823450_bringup.c. Enable DVFS
- in audio and rndis. Add telnet character mode to rndis. From Masayuki
- Ishikawa (2018-01-10).
- * arch/arm/src/samdl: In sam_spibus_initialize(), the pinmux configuration
- was smashing the previous CTRLA register configuration. There are also some
- typos in samd_spi.h From Matt Thompson (2018-01-11).
- * SAMDL fix g_spi2ops and g_spi2dev using incorrect values From Matt
- Thompson (2018-01-11).
- * SAMD External Interrupt Controller (EIC) support From Matt Thompson
- (2018-01-11).
- * fs/procfs: Fix an error in a common function that manages read data.
- From Gregory Nutt (2018-01-12).
- * sched/irq: Add a configuration option to show interrupt information via
- a procfs file. From Gregory Nutt (2018-01-12).
- * arch/arm/src/lpc54xx: The SPI driver is code complete but still
- untested. This driver is 'basic' in that in only supports polled mode
- operations. From Gregory Nutt (2018-01-14).
- * arch/arm/src/stm32/stm32_hrtim: fix deadtime configuration. Add
- interface to change outputs SET/RST configuration From Mateusz Szafoni
- (2018-01-14).
- * drivers/loop/losetup.c: If we want to open read-only in losetup.c, flags
- should be O_RDONLY not O_RDWR From Fabio D'Urso (2018-01-14).
- * sched/clock/clock_systimer.c: Replace critical section APIs with
- spinlock APIs. (64bit only). If SMP=n or SMP=y && SPINLOCK_IRQ=n, this
- works in the same way as before. If SMP=y && SPINLOCK_IRQ=y, performance
- will be improved. From Masayuki Ishikawa (2018-01-15).
- * sched/clock/clock_systimer.c: Change the way that the 64-bit time is
- sampled. Previously, we disabled interrupts before sampling the 64-bit
- timer since the uint64_t access is not atomic on most CPUs. However,
- disabling (local) interrupts does not work in the SMP case. In that case,
- the timer interrupt will be running on only one of the CPUs; disabling
- interrupts on a different CPU will provide no protection from timer
- rollover. To work around this, logic was added that samples 64-bit timer
- is sampled twice and if 32-bit rollover was detected between samples, then
- loops until there is no rollover. From Gregory Nutt (2018-01-15).
- * configs/nucleo-l432kc/src: Fix some bogus logic noted by Fanda. From
- Gregory Nutt (2018-01-15).
- * fs/smartfs: Fix inverted ifdef for CONFIG_SMARTFS_USE_SECTOR_BUFFER in
- smartfs_extendfile() From Jussi Kivilinna (2018-01-16).
- * configs/nucleo-* and configs/stm32l476vg-disco: Fix more
- stm32_userleds.c bogus logic From Juha Niskanen (2018-01-16).
- * Fixes two bugs in multi-block SD-card operations on the STM32F7
- platform. arch/arm/src/stm32f7: DBLOCKSIZE must be the size of SD-card
- block, not the total amount of transferred bytes. drivers/mmcsd: respect
- SDIO_CAPS_DMABEFOREWRITE on CMD25. From Evgeniy Bobkov (2018-01-16).
- * Fixed nucleo-l432kc broken build when CONFIG_USERLED_LOWER defined From
- Fanda (2018-01-16).
- * Remove the BOARDIOC_TSCTEST_TEARDOWN boardctl() command. Remove all
- implementations of board_tsc_teardown() (they were all stubs anyway except
- for the simulation). From Gregory Nutt (2018-01-16).
- * SMP: Introduce spin_lock_wo_note() and spin_unlock_wo_note(). These APIs
- are used in sched_note.c to protect instrumentation data. The difference
- between these APIs to exsiting spin_lock() and spin_unlock() is that they
- do not perform instrumentation to avoid recursive call when
- SCHED_INSTRUMENTATION_SPINLOCKS=y. From Masayuki Ishikawa (2018-01-17).
- * configs: Eliminates the BOARDIOC_TSCTEST_SETUP command. Each board now
- initializes the touchscreen controller as a normal part of its board
- bring-up. board_tsc_setup() is gone; the touchscreen controller is now
- treated like any other on-board device.
- * configs: Since the touch screen initialization is now called from
- one-time board-initialization logic, it no longer needs protection from
- re-entry. From Gregory Nutt (2018-01-17).
- * configs: CONFIG_MAX_TASKS must be a power of 2. From Gregory Nutt
- (2018-01-17).
- * configs: There should be either CONFIG_LIB_BOARDCTL=y or
- CONFIG_BOARD_INITIALIZE=y (but not both) in the defconfig of every
- standalone NxWM configuration to assure that all of the board resources are
- initialized... especially the touchscreen since it is now a part of the
- board driver initialization. From Gregory Nutt (2018-01-17).
- * arch/arm/src/samdl: SPI must be disabled before changing the mode bits in
- CTRLA register From Matt Thompson (2018-01-17).
- * arch/arm/src/lc823450: Explicitly assign I2S IRQ handling to CPU0. From
- Masayuki Ishikawa (2018-01-18).
- * drivers/input/ft5x06.c: Remove logic to disable polling when there there
- is no client waiting for read data. That was a great idea to save CPU
- cycles when there is nothing reading from the touchscrren but,
- unfortunately, does not work with readers that open the driver in
- non-blocking mode. So I think we just have to eat the CPUs even when there
- is nothing waiting for touchscreen input. From Gregory Nutt (2018-01-18).
- * configs/lpcxpresso-lpc54628/lvgl: Add LittlevGL graphics demo
- configuration. From Gregory Nutt (2018-01-18).
- * sched/semaphore: Add DEBUGPANIC() in nxsem_post() if no waiting task is
- found. From Masayuki Ishikawa (2018-01-19).
- * sched/sched/sched_sporadic.c: fix compiler error when priority
- inheritance is enabled. Noted by eunb.song@samsung.com From Gregory Nutt
- (2018-01-19).
- * sched/sched: Fix some priority inheritance related issues noted during
- review of logic. Also add some REVISIT comments for some issues noted in
- the design. From Gregory Nutt (2018-01-20).
- * Issue #85: /dev/userleds is not working for nucleo-l432kc fixed From
- Fanda Vacek (2018-01-20).
- * arch/arm/src/stm32/stm32_hritm.c: Add interface to get timer clock
- frequency, fix timer freq calculation, add compare/capture registers
- significant bits checking. From Mateusz Szafoni (2018-01-21).
- * stm32f334-disco: add buck converter and boost converter logic From
- Mateusz Szafoni (2018-01-21).
- * fs/userfs: use correct req type in userfs_truncate, remove use of
- undeclared buf From Juha Niskanen (2018-01-22).
- * arch/arm/src/xmc4: Refactor pll setup, refactored PLL/CLK config, easier,
- checks for correctness, call go_os_start if STACK_COLORIZED, smarter config
- of EXTCLK output freq. From David Alessio (2018-01-22).
- * net/: The existence of the network driver ioctl() method should depend on
- CONFIG_NETDEV_IOCTL rather than CONFIG_NETDEV_PHY_IOCTL. The former
- enables the method, the later enables a subset of possible driver IOCTLs.
- This change should be basically a no-operation. The affected ioctl methods
- only support those subset of driver IOCTLs selected by
- CONFIG_NETDEV_PHY_IOCTL and the network logic will tolerate a nul ioctl
- method. From Gregory Nutt (2018-01-22).
- * net/tcp: Write buffering logic should not wait for a free buffer if the
- socket was opened non-blocking. Also, rename the TCP write buffering
- macros from WRB_* to TCPWB_* to make room in the namespace for write
- buffering with other protocols. From Gregory Nutt (2018-01-22).
- * net/udp: Remove some conditional logic that was true if there is only a
- single network device, but not true in the multi-device context. From
- Gregory Nutt (2018-01-22).
- * net/udp: This commit adds an implementation of UDP write buffering.
- From Gregory Nutt (2018-01-22).
- * net/udp: In sendto(), return EHOSTUNREACH if the network is down. From
- Gregory Nutt (2018-01-22).
- * drivers/mtd/at24xx.c: Correct page size for AT24C02 part. From Alexander
- Oryshchenko (2018-01-24).
- * arch/arm/src/stm32: Make STM32 usable with an external RTC.
- * drivers/timers/ds3231.c: Correct some debug statments. From Alexander
- Oryshchenko (2018-01-24).
- * arch/arm/src/stm32/stm32_spi.c: Removed unnecessary (and incorrect) speed
- limitation From Alexander Oryshchenko (2018-01-24).
- * arch/arm/src/stm32/stm32f40xxx_i2c.c: Correct some recent changes to
- STM32F4 I2C that broke poll mode of operation. From Alexander Oryshchenko
- (2018-01-24).
- * arch/arm/src/samdl: Added SAMD DAC header file. Fixed SAMD EVSYS header.
- Added SAMD TC header file. Fixed some minor typos. Added missing EVCTRL
- register bits in TC. From Matt Thompson (2018-01-24).
- * configs/flipnclick-sam3x (also Arduio-Due): Remove disabling of
- environment, mountpoints, and poll. Add NSH arch initialization so that
- procfs will be automounted. Increase task name size from 0 to 32. Update
- README. From Gregory Nutt (2018-01-25).
- * arch/arm/src/samdl: Added DMAC header for SAMD, fixed up sam_dmac to
- compile with debugging enabled From Matt Thompson (2018-01-25).
- * arch/arm/src/samv7/sam_lowputc.c: Fix undefined variable when using
- USART1 for other purposes than UART (e.g. SPI). From Frank Benkert
- (2018-01-26).
- * arch/arm/src/stm32 and stm32f7: Remove confusing, redundant, and
- misleading definitions of STM32_BKP_BASE from the F2, F3, and F4 memory
- maps. Unlike the F1, these parts do not have a separate BKP address
- region. The BKP registers are with the RTCC address regions. stm32_bkp.h
- should only be used for STM32 F1. stm32_rtcc.h should be used to access BKP
- registers on F2, F3, and F4. From Gregory Nutt (2018-01-26).
- * stm32/Kconfig: fix COMP7 dependency. stm32_hrtim: add HRTIM push-pull
- mode configuration. stm32f334-disco: add buck-boost converter mode From
- raiden00pl (2018-01-27).
- * arch/arm/src/samdl: Added Analog Comparator headers and basic
- initialization From Matt Thompson (2018-01-28).
- * arch/arm/src/stm32: I have a SPI bus with both Mode 0 and Mode 3 devices
- on it. After performing SPI I/O to a Mode 0 device, switching to a Mode 3
- device locked up the SPI interface. Only zeroes would be read. I traced
- the reason for the lock-up to arm/arm/src/stm32f7/stm32_spi.c function
- spi_setmode(). Changing the mode causes a spurious SPI clock transmission
- that confuses the stm32f7 SPI input hardware. This problem is solved by
- (1) changing the SPI mode with SPI (and perhaps DMA) disabled, and (2)
- flushing the receive FIFO if the mode change results in garbage in the
- FIFO. From Bob Feretich (2018-01-29).
- * drivers/sensors: Add support to MAX44009 ambient light sensor From Juha
- Niskanen (2018-01-29).
- * tools/logparser: Add a tool which (when it matures) will help me to
- convert git logs to ChangeLog format. From Gregory Nutt (2018-01-29).
- * tools/: Add #define _GNU_SOURCE to all C files that call asprintf()
- From Gregory Nutt (2018-01-29).
- * arch/arm/src/samdl: Added Timer Compare for Control registers header
- From Matt Thompson (2018-01-29).
- * sched/sched: Add new internal OS function nxsched_setaffinity() that is
- identical to sched_isetaffinity() except that it does not modify the errno
- value. All usage of sched_setaffinity() within the OS is replaced with
- nxsched_setaffinity(). From Gregory Nutt (2018-01-30).
- * sched/sched: Internal functions sched_reprioritize() and
- sched_setpriority() no longer modify the errno value. Also renamed to
- nxsched_reprioritize() and sched_setpriority(). From Gregory Nutt
- (2018-01-30).
- * sched/sched: Add new internal OS function nxsched_getscheduler() that is
- identical to sched_getscheduler() except that it does not modify the errno
- value. All usage of sched_getscheduler() within the OS is replaced with
- nxsched_getscheduler(). From Gregory Nutt (2018-01-30).
- * sched/sched: Add new internal OS function nxsched_setparam() that is
- identical to sched_setparam() except that it does not modify the errno
- value. All usage of sched_setparam() within the OS is replaced with
- nxsched_setparam(). From Gregory Nutt (2018-01-30).
- * sched/sched: Add new internal OS function nxsched_getparam() that is
- identical to sched_getparam() except that it does not modify the errno
- value (actually, the previous value erroneously neglected to set the errno
- value to begin with, but this fixes both issues). All usage of
- sched_getparam() within the OS is replaced with nxsched_getparam(). From
- Gregory Nutt (2018-01-30).
- * sched/: Fix several inappropriate accesses to get_errno() that were
- missed in previous changes (some going back to nuttx-.23). Add new
- nxsched_setscheduler() and nxsched_getaffinity() which are equivalent to
- their counterparts without the nx on front. These versions do not modify
- the errno value. Changed all calls within the OS to use these newer
- versions of the functions. From Gregory Nutt (2018-01-30).
- * binfmt/, configs/, grahics/, libc/, mm/, net/, sched/: OS references to
- the errno variable should always use the set_errno(), get_errno() macros.
- From Gregory Nutt (2018-01-30).
- * arch/arm/src/stm32 and stm32f7: Architecture-specific code is not
- permitted to modify the errno variable. drivers/ and libc/: OS references
- to the errno variable should always use the set_errno(), get_errno()
- macros. From Gregory Nutt (2018-01-30).
- * SMP: Introduce a new global IRQ clearing logic and tasklist protection.
- The previous implementation of clearing global IRQ in sched_addreadytorun()
- and sched_removereadytorun() was done too early. As a result, nxsem_post()
- would have a chance to enter the critical section even nxsem_wait() is
- still not in blocked state. This patch moves clearing global IRQ controls
- from sched_addreadytorun() and sched_removereadytorun() to
- sched_resumescheduler() to ensure that nxsem_post() can enter the critical
- section correctly. For this change, sched_resumescheduler.c is always
- necessary for SMP configuration. In addition, by this change, task_exit()
- had to be modified so that it calls sched_resumescheduler() because it
- calls sched_removescheduler() inside the function, otherwise it will cause
- a deadlock. However, I encountered another DEBUGASSERT() in
- sched_cpu_select() during HTTP streaming aging test on lc823450-xgevk.
- Actually sched_cpu_select() accesses the g_assignedtasks which might be
- changed by another CPU. Similarly, other tasklists might be modified
- simultaneously if both CPUs are executing scheduling logic. To avoid this,
- I introduced tasklist protetion APIs. With these changes, SMP kernel
- stability has been much improved. From Masayuki Ishikawa (2018-01-31).
- * arch/arm/src/samdl: Added I2S register definitions. From Matt Thompson
- (2018-01-31).
- * drivers/sensors/lis2dh: Use realtime clock if monotonic is not
- available From Juha Niskanen (2018-01-31).
- * fs/aio: Fix one additional place where the errno variable is being
- accessed inappropriately. From Gregory Nutt (2018-01-31).
- * sched/wdog: wd_start() is an internal OS function and should not set the
- errno value. Reviewed and updated every call to wd_start() to verify if
- return value is used and if so if the errno value is accessed. From
- Gregory Nutt (2018-01-31).
- * sched/task: Add nxtask_create(). Kthread_create() and nxtask_create()
- are internal OS functions and should not modify the errno variable.
- configs/: threads started by board bringup logic should be kernel threads,
- not user tasks. From Gregory Nutt (2018-01-31).
- * drivers/: threads started by drivers should be kernel threads, not user
- tasks. Review return values for all calls to kthread_start() because it no
- longer returns an errno. From Gregory Nutt (2018-01-31).
- * graphics/: Review return values for all calls to kthread_start() because
- it no longer returns an errno. From Gregory Nutt (2018-01-31).
- * sched/: Convert legitimate uses of task_create() to nxtask_create().
- Review handling of returned values from all uses of kthread_create() (as
- well as nxtask_create()). From Gregory Nutt (2018-01-31).
- * arm/src/kinetis: Correct some Ethernet PHY register bit tests for the
- KSZ8081 PHY. From Stewart (2018-02-01).
- * libc/stdio: in dtoa(), up_interrupt_context() is used in a debug
- assertion. up_interrupt_context() is not available in the user-mode phase
- of the PROTECTED or KERNEL build configurations. In those configurations,
- enabling libc floating point support and debug assertions will result in an
- undefined reference to up_interrupt_context(). From Gregory Nutt
- (2018-02-01).
- * binfmt/: Fix one more inappropriate access to the errno variable. From
- Gregory Nutt (2018-02-01).
- * configs/stm32f103-minimum: Add support to BMP180 on BluePill
- (stm32f103-minimum) board. From Alan Carvalho de Assis (2018-02-04).
- * armv7-a, armv7-r, armv7-m: Add atomic read-add-write and
- read-subtract-write functions. From Gregory Nutt (2018-02-04).
- * spin_lock_irqsave() and spin_unlock_irqrestore() are only valid if the
- CPU supports global disabling of interrupts. From Gregory Nutt (2018-02-04).
- * sched/sched: SMP: Fix this_task() to be an atomic operation. In the
- previous implementation, this_task() was defined in sched.h by using just a
- macro current_task(this_cpu()). However, I found that this is not atomic
- and actually sometimes switching CPU happened in executing the macro when
- we tested audio steaming plus executing commands via telnet. This change
- resolves this issue by implementing atomic this_task()in sched_thistask.c
- which is newly introduced. From Masayuki Ishikawa (2018-02-04).
- * configs/stm32f429i-disco: Separate SPI4 from MTD init. I was trying to
- attach a non-MTD peripheral to an STM32F429I Discovery Board's SPI4 port
- and was hitting compilation problems, since CONFIG_MTD and thus 'struct
- mtd_geometry_s' was not defined. This patch separates SPI4 initialization
- logic from MTD initialization logic. From Michael Jung (2018-02-05).
- * sched/sched: Implements a global scheduler lock capability as part of
- SMP support. This allows the scheduler to be locked with no knowledge or
- access to the TCB of the currently running task. This is necessary because
- accessing the TCB of the currently running task is, itself, a non-atomic
- operation. This global scheduler lock capability was add just to support
- that atomic access to the TCB. From Gregory Nutt (2018-02-05).
- * sched/sched: Extend the last global lock change to work with the
- lc823450-xgevk which does not support the atomic fetch add but does support
- disabling interprocessor interrupts. Disabling interprocessor interrupts
- will also guarantee that the TCB address calculation is atomic. From
- Gregory Nutt (2018-02-05).
- * sched/irq: Fix a infinite recursion problem that a recent change
- introduced into the i.MX6 SMP implementation. From Gregory Nutt
- (2018-02-06).
- * arch/arm/src/armv7-a: Found some additional places were the new
- this_task() function cannot be called in the i.MX6 SMP configuration. From
- Gregory Nutt (2018-02-06).
- * sched/ and arch/arm/src/armv7-a: Replace a few more occurrences of
- this_task() with current_task(cpu) in an effort to get the i.MX6 working in
- SMP mode again. It does not yet work, sadly. From Gregory Nutt
- (2018-02-06).
- * sched/task: It is not appropriate for logic in task_exit() to call the
- new version of this_task(). sched/irq: Remove redundant fetch of CPU
- index; configs/sabre-6quad: update README. From Gregory Nutt (2018-02-06).
- * arch/arm/src/lpc17xx: Disable LPC17 FDR when not used. If a boot loader
- set the fractional divider (FDR) the baud rate in nuttx will be wrong
- (multiplied by this fraction). So if it is not used, it should be
- disabled. From hg42 (2018-02-08).
- * arch/mips/src/mips32: In up_idle, the kludge that was conditionally
- enabled if the work queue was enable appears to be needed even when he work
- queue is not enabled on the PIC32MZ.
- * arch/mips/src/pic32mz: Fix some typos in debug instrumentation in
- pic32mz-gpio.c; fix some typos related to UART5 configuration in
- pic32mz-serial.c.
- * configs/flipnclick-pic32mz/nsh: Switch serial console to UART3. There
- is some problem with the UART4 RX pin documentation or configuration. From
- Gregory Nutt (2018-02-09).
- * arch/arm/src/xmc4/: Fix USIC_BRG_SCLKCFG definition From Alan Carvalho
- de Assis (2018-02-09).
- * drivers/lcd: Add configuration support for HiletGo OLED.
- configs/flipnclick-pic32mz: Add board support for HiletGo OLED. From
- Gregory Nutt (2018-02-10).
- * configs/flipnclick-pic32mz: Add an nxlines configuration for use in
- testing the custom HiletGo Click board. From Gregory Nutt (2018-02-10).
- * arch/arm/src/samdl: Added FDPLL clock support. Fixed sequence of OSC32K
- calibration setup. From Matt Thompson (2018-02-10).
- * arch/arm/src/samdl: Fix EIC interrupt edge sensitivity for pin numbers >
- 8 From Matt Thompson (2018-02-10).
- * arch/arm/src/samdl: Added loading factory USB calibration data from
- NVRAM From Matt Thompson (2018-02-11).
- * arch/arm/src/stm32/stm32_hritm: Add interface to set timer frequency,
- fix slave timers reset configuration, change POWER_INFO to TIMER_INFO From
- Mateusz Szafoni (2018-02-11).
- * configs/stm32f103-minimum: Add zerocross support to STM32F103-Minimum
- board From Alan Carvalho de Assis (2018-02-11).
- * configs/flipnclick-sam3x: Adds basic board support for the HiletGo
- OLED. From Gregory Nutt (2018-02-11).
- * arch/arm/src/lpc17xx: DisableDisable LPC17 FDR when not used (second
- fix). If a boot loader sets the fractional divider (FDR) the baud rate
- in nuttx will be wrong (multiplied by this fraction). This also has to
- be added to lpc17_lowputc.c. From Harald Gutsche (2018-02-11).
- * arch/arm/src/samdl: Fix DMA controller support. From Matt Thompson
- (2018-02-11).
- * arch/arm/src/samdl: Added experimental DMA support to SPI driver.
- spi_exchange() uses a pair of DMA channels for TX and RX. From Matt
- Thompson (2018-02-11).
- * configs/stm32f103-minimum: Add OLED SSD1306 support to
- STM332F103-Minimum From Alan Carvalho de Assis (2018-02-11).
- * drivers/lcd: Fix the default I2C address of SSD1306 OLED display (7- vs
- 8-bit addressing) From Alan Carvalho de Assis (2018-02-11).
- * net/tcp: Fixed bad return value handling in psock_tcp_send(). send()
- expects psock_tcp_send() to return a negated errno value, not -1 with the
- errno set (GN: I added same change for tcp_send_buffered.c which has the
- same issue as tcp_send_unbuffered.c) From Pelle Windestam (2018-02-13).
- * arm/arm/src/stm32: Corrections to STM32 F4 I2C to restore
- functionality. From Alexander Oryshchenko (2018-02-13).
- * arm/arm/src/stm32: Corrections to STM32 F4 I2C to fix the NORESTART
- flag. From Alexander Oryshchenko (2018-02-13).
- * drivers/sensors: Added support for LIS3DH accelerometer sensor. From
- Matt Thompson (2018-02-13).
- * drivers/eeprom: EEPROM driver for AT24xx compatible EEPROMs. From
- Sebastien Lorquet (2018-02-14).
- * configs/stm32f103-minimum: Add board support to MAX6675 Thermocouple
- sensor From Alan Carvalho de Assis (2018-02-14).
- * sched/signal: Remove SMP related logic in sig_dispatch.c. This change
- prevents from a deadlock in up_schedulesigaction.c where inter-CPU signal
- handling is actually implemented. arch/arm/src/armv7-m: Fix signal
- handling for SMP. In previous implementation, signal handling for SMP was
- incorrect. Thus, for example, if an inter-CPU signal happened an incorrect
- tcb was signaled and caused ASSERT(). This change fixes the issues and
- works for both inter-CPU signal handling and signal handling on the same
- CPU. From Masayuki Ishikawa (2018-02-14).
- * arch/arm/src/armv7-a: Port the SMP change by Masayuki Ishikawa to the
- ARMv7-A family. From Gregory Nutt (2018-02-14).
- * arch/xtensa/common: Port the SMP change by Masayuki Ishikawa to the
- Xtensa family. From Gregory Nutt (2018-02-14).
- * configs/stm32f103-minimum: Remove CONFIG_NX_LCDDRIVER dependence from
- stm32_ssd1306.c From Alan Carvalho de Assis (2018-02-14).
- * drivers//sensors: LIS3DH: Fix missing shift when writing output data
- rate to register From Matt Thompson (2018-02-14).
- * sched/clock: Replace critical section APIs with spin lock APIs in
- clock_gettime.c. This change will improve performance for SMP systems but
- nothing changes for non-SMP systems. In SMP mode, rtrtcb is not always at
- the g_readytorun.head. This change removes DEBUGASSERT() to avoid this
- condition. From Masayuki Ishikawa (2018-02-15).
- * drivers/lcd: lcd_framebuffer.c does not need to include board-specific
- board.h. From Gregory Nutt (2018-02-15).
- * include/lcd: Eliminate a warning from an SSD1306 header file by adding a
- forward reference to struct i2c_master_s. From Sebastien Lorquet
- (2018-02-15).
- * lcd/ft80x: This commit adds an FTDI/BridgeTek FT80x driver. It is
- untested (I don't even have hardware yet and, hence, it is marked as
- EXPERIMENTAL (2018-02-16).
- * arch/arm/src/stm32/stm32f33xxx_rcc.c: A flash wait state configuration.
- Flash latency must be fixed according to sysclk frequency. If this
- operation is not done or done after PLL configuration, the STM32 fail to
- continue boot operation if the frequency if greater than 24MHz according to
- the board variable STM32_SYSCLK_FREQUENCY. Tested on stm32f334-disco
- board. From Gwenhael Goavec-Merou (2018-02-17).
- * configs/stm32f746g-disco: Add stm32f746g-disco Ethernet configuration.
- Add USART1 support (connected to the USB virtual serial port) From Louis
- Mayencourt (2018-02-19).
- * drivers/mtd: mtd_config.c: Add still more error handling (to detect bad
- underlying flash implementations). Remove MTD_ERASE that was erasing data
- block instead of erase block. This is a partial revert of 4f18b4.
- Reported-by: Pascal Speck <iktek01@yahoo.com>
- * arch/arm/src/stm32l4: stm32l4_flash: change flash programming to use
- page buffer for unaligned writes. From Juha Niskanen (2018-02-19).
- * arch/arm/src/stm32: stm32_flash.c: add progmem support for STM32L15XX
- From Juha Niskanen (2018-02-20).
- * Added ECANCELED condition to DEBUGASSERT-s checking sem_wait result From
- Dmitriy Linikov (2018-02-20).
- * net/tcp: Fixes hardfault when network goes done and network monitoring
- is in place. From Gianpaolo Ferroni Ariani (2018-02-22).
- * arch/arm/src/sam34: Fix a typo resulting in duplicate names in DMAC bit
- definitions. From Gregory Nutt (2018-02-22).
- * net/tcp: tcp_send_[un]buffered.c: Check routing table in
- psock_send_addrchck(). Previously only ARP table was considered when
- determining if the data will actually be sent. From Juho Grundstrom
- (2018-02-22).
- * net/tcp: Generalize Juho Grundstrom's IPv4 change for IPv6 as well.
- From Gregory Nutt (2018-02-22).
- * arch/arm/src/lc823450: Fix up_enable_irq() timing for I2S. In previous
- commit, I2S IRQ might be sometimes assigned to CPU1 when CONFIG_SMP=y.
- This change fixes this issue. Refactor timer driver. Introduce
- lc823450_timer.h and move lc823450_timerisr.c to lc823450_timer.c Add MTM
- timer APIs for DVFS. Introduce up_rtc_gettime() for CONFIG_RTC_HIRES.
- Introduce idle time calculation in DVFS. Also, DVFS autonomous mode based
- on CPU idle time is supported. NOTE: voltage control is still disabled.
- From Masayuki Ishikawa (2018-02-23).
- * configs/lc823450-xgevk: Update defconfigs. Enable RTC_HIRES instead of
- RTC_DATETIME (audio/rndis). Disable TCP_WRITE_BUFFERS and change
- SCHED_LPWORKPRIORITY (rndis). Update SMP and DVFS related part. From
- Masayuki Ishikawa (2018-02-23).
- * net/icmpv6/icmpv6: Eliminate warnings by correct the type uses to link
- structure into lists. From SP (2018-02-23).
- * configs/viewtool-stm32f107: Add support for FT80X initialization. Add
- ft80x configuration that will eventually be used for testing the ft80x if I
- ever receive hardware. From Gregory Nutt (2018-02-24).
- * Fixed parsing of DNS response packets having compressed names ending with
- pointer. There were troubles parsing response packets which have
- compression of QNAME/NAME field when only trailing part of the name (not
- the whole name) is replaced with pointer to another part of the packet.
- This commit fixes parsing of such packets. Also I added checks to keep
- parsing only in bounds of the read part of DNS response packet. From
- Dmitriy Linikov (2018-02-26).
- * arch/arm/src/stm32f7: Backport RTC alarm setting changes from STM32L4.
- Most notably this fixes RTC getting stuck issue when both alarms were used.
- Root cause was writing RTC ISR register contents to RTC CR register. From
- Juha Niskanen (2018-02-27).
- * stm32_hrtim: add repetition support and fix enum overflow From Mateusz
- Szafoni (2018-02-27).
- * drivers/i2c and drivers/spi: Fix compile if
- CONFIG_DISABLE_PSEUDOFS_OPERATIONS, fix bad NULL checks From Juha Niskanen
- (2018-03-01).
- 7.25 2018-06-03 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/stm32f33xxx_adc.c: Fix bug in RCC reset logic that
- resets ADC1 configuration when both ADC1 and ADC2 are in use From Mateusz
- Szafoni (2018-03-02).
- * drivers/wireless/cc1101.c: Driver improvements from from lihaichen
- (2018-03-03).
- * Remove all usage of printf() from the OS. That is not an acceptable
- context for the use of an application-oriented interface that depends on a
- task-specific file descriptor and C buffered I/O. From Gregory Nutt
- (2018-03-03).
- * stm32_hrtim: fix capture_get function, add software capture trigger, add
- software reset trigger, add outputs polarization configuration From
- raiden00pl (2018-03-04).
- * Per OpenGroup.org, syslog -- and, hence, nonstandard vsyslog, and debug
- wrappers -- does not return a value. Rename _vsyslog to nx_vsyslog. Use
- internal nx_vsyslog in the few cases where a return value is required.
- From Gregory Nutt (2018-03-04).
- * arch/srm/src/stm32f7: Add CONFIG_RTC_PERIODIC support. Also makes the
- RTC lowerhalf more like in STM32L4. From Juha Niskanen (2018-03-05).
- * drivers/i2c: Add support for the pca9540bdp i2cmultiplexer. From Giorgio
- Groß (2018-03-05).
- * arch/arm/src/stm32: Add support for the STM32F401xB and STM32F401xC
- families. From Gregory Nutt (2018-03-05).
- * drivers/power: Add pm_unregister From Juha Niskanen (2018-03-06).
- * arch/srm/src/stm32f7: add PM hooks to ADC, I2C and SPI. From Juha
- Niskanen (2018-03-06).
- * Makefile.unix: Eliminate the spurious errors reported by 'make
- savedefconfig' From Gregory Nutt (2018-03-07).
- * drivers/net/phy_notify.c: Use phy debug macros instead of net debug
- macros. ninfo() and nerr() are used a bit too much, so the console output
- is difficult to read with network debug. From Sebastien Lorquet
- (2018-03-09).
- * drivers/lcd/ft80x: ACTIVE host command appears to be formatted
- differently than other host commands; Fix ROM CHIPID. Appears to be
- big-ending, BCD. Fix some compile issues when debug features are
- enabled. From Gregory Nutt (2018-03-09).
- * drivers/lcd/ft80x: Fix a typo that caused the driver to fail to recognize
- the ft801 chip version. From Gregory Nutt (2018-03-11).
- * drivrs/leds: Userled driver was using LCD debug output instead of LED
- debug output. From Sebastien Lorquet (2018-03-11).
- * net/tcp: Add support for TCP Keepalive, add SO_KEEPALIVE socket option.
- Adds socket options needed to manage TCP-keepalive and TCP state machine
- logic to detect if that the remote peer is alive. From Gregory Nutt
- (2018-03-12).
- * arch/arm/src/stm32/usb: skip recipient check for descriptor related
- requests From Simon Piriou (2018-03-12).
- * net/tcp: In tcp_input(), add the logic to detect, decode, and respond to
- TCP Keep-Alive packets. In tcp_timer(), fix some problems with the way
- that TCP Keep-Alive probes were being formatted. From Gregory Nutt
- (2018-03-12).
- * stm32f103-minimum: add support for DFU bootloader From Simon Piriou
- (2018-03-12).
- * arch/arm/src/stm32/lowputc: Fix uart glitch when lowputc is enabled..
- From Simon Piriou (2018-03-12).
- * libc/time: Add an implementation of clock() From Gregory Nutt
- (2018-03-13).
- * drivers/sensors: Add support for Sensirion SHT2x humidity sensor From
- Juha Niskanen (2018-03-13).
- * drivers/serial/Kconfig: Kconfig is too big, divide into Kconfig,
- Kconfig-uart, Kconfig-usart, Kconfig-sci, Kconfig-16550. More than one
- MCU supports LPUARTs. Add Kconfig-lpuart and remove MCU-specific LPUART
- definitions. Affects Kinetis and STM32L4. From Gregory Nutt (2018-03-14).
- * libc/lzf: Add Marc Alexander Lehmann's LIBLZF3.6 library From Boris
- Astardzhiev (2018-03-14).
- * configs/stm32f4discover/posix_spawn: With recent changes, needs to enable
- boardctl() w/symbol table support. From Gregory Nutt (2018-03-16).
- * fs/craomfs: Add CROMFS file system. CROMFS is a commpressed, in-memory
- read-only file system based on LZF. From Gregory Nutt (2018-03-19).
- * sched/sched: Fix a deadlock in SMP mode. Two months ago, I introduced
- sched_tasklist_lock() and sched_tasklist_unlock() to protect tasklists in
- SMP mode. This change works well for HTTP audio streaming aging test with
- lc823450-xgevk. However, I found a deadlock in the scheduler when I tried
- similar aging tests with DVFS autonomous mode where CPU clock speed
- changed based on cpu load. In this case, call sequences were as follows.
- To avoid this deadlock, I added sched_tasklist_unlock() when calling
- up_cpu_pause() and sched_addreadytorun(). Also, added
- sched_tasklist_lock() after the call. Also added critical sections to
- lib_filesem.c, mm_sem.c, and net_lock.c for SMP for SMP. From Masayuki
- Ishikawa (2018-03-20).
- * arch/arm/src/stm32l4: Port 1wire driver from stm32. From Juha Niskanen
- (2018-03-20).
- * mm/iob/iob_copyin.c: Fixed problem with send() ret value when using
- nonblocking io over buffered tcp socket From Dmitriy Linikov (2018-03-20).
- * tools/gencromfs.c: Adds tools/gencromfs.c, a tool that can be used to
- generate CROMFS file system images. From Gregory Nutt (2018-03-20).
- * |arch/arm/src/stm32l4: Add PM hooks to I2C, SPI and 1-wire From Juha
- Niskanen (2018-03-21).
- * drivrs/sensors/lis2dh: Clear INT1 at SNIOC_WRITE_INT1THRESHOLD ioctl
- From Jussi Kivilinna (2018-03-21).
- * drivers/sensors/sht21: Change I2C_TRANSFER return value so that it return
- on zero on success, not the count of bytes transferred. From Juha
- Niskanen (2018-03-22).
- * i2c/i2c_master.h: Change incorrect comment about I2C_TRANSFER return
- value to indicate that the method returns zero on success rather than the
- number of bytes transferred. From Juha Niskanen (2018-03-22).
- * configs/: Remove configurations using canutils/libuavcan and
- examples/uavcan. libuavcan has not built for a year or so. The basic
- problem is that as NuttX advances, the old frozen version of libuavcan has
- become absolute because it violates the portable POSIX OS interface. No
- one is maintaining the port so there is no alternative but to remove it.
- From Gregory Nutt (2018-03-23).
- * STM32, STM32L4: Add one bit read and write to 1-wire interface. This is
- needed for devices that require single bit timeslot generation and for
- 1-Wire search algorithm triplets. From Juha Niskanen (2018-03-23).
- * arch/arm/src/imx6: Bring in a few i.MX6 fixes that were committed on the
- i.MX RT branch. From Gregory Nutt (2018-03-23).
- * configs/: Add definition of strip to many Make.defs files. From Gregory
- Nutt (2018-03-25).
- * arch/arm/src/nrf52: Initial support for the NRF52 include UART and GPIO
- support. From Janne Rosberg (2018-03-26).
- * Per Matias Edlund: I recently used the tcflush function and found that it
- failed with ENOTTY. The reason is that the TCFLSH case in the function
- uart_ioctl in the file drivers/serial/serial.c does not update the ret
- value." On success, the TCFLSH IOCTL logic needs to explicitly set the
- return value (ret) to zero. From Gregory Nutt (2018-03-26).
- * netdb: Fix boundary conditions in dns_recv_response(). Fix typos in
- include/nuttx/net/dns.h From Masayuki Ishikawa (2018-03-27).
- * configs/nrf52-pca10040: Add support for the NRF52-PCA10040 board
- including LEDs and buttons From Janne Rosberg (2018-03-27).
- * arch/arm/src/stm32: In case of PHY failure, usually because of the lack
- of 25/50 MHz REFCLK input, the Ethernet block would lock up in a while
- loop waiting for readiness, which will never happened. This prevented the
- board from starting at all in the case of a PHY failure. This commit adds
- a retry loop to avoid bricking the board if the Ethernet block is unable
- to start. From Sebastien Lorquet (2018-03-27).
- * mac802154: Adds basic support for RX-ENABLE.request primitive From
- Anthony Merlino (2018-03-28).
- * mac802154: Adds ackreq flag to TX descriptor for use by radio driver. The
- radio layer is responsible for a full "transaction". Because of
- differences in radio capabilities, the radio must be responsible for the
- handling of acks and retransmissions. This commit simply passes the ackreq
- meta-data flag along to the radio. Also Fixes bug where primitive was
- freed when it shouldn't have been, causing double free call. From Anthony
- Merlino (2018-03-28).
- * wireless/bluetooth: Bring in the Bluetooth stack from the Intel/Zephyr
- arduino101_firmware_source-v1.tar package.
- * drivers/bluetooth: Adds re-architected version of the Bluetooth UART
- driver from the Intel/Zephyr arduino101_firmware_source-v1.tar package.
- From Gregory Nutt (2018-03-29).
- * wireless/bluetooth and include/nutt/net: Add support for Bluetooth IOCTL
- commands. From Gregory Nutt (2018-03-30).
- * net/bluetooth: Adds basic support for AF_BLUETOOTH sockets. From Gregory
- Nutt (2018-03-31).
- * arch/arm/src/tiva: Fix compilation errors on Tiva ADC code when ADC is
- enable. From Vinicius Maciel (2018-04-01).
- * drivers/wireless/bluetooth: Add a NULL device to support some very low
- level testing on the Simulator. From Gregory Nutt (2018-04-03).
- * configs/sim: Add a configuration that will support some limited testing
- of the Bluetooth stack. From Gregory Nutt (2018-04-03).
- * Change all Sony related copyright to conform with our company's internal
- rules. From Masayuki Ishikawa (2018-04-04).
- * drivers/wireless/cc3000: Eliminate support for the CC3000 wireless part
- because it doesn't use the USRSOCKET. From Alan Carvalho de Assis
- (2018-04-04).
- * configs/spark: Removes Spark board configuration. Still available in the
- Obsoleted repository. If there is no CC3000 support, then there is no
- purpose in supporting the Spark either. From Gregory Nutt (2018-04-04).
- * drivers/1wire: Add 1-wire subsystem and ds28e17 driver From Juha
- Niskanen (2018-04-04).
- * stm32/Kconfig: Add ADC injected channels configuration; stm32f334-disco:
- Add buck/boost converter example configuration From Mateusz Szafoni
- (2018-04-04).
- * drivers/mtd/w25.c: Fix w25_cacheflush sector bug. From lihaichen
- (2018-04-04).
- * arch/arm/src/stm32 and stm32l4: In 1wire driver, do not write useless
- WRITEBIT zero return value to const buffer From Juha Niskanen (2018-04-04).
- * drivers/sensors: Add LSM330 SPI and ADXL372 drivers along with the
- cluster driver infrastructure. From Bob Feratich (2018-04-07).
- * drivers/power/motor.c: Add generic upper-half motor driver From Mateusz
- Szafoni (2018-04-09).
- * drivers/sensors/max31855: Add multiple max31855 sensors feature and
- support for bambino-200e and stm32f4discovery From Tiago Almeida
- (2018-04-09).
- * arch/arm/include/tiva and configs/cc3200-launchpad: Remove all support
- for the CC3200 and CC3200-Launchpad. This was a port that was started but
- never completed. What good is partial CC3200-Launchpad board support with
- no wireless support? From Gregory Nutt (2018-04-09).
- * drivers/sensors/apds9960.c: Fix APDS9960 work queue BUG found by Kyle
- Lei From Alan Carvalho de Assis (2018-04-10).
- * tools/uncrustify.cfg: An initial cut at an uncrustify C formatting
- script. From Gregory Nutt (2018-04-11) Updated, corrected, and verified.
- From Bob Feretich (2018-04-11).
- * tools/nxstyle.c;: Add check for blank lines before and after single line
- comments. From Bob Feretich (2018-04-11).
- * arch/arm/src/: Problem: stm32f30xx hangs waiting for LSE to initialize.
- Reason for hang is that operation of setting LSE_ON does not take effect
- because there is no clock on PWR peripheral. this is initialized later in
- the code From Michał �yszczek (2018-04-11).
- * arch/arm/src/imxrt: Brings in basic support for the i.MX RT 1050
- 'crossover' SoC. Includes timer and UART support. This port was the
- joint effort of Janne Rosberg, Ivan Ucherdzhiev, and myself. I give
- credit to Ivan for the kill because he is the one to held on to the end.
- From Ivan Ucherdzhiev (2018-04-12).
- * sched/sched: Change ordering of round-robin time slice check
- (sched_process_scheduler()) and processing of wdog timers (wd_timer()).
- wd_timer()'s callback function can change current running task and, hence,
- must be done after the time slice check. The time slice check will
- decrement the currently running task's time slice allotment. If such a
- context switch occurs, then the newly started task will lost one could of
- that allotment before it even has a chance to run. From EunBong Song
- (2018-04-13).
- * arch/arm/src/stm32: Adds a Bluetooth HCI UART lower half driver for the
- STM32. From Gregory Nutt (2018-04-13).
- * configs/imxrt1050-evk: This commit adds support for booting from the on
- board HYPER Flash. From Ivan Ucherdzhiev (2018-04-13).
- * configs/stm32fdiscovery: Add support in bringup logic to initialize the
- HCI UART and register the HCI UART network device. From Gregory Nutt
- (2018-04-13).
- * fs/smartfs: Fix a hardfault in SmartFS. Problem occurred when opening a
- file with O_CREAT (only) when the file arelready exists but has a size of
- zero. From Michał �yszczek (2018-04-14).
- * arch/arm/src/xmc4: Add SPI support for Infineon XMC45xx microcontroller
- From Alan Carvalho de Assis (2018-04-14).
- * fs/mount: Fix wrong size reported by df -h. Reason is that size in bytes
- is calculated always on uint32_t types and cards bigger than 4GB will
- overflow uint32_t type. Solution is to use uint64_t where possible. From
- Michał �yszczek (2018-04-14).
- * tools/mkromfsimg.sh: Include an option in mkromfsimg.sh to ignore
- FAT/RAMDISK. This permits you to build tiny systems with ROMFS but with
- the rather large FAT FS support. From Alan Carvalho de Assis (2018-04-14).
- * arch/arm/src/imxrt: Corrects error in serial interrupts and baud setup.
- Now the basic IMXRT1050-EVK port is ready. The console is working. From
- Ivan Ucherdzhiev (2018-04-17).
- * arch/arm/src/imxrt: Add power management hooks From Gregory Nutt
- (2018-04-17).
- * net/sixlowpan: Fix a nasty, byte-ordering/endian-ness problem. The root
- cause has been found and corrected. And a half dozen or so bandaid fixes
- were reverted. From Gregory Nutt (2018-04-17).
- * arch/arm/include/tms570, arm/src/armv7-r, and arm/src/tms570: Adds
- support for the TMS570LS3137ZWT and corrects several ARMv7-R and TMS570
- issues From Gregory Nutt (2018-04-18).
- * configs/tms570ls31x-usb-kit: Adds support for the TI Hercules TMS570LS31x
- USB Kit From Ivan Ucherdzhiev (2018-04-18).
- * drivers/ieee802154/xbee: Adds a timeout to send logic to handle case
- where XBee module fails to respond to a Transmit request with a Transmit
- Status From Anthony Merlino (2018-04-19).
- * arch/arm/src/tiva: Allow building of Tiva platform with no serial
- console. From Dmitry Sharihin (2018-04-19).
- * drivers/net: Add TAP (network bridge) mode to tun.c. In previous
- implementation, TAP mode did not handle a packet correctly. Also, the
- driver did not set the link layer type and could not assign the interface
- name. This change fixes such issues and supports TAP mode correctly. From
- Masayuki Ishikawa (2018-04-20).
- * arch/arm/src/nrf52: Add watchdog timer drivers. Includes significant
- updates from Alan Carvalho de Assis <acassis@gmail.com> From Levin Li
- (2018-04-20).
- * configs/nrf52-pca10040: Add support for starting the watchdog timer on
- the nRF52. From Alan Carvalho de Assis (2018-04-20).
- * net/tcp: Extended support for sending to non-blocking tcp sockets. From
- Pelle Windestam (2018-04-20).
- * configs/nrf52-pca10040: Add a configuration for testing the watchdog
- timer. From Alan Carvalho de Assis (2018-04-20).
- * arch/arm/src/nrf52: nrf52_wdt_initialize() should return a success/fail
- indication. From Gregory Nutt (2018-04-20).
- * arch/arm/src/stm32: Enable DMA for SPI on stm32f30xxx MCUs. From Michał
- �yszczek (2018-04-20).
- * configs/imxrt1050-evk: Add logic to support user LED From Jake Choy
- (2018-04-20).
- * fs/vfs: Fix negative errno set in fs_open.c From Michał �yszczek
- (2018-04-20).
- * /arch/arm/src/lpc17xx: Fix USB device endpoint allocation bookkeeping.
- From Michael Jung (2018-04-21).
- * configs/stm32f4discovery: Add MAX7219 support to STM32F4Discovery board
- From Alan Carvalho de Assis (2018-04-21).
- * configs: Review all implementations of board_lcd_initialize(). The NuttX
- convention is that all internal functions that return errors as an 'int'
- must return a negated errno value on failure and a non-negative value on
- success. Most were right but eight of them had cloned logic that returns
- 1 on success and zero on failure... both of which are interpreted as
- success by the caller since they are non-negative. From Gregory Nutt
- (2018-04-21).
- * Makefile: Add support for nconfig frontend for 'make nconfig' From Michał
- �yszczek (2018-04-22).
- * arch/arm/sc/lpc17xx: Freeing endpoints should be set the same allocations
- as when endpoint was allocated. From Gregory Nutt (2018-04-23).
- * configs/imxrt1050-evk: Add procfs auto-mount support in imxrt_bringup.c.
- From Ivan Ucherdzhiev (2018-04-24).
- * drivers/1wire: Add PM hooks and unlink support to sht21 sensor (allowing
- hot-swappable I2C bus from 1-wire converter). Unlike most other unlink
- implementations in NuttX drivers, this one does not allow any I2C
- operations after unlink, making it possible to deallocate the I2C bus.
- From Juha Niskanen (2018-04-24).
- * configs/ stm32f746g-disco. Add clang support to stm32f746g-disco board
- From Goran Mekić (2018-04-24).
- * net/udp: Fix several issues using connected UDP sockets: sendto() should
- not accept an address. Normally send() should be used with connect UDP
- sockets instead. recvfrom() is no longer necessary. recvfrom() and
- poll() should not reset to accept any addresses but should, instead, only
- accept inputs and events from the connected remote peer. On of these
- issues was noted by �桂� <liguiding@pinecone.net>. Changes were made as
- summarized here:
- http://www.masterraghu.com/subjects/np/introduction/unix_network_programming_v1.3/ch08lev1sec11.html
- From Gregory Nutt (2018-04-25).
- * include/nuttx/wireless: Add a setbaud() method to the HCI UART lower half
- interface that can be used to change the default BAUD selection.
- arch/arm/src/stm32: Implement the setbaud() method for the STM32 HCI
- UART. From Gregory Nutt (2018-04-25).
- * arch/arm/src/imxrt: Minor repartitioning to account for the fact that the
- GPIO5 base address is not contiguous with the GPIO1-4 base addresses.
- From Gregory Nutt (2018-04-25).
- * arch/arm/src/imxrt/chip: Add some missing definitions for GPIO5 From
- Gregory Nutt (2018-04-25).
- * fs/vfs: Added support for checking if a descriptor is a socket in
- fstat(). From Pelle Windestam (2018-04-26).
- * drivers/wiresless/ieee80211: Correct some initialization problems with
- BCM43362 chip. Adds BCM43428 support. arch/arm/src: Add support for SDIO
- card to SDIO driver. From hhuysqt (2018-04-26).
- * arch/arm/src/imxrt: Add LIBCXX test configuration for IMXRT. From
- Gregory Nutt (2018-04-26).
- * configs/photon: Configurations the use the SDIO card interface must
- support CONFIG_STM32_SDIO_CARD. From Gregory Nutt (2018-04-26).
- * arch/or1k/src and configs/or1k. Adds basic architectural support for the
- OpenRISK mor1kx architecture. The initial commit was verified on a Qemu
- simulation but is otherwise untested. From Matt Thompson (2018-04-26).
- * configs/stm32f429i-disco: Add a LittlevGL configuration for
- stm32f429i-disco From seyyah (2018-04-26).
- * net/udp: Correct an error introduce in recent fixes for UDP connected
- sockets. The interaction between psock_udp_send() and psock_udp_sendto()
- was perverse: It should always pass a NULL destinatino address. From
- Gregory Nutt (2018-04-26).
- * Cosmetic changes to README and to comments. From Gregory Nutt
- (2018-04-26).
- * arch/arm/include/nrf52: All nRF52 IRQs above NRF52_IRQ_TEMP were wrong.
- From Alan Carvalho de Assis (2018-04-26).
- * net/udp: Fix a backward conditional test added in commit
- 434da18cd71ae667c801f41291fbbc205b24320b. From Gregory Nutt (2018-04-27).
- * arch/arm/src/imxrt: IMXRT LPUART Clock enable fix. From Ivan Ucherdzhiev
- (2018-04-27).
- * fs/vfs and net/udp: Repartition logic of commit
- 0c963449d6e8f5f8b2dfe96e9de3116633a3749a, moving into net/udp. Add
- support to handle connected UDP sockets. The correct 'optimal blksize' to
- return is the MSS. The MTU is always too big. From Gregory Nutt
- (2018-04-27).
- * arch/arm/src/imxrt: Add IOMUX implemention for GPIO5. From Jake
- (2018-04-27).
- * net/udp: Remove an unused variable warning. Add some comments. From
- Gregory Nutt (2018-04-27).
- * arch/arm/src/kinetis: USB device fixes: Use correct CONFIG OTG control,
- Fix interrupt storm when cable is disconnected. The DM, DP state were
- incorrect because the pulldowns were not enabled. Also the pending
- asynchronous resume interrupt needed to be re-armed after the suspend is
- in effect. This is now done in the isr. From David Sidrane (2018-04-28).
- * arch/arm/src/tiva: Add TERMIOS IOCTL support to the Tiva serial driver.
- From Dmitry Sharihin (2018-04-28).
- * configs/nucleo-l476rg: Add support to Nokia LCD PCD8544 on nucleo-l476rg
- From Alan Carvalho de Assis (2018-04-28).
- * configs/nucleo-l476rg: Add nxdemo configuration to nucleo-l476rg using
- PCD8544 From Alan Carvalho de Assis (2018-04-28).
- * Makefile.unix: There is a sort command in the 'make savedefconfig' file.
- I found that sort behaves differently on different platforms based on the
- environment variable LC_ALL. Now, Makefile.unix will force LC_ALL=C just
- for the sort command so that we can all generate equivalent defconfig
- files. From Gregory Nutt (2018-04-29).
- * arch/arm/src/tiva: Implements an EEPROM driver in compliance with MTD
- driver as provided by NUTTX for TM4C1294. The EEPROM driver currently
- supports only two functionalities - read bytes(multiple of 4) and write
- bytes (multiple of 4). From Shirshak Sengupta (2018-04-29).
- * arch/arm/src/tiva: Implemented Flash CONFIG_MTD_BYTE_WRITE for TM4c1294.
- Implemented the tiva_write function which will write an arbitrary number
- of bytes to flash (in multiple of 4). From Shirshak Sengupta (2018-04-29).
- * progmem interface: Discern r/w and erase page sizes. Introduce new
- up_progmem_erasesize architecture API to be able to communicate the
- read/write page size independently from erase page size. Implement
- up_progmem_erasesize for all architectures that already support progmem,
- assuming that for those architectures the sizes of both read/write and
- erase pages are identical. From Michael Jung (2018-05-01).
- * arch/arm/src/include/kinetis and src/kinetis: Add architecture support
- for the Kinetis K28F. From Gregory Nutt (2018-05-01).
- * arch/arm/src/imxrt: This commit fixes more issues with the i.MX RT GPIO
- IRQ. Add check for interrupt mask register before dispatching ISR. The
- GPIO_ISR bits are set independent of the GPIO_IMR bits. Fixed a range
- check for extint in function imxrt_irqinfo(). From Jake Choy (2018-05-01).
- * configs/imxrt1050-evk: This commit adds support for the imxrt button.
- From Jake Choy (2018-05-01).
- * arch/arm/src/lpc17xx: This commit adds a configurable option to allow
- using a part of LPC17xx's internal flash memory as a Memory Technology
- Device via NuttX' mtd_progmem infrastructure. Tested with LPC1769. From
- Michael Jung (2018-05-01).
- * arch/arm/src/imxrt: Add GPIO5 IRQ support. From Jake Choy (2018-05-02).
- * configs/freedome-k28f. Adds support for the Kinetis Freedom-K28F board.
- From Gregory Nutt (2018-05-02).
- * fs/nfs/rpc_clnt.c: Commit 091e3f7 broke the NFS client. sendto() can
- (correctly) no longer be used with a connected UDP socket. In that case,
- send() must be used instead. From Michael Jung (2018-05-02).
- * drivers/rgbled: Adds support for multichannel PWM (multiple PWM channels
- on a single timer) From Anthony Merlino (2018-05-02).
- * drivers/sensors: Adds support for INA3221 power sensor. This has a 3
- channel bus/shunt voltage pairs. From Anthony Merlino (2018-05-02).
- * configs/photon: Adds RGB led support From Anthony Merlino (2018-05-02).
- * arch/arm/src/nrf52: Add nRF52 Flash PROGMEM support From Alan Carvalho
- de Assis (2018-05-04).
- * configs/freedom-k28f: The NSH configuration is now functional on the
- freedom-k28f board. Also fixes corrects the active logic level for the
- RGB LED. arch/arm/src/kinetis/chip: Fixes an error in vector
- configuration. From Gregory Nutt (2018-05-05).
- * configs/freedom-k28f: If drivers/leds/rgbled.c is enabled, then treat the
- board as though it had no discrete LEDs. From Gregory Nutt (2018-05-05).
- * arch/arm/src/lpc17xx: Add support for ARMv7-M run time stack checking on
- NXP LPC17xx MCUs based on CONFIG_ARMV7M_STACKCHECK. Basically copied from
- stm32. From Michael Jung (2018-05-06).
- * arch/arm/src: All ARM and MIPS architectures now support
- CONFIG_ARCH_IDLE_CUSTOM From Gregory Nutt (2018-05-07).
- * drivers/mtd/mtd_config.c: mtdconfig_register() returned OK instead of
- -ENOMEM on failed malloc From Michał �yszczek (2018-05-08).
- * configs/teensy-3.x/usbnsh: Remove CONFIG_USBDEV_DUALSPEED from
- configuration. Hardware supports only FS. From Gregory Nutt (2018-05-09).
- * libc/unistd: Initial, minimal implementation of sysconf(). Only
- sufficient to support the functionality of less standard
- getdtabilesize(). From Michael Jung (2018-05-10).
- * Documentation/NuttShell.html: Document the mkfatfs the -r option which
- can be used to specify the number of entries in the FAT12/FAT16 root
- directory. From Gregory Nutt (2018-05-11).
- * LibTargets.mk, tools/Config.mk: Drop executable bit on installed
- libraries. The rules to install libraries under lib/ were modified to use
- mode 0644 instead of the default 0755. From Andrey Zabolotnyi (2018-05-12).
- * arch/arm/src/stm32: Add internal pull-up option for SDIO pins (also picks
- up an unrelated change to a README.txt file) From Alan Carvalho de Assis
- (2018-05-12).
- * arch/arm/src/kinetis + SDHC configs: Make Kinetis SDHC pullups work the
- same as the STM32 SDIO pullups From Gregory Nutt (2018-05-12).
- * net/udp: Resolve race condition in connection-less UDP sockets with
- read-ahead buffering. In connection-mode UDP sockets, a remote address is
- retained in the UDP connection structure. This determines both there
- send() will send the packets and which packets recv() will accept. This
- same mechanism is used for connection-less UDP sendto: A temporary remote
- address is written into the connection structure to support the sendto()
- operation. That address persists until the next recvfrom() when it is
- reset to accept any address. When UDP read-ahead buffering is enabled,
- however, that means that the old, invalid remote address can be left in
- the connection structure for some time. This can cause read-ahead buffer
- to fail, dropping UDP packets. Shortening the time between when he remote
- address is reset (i.e., immediately after the sendto() completes) is not a
- solution, that does not eliminate the race condition; in only makes it
- smaller. With this change, a flag was added to the connection structure
- to indicate if the UDP socket is in connection mode or if it is
- connection-less. This change effects only UDP receive operations: The
- remote address in the UDP connection is always ignored if the UDP socket
- is not in connection-mode. No for connection-mode sockets, that remote
- address behaves as before. But for connection-less sockets, it is only
- used by sendto(). From Gregory Nutt (2018-05-13).
- * include/sys: Add resource.h From Gregory Nutt (2018-05-13).
- * rgbled: Fixes led issues caused by uninitialized memory with
- CONFIG_RGBLED_MULTICHAN. The uninitialized pwm_info_s struct caused a
- rogue channel to be started causing errros in the pwm driver From Anthony
- Merlino (2018-05-14).
- * arch/arm/src/imxrt/chip: Add pin multiplexing header files. From Gregory
- Nutt (2018-05-14).
- * configs/nucleo-l452re: Add buttons example From Juha Niskanen
- (2018-05-15).
- * arch/arm/src/imxrt/imxrt_serial.c: Fix some interrupt instabilities; must
- be in a critical section when modifying serial interrupts.
- configs/imxrt1050-evk/nsh/defconfig: Use the BASEPRI register to
- enable/disable interrupts; enable the PROCFS file system. From Gregory
- Nutt (2018-05-15).
- * arch/arm/src/imxrt: Add missing support for the Cortex-M7 caches;
- configs/imxrt1050-evk: Enable I- and D-Caches in the nsh configuration.
- Calibrate the delay loop. Add support for the on-board LED. From Gregory
- Nutt (2018-05-15).
- * arch/arm/src/imxrt: Corrects some IOMUX controls. From Jake Choy
- (2018-05-15).
- * net/sixlowpan: Preserve big-endian (network order) when uncompressing
- address. From Anthony Merlino (2018-05-15).
- * arch/arm/src/imxrt/chip: Add DMA channel assignments. From Gregory Nutt
- (2018-05-15).
- * arch/arm/src/stm32f7: Add support for the second SDMMC device. The
- second SDMMC device was already supported but the clock was never
- enabled. This fixes that. From William Douglas (2018-05-15).
- * arch/arm/src/imxrt: Add eDMA support (unverified). From Gregory Nutt
- (2018-05-16).
- * net/sixlowpan: TCP send should have PSH and ACK flags set when sending.
- This matches the standard network (Ethernet) TCP send logic. From Anthony
- Merlino (2018-05-17).
- * net/udp: Recent changes to UDP in order to correct problems with UDP
- connection mode introduced a new bug: The 'to' address passed to sendto()
- must now be NULL in connection mode. But there are errors because there
- was one place where the 'to' address was still being used. This commit
- adds logic to first check for UDP connection mode. If the UDP socket is
- connected, then the NULL 'to' address is ignored and saved connection
- address is used instead. From Gregory Nutt (2018-05-17).
- * arch/arm/src/stm32: Added Vbat measurement to adc driver for STM32F20xx
- and STM32F4xxx. As with the MCU temperature and VREFINT measurement, this
- change requires user to enable the corresponding channel first. For Vbat
- channel the ioctl cmd is IO_ENABLE_DISABLE_VBAT_CH, and its arg should be
- a pointer to bool which must be true to enable and false to disable the
- Vbat channel. Moreover, since Vbat input contains a built-in voltage
- divider, it is highly suggested to disable Vbat input channel after
- measurement is done in order to prevent battery drain through the
- divider. From Dmitriy Linikov (2018-05-18).
- * configs/stm32l1discovery: Add support for the STM32L152RCT6 version.
- From Gregory Nutt (2018-05-18).
- * configs/stm32f4discovery/audio: Add board configuration for CS43L22 audio
- example. From Alan Carvalho de Assis (2018-05-19).
- * drivers/lcd and configs/olimex-lpc1766stk: Remove support for the
- Nokia6100 LCD. That LCD uses a 9-bit SPI interface (the 9th bit being the
- command/data bit that is normally a discrete). That communication was
- never successfully integrated. I now believe that it would would require
- some special support from the low-level, MCU SPI driver to manage that 9th
- bit. The deleted code is still available in the Obsoleted repository in
- the nuttx/drivers/lcd, nuttx/configs/olimex-lpc1766stk, and Patches
- directories. From Gregory Nutt (2018-05-19).
- * arch/arm/src/lpc17xx/lpc17_usbdev.c: Fix loss of RX initiatives. USB
- bulk endpoints are double buffered on LPC17xx MCUs. This means that up to
- two packets might be received on an OUT endpoint that can not be handled
- immediately if the receive request queue is empty. Thus, rxpending must
- be a counter not a boolean flag. From Michael Jung (2018-05-20).
- * configs/imxrt1050-evk/src: Add support for on-board NOR FLASH boot. From
- Ivan Ucherdzhiev (2018-05-21).
- * fs/fat: In fs_stat(), when stat'ing the root directory, avoid calculating
- the address of the root directory entry. The calculation is bogus (but
- not harmful) because the root directory does not have a directory entry.
- Noted by Boris Astardzhiev. From Gregory Nutt (2018-05-23).
- * fs/fat: Avoid calculating the bogus directory entry address for the FAT
- root directory (since it has no directory entry). This change should have
- no effect, other than making the logic clearer. From Boris Astardzhiev
- (2018-05-24).
- * configs/indium-f7: Removes support for the Indium-F7 board. This was
- done for two reasons: (1) The board support was just clone of the
- Nucleo-144 board support with naming changes. There has been no support
- and no further development for the board support. (2) There does not seem
- to be any available Indium-F7 board available to the public anywhere on
- the internet. There is not even a reference to the board on the
- rafresearch.com web stie. Gotta go. Its in the way. From Gregory Nutt
- (2018-05-24).
- * arch/arm/src/imxrt: Add Ethernet driver. From Jake Choy (2018-05-25).
- * arch/arm/src/imxrt: Add cache operations to permit the Ethernet driver to
- work with the D-Cache enabled, at least in write-through mode. Add
- support for PHY interrupts and PHY IOCTLs.
- * configs/imxrt1050-evk/netnsh/defconfig: Disable LED support because pins
- conflict with PHY. Enable device statistics. Enable NSH ifup and ifdown
- commmands. Add an NSH configuration for testing Ethernet. From Gregory
- Nutt (2018-05-25).
- * configs/xmc4500-relax: Add board support for SPI From Alan Carvalho de
- Assis (2018-05-26).
- * configs/olimex-stm32-p407: Add a zmodem test configuration. From Gregory
- Nutt (2018-05-26).
- * drivers/serial: Add a timeout to uart_tcdrain(). Even if tcflush() is
- used to discard buffered data, the close() can still hang if (a) hardware
- flow control is enabled, (b) CTS == 1, and (c) there is data stuck in the
- hardware Tx FIFO. tcflush() does not currently clear the MCU serial
- drivers' hardware Tx FIFOs. This is a workaround for that. From Gregory
- Nutt (2018-05-27).
- * Build system: Remove fixed lib/ subdirectory and its content. Replace
- with new directory called staging/ that is created dynamically when
- building and removed when 'make clean' is done. This both improves the
- name and eliminates a garbage directory from the repository. From Gregory
- Nutt (2018-05-29).
- * Build system: Move all build-related files (except the top-level
- Makefile) into the tools/ sub-directory. This really cleans up the
- top-level directory. From Gregory Nutt (2018-05-29).
- * libs/: This commit moves all of the libraries under a common directory
- called libs/ (libc, libnx, and libxx). This most certainly break libcxx
- for now. From Gregory Nutt (2018-05-29).
- * libs/libdsp: Adds DSP support library. From Mateusz Szafoni (2018-05-30).
- * arch/arm/src/kinetis: In kinetis_lowputc.c, fix esBRFA calculation
- effecting baudrate. Previous BRFA was not cleared and or-ed into new
- BRFA, hence, buadrate was wrong. Where Baud Rate Fractional Divisor
- (BRFD) UART baud rate = clock / (16 * (SBR + BRFD)) From David Sidrane
- (2018-05-30).
- * arch/arm/src/kinetis: In kinetis_lowputc.c, fixed parity settings.
- Kinetis UART must be placed in 9 bit mode (M=1) with when 8 bit data with
- parity is required. If left in 8 bit mode (M=0) with parity then D7 of the
- TX/RX register becomes parity bit. Hence what is called 9-bit or 8-bit
- Mode Select is a misnomer. 8 bit mode when parity is enabled is realy 7
- bit with parity. From David Sidrane (2018-05-30).
- * arch/sim: Various fixes necessary to build the simulator under MSYS2.
- From Gregory Nutt (2018-05-31).
- * Makefile: The clean_context target needs to invoke a corresponding
- clean_context target in the apps/Makefile in order to remove linkages
- From Gregory Nutt (2018-05-31).
- * configs/stm32f4discovery: Add Load Modules flags to STM32F4Discovery
- board From Alan Carvalho de Assis (2018-06-01).
- * libs/libc/modlib/modlib_verify.c: Fix backward test for an error. From
- Gregory Nutt (2018-06-01).
- * Change all references from OSX to macOS From Gregory Nutt (2018-06-01).
- * tools/sethost.sh: Add support for macOS From Gregory Nutt (2018-06-01).
- * configs/olimex-stm32-p407: Add the module configuration. From Gregory
- Nutt (2018-06-01).
- * configs/xmc4500-relax/src: Call xmc4_spidev_initialize() in xmc4_boot.c.
- From Alan Carvalho de Assis (2018-06-02).
- * configs/stm32f4discovery: Add a module configuration for testing the
- kernel module example with the STM32F4Discovery board. From Alan Carvalho
- de Assis (2018-06-02).
- 7.26 2018-09-08 Gregory Nutt <gnutt@nuttx.org>
- * tools/kconfig2html.c: Due to new usage, tool needs to be able to
- handle configuration files with names other than Kconfig. From
- Gregory Nutt (2018-06-03).
- * arch/arm/src/stm32: Added progmem interface support for STM32F20XX
- From Dmitriy Linikov (2018-06-05).
- * arch/arm/src/stm32/chip/stm32_flash.h: Add register definitions for
- F1 parts that have dual banked FLASH. From Dmitriy Linikov
- (2018-06-05).
- * arch/arm/src/stm32: STM32 FLASH logic has reached a limit in
- complexity and, hence, needs to be divided into multiple C files of
- lower complexity. From Gregory Nutt (2018-06-05).
- * configs/lc823450-xgevk: Add loopback test for digital MIC on lc823450
- via i2schar driver. From Masayuki Ishikawa (2018-06-05).
- * arch/arm/src/stm32: Implement support for STM32 F1 banked FLASH From
- Gregory Nutt (2018-06-05).
- * arch/arm/src: Change ASSERT macros to DEBUGASSERT. From Juha
- Niskanen (2018-06-06).
- * stm32f334-disco/buckboost: Use a PID controller from libdsp From
- Mateusz Szafoni (2018-06-06).
- * arch/: Make sure the up_irq_enable() is available on all
- architectures. From Gregory Nutt (2018-06-06).
- * Based on a change recommended by Mark Shulte:
- Signal handlers maybe run with interrupts enabled or disabled,
- depending on how the task the received the signal was blocked. (i.e.:
- If sem_wait() is called, then we disable interrupts, then block the
- currently running task). This could be dangerous, because user code
- would be running with interrupts disabled.
- This change forces interrupts to be enabled in up_sigdeliver() before
- executing the signal handler calling up_irq_enable() explicitly.
- This is safe because, when we return to normal execution, interrupts
- will be restored to their previous state when the signal handler
- returns. From Gregory Nutt (2018-06-06).
- * arch/arm/src/stm32: Ports stm32 ltdc and stm32 dma2d to use the
- framebuffer interface From Marco Krahl (2018-06-06).
- * syslog: Enable a partial, crippled version of syslog_flush();
- arch/: Call syslog_flush() from assertion handling logic. From
- Gregory Nutt (2018-06-07).
- * libs/libc/net: Add inet_aton() From Juha Niskanen (2018-06-08).
- * libs/libc/netdb: Add getaddrinfo() and friends. From Juha
- Niskanen (2018-06-08).
- * configs/imxrt1050-evk: Add knsh configuration.. PROTECTED mode NSH
- build. From Gregory Nutt (2018-06-08).
- * libs/libc/termios: Add lib_cfmakeraw.c From Masayuki Ishikawa
- (2018-06-12).
- * drivers/xbee: Fixes issue with timeouts. Timeouts were in ticks but
- should have been in ms. This caused false triggers of timeout
- causing redundant packets, etc. From Anthony Merlino (2018-06-13).
- * arch/arm/src/lc823450: Add lc823450 Bluetooth support. From
- Masayuki Ishikawa (2018-06-13).
- * stm32f7: serial: Fix ioctl TIOCSSINGLEWIRE
- The TRM notes that UE must be disabled in order to write HDSEL in
- USART_CR3. This was not being done, so calls to TIOCSSINGLEWIRE were
- silently failing.
- This change checks the state of UE in USART_CR1, clears the UE bit
- before writing HDSEL, then re-enables it if neccesary. From Kurt
- Kiefer (2018-06-14).
- * drivers/sensors: Add support for Telair T6713 carbon dioxide
- sensor. From Juha Niskanen (2018-06-15).
- * arch/arm/src/stm32f7: This change ports in Marco Krahl's STM32F4
- framebuffer overlays for the LTDC and DMA2D into the STM32F7. That
- driver was same as the STM32F4 driver. From Gregory Nutt (2018-06-15).
- * Eliminate use of the non-standard type systime_t and replace it the
- equivalent, standard type clock_t From Gregory Nutt (2018-06-16).
- * syscall/: clock_systimer() is no longer a system call. It has been
- replaced with the equivalent, standard interface clock() as the
- system call.
- sched/clock: Move the implementation of clock() from libs/libc/time
- to sched/clock. This is necessary because it calls the (now)
- internal OS function clock_systimer. clock() is now accessed only
- via a system call in certain configurations. From Gregory Nutt
- (2018-06-16).
- * /arch/arm/src/xmc4: Fix XMC4 SPI. It was working only for the first
- transfer From Alan Carvalho de Assis (2018-06-16).
- * configs/xmc4500-relax: Add support to MAX6675 on XMC4500-Relax
- board. drivers/sensors/max6675.c: Increases SPI frequency from
- 400Khz to 4MHz. From Alan Carvalho de Assis (2018-06-16).
- * This commit brings in a partial STMicro STM32H7. From Simon Laube
- (2018-06-16).
- * configs/stm32f4discovery: Remove STM32F4BB dependence from rndis; add
- RAMDISK support. From Alan Carvalho de Assis (2018-06-18).
- * arch/arm/src/stm32l4: STM32L4 has fetchadd and testset From Juha
- Niskanen (2018-06-18).
- * libs/libc/netdb/lib_getaddrinfo.c: The 'port' argument to the static
- alloc_ai() function is always in network byte order. However, that
- static function was still calling HTONS() on the port, incorrectly
- converting it back to host byte order. From Gregory Nutt (2018-06-18).
- * arch/arm/src/: This commit removes support for the dedicated vector
- handling from the many older architectures. Only common vectors are
- now supported. From Gregory Nutt (2018-06-19).
- * fs/smartfs: Fixed filesystem corruption when writing to small file
- after open(... O_APPEND) From Dmitriy Linikov (2018-06-20).
- * arch/arm/src/stm32f7: Port input capture from stm32 From Juha
- Niskanen (2018-06-21).
- * arch/arm/src/armv7a and imx6: Add support for per-CPU IRQ and FIQ
- interrupt stacks (bugfix). Add support so that up_assert will print
- the correct interrupt stack on an assertion (FIQ stack is still not
- printed). From Gregory Nutt (2018-06-21).
- * net/udp: When sending a broadcast (or multicast) packet do not
- attempt to look up the device by the destination IP address. Rather,
- use the locally bound address for these cases to select the correct
- network device. From Gregory Nutt (2018-06-22).
- * net/: There are many different checks for IPv6 multicast addresses.
- Most of the checks are different. RFC 3513 clearly specifies how to
- detect an IPv6 multicast address: they should begin with 0xffxx. I
- did not change some of the checks in ipv6_input.c, however. In that
- file, the comments indicate that the code should only pick of certain
- multicast address that begin withi 0xff02. From Gregory Nutt
- (2018-06-23).
- * net/: Fix a sixlowpan typo bug recently introduced; Rename
- g_ipv6_allzeroaddre with the more meaning g_ipv6_unspecaddr since the
- all-zero address is the IPv6 unspecified address (sometime
- IN6_ADDR_ANY). Replace more inline tests for IPv6 multicast with
- common net_is_addr_mcast() macro. From Gregory Nutt (2018-06-23).
- * net/: Rename CONFIG_TCP_REASSEMBLY to CONFIG_IPv4_REASSEMBLY. Add
- some fixes to get a clean compile with CONFIG_IPv4_REASSEMBLY
- enabled. There are several problems with the current
- implementation: It is untested (and depends on
- CONFIG_EXPERMIMENTAL). It uses some Ethernet specific definitions
- (and depends on CONFIG_NET_ETHERNET). There is only a single
- reassembly buffer. The last two issues prevent use of this feature
- in any context where IPv4 packets may be reassembled for multiple
- network devices concurrently). From Gregory Nutt (2018-06-24).
- * net/tcp: Re-think CONFIG_NET_TCP_RWND_CONTROL TCP windowing
- controls. From Gregory Nutt (2018-06-24).
- * net/udp: Fix a hole in the address lookup logic. From Gregory Nutt
- (2018-06-25).
- * stm32f7: Fix compile error caused by intentional use of fall through
- From Daniel Agar (2018-06-25).
- * net/: Add driver interface index support. Add implementation of
- if_nametoindex() and if indextoname(). Raw AF_PACKET sockets now
- depend on CONFIG_NETDEV_IFINDEX. Add syscall support for
- if_nametoindex() and if_indextoname().
- Includes an algorithm to prevent an interface index from being reused
- until all network interfaces have by assigned once. The prevents
- removable devices from being removed, unregistered and re-installed,
- re-registered and keeping the same interface index. From Gregory
- Nutt (2018-06-25).
- * net/netdev: Fix.. Too many calls to net_unlock() From Gregory Nutt
- (2018-06-25).
- * net/udp: Add support for the UDP_BINDTODEVICE protocol socket
- option From Sebastien Lorquet (2018-06-25).
- * configs/stm32f746g-disco: Add support for STM32F746G-disco board
- LCD From Marcin Wyrwas (2018-06-25).
- * arch/arm/src/stm32f7/chip/stm32f72xx73xx_dma.h: Macros did not
- account for the increase from 8 to 16 DMA channels. From Gregory
- Nutt (2018-06-26).
- * configs/nucleo-l476rg: Add support for an extern SPI-driver SD card
- on the Nucleo-L476RG. From Gregory Nutt (2018-06-26).
- * fs/mount/fs_automount.c: Ignore return values from work_cancel().
- From Gregory Nutt (2018-06-27).
- * arch/arm/src/lc823450: Fix setintstack macro in chip.h. In case of
- CONFIG_SMP=y, g_cpu0_instack_base and g_cpu1_instack_base are not
- allocated just after g_instack_alloc but these values show the
- addresses for interrupt stack of each CPU. So to set the stack
- pointer based on these variables, temporal register has to be used.
- From Masayuki Ishikawa (2018-06-27).
- * arch/arm/src/imxrt: Add support for the i.MXRT RTC. This initial
- commit is code complete (with limited features and options) but untested.
- The HPRTC is functional. However, if the LPSRTC is enabled, then
- there is a hang during LPSRTC initialization. It appears that there
- is some problem in providing clocking and initializing the LPSRTC
- domain. From Gregory Nutt (2018-06-27).
- * tools/testbuild.sh: Add option to specify location of nuttx
- directory. From Gregory Nutt (2018-06-27).
- * stm32f7: I2C reset Configure I2C pins as GPIO output. Pins were
- reset to inputs in the deinit. This resets them to outputs. From
- David Sidrane (2018-06-27).
- * Commit 0c963449d6e8f5f8b2dfe96e9de3116633a3749a, 'fs/vfs: Added
- support for checking if a descriptor is a socket in fstat().',
- changed sys/stat.h in way that breaks smartfs file-type stat flags.
- CROMFS is similarly broken, as tools/gencromfs.c was not updated to
- match the sys/stat.h changes. This commit fixes both issues. It
- probably is not a good idea to use NuttX sys/stat.h bit-field values
- directly in stored structure of filesystem. From Jussi Kivilinna
- (2018-06-28).
- * arch/arm/src/imxrt: Add trivial SNVS from Rev 1. of the Reference
- Manual. From Gregory Nutt (2018-06-28).
- * arch/arm/src/lpc43: Fix lpc43 CAN configuration. Configuration
- settings were used and documented in README.txt files, but never in
- any Kconfig file. From Gregory Nutt (2018-06-28).
- * tools/refresh.sh: Add a --prompt option that will let you use
- --silent but will prompt before overwriting the original defconfig.
- From Gregory Nutt (2018-06-28).
- * Update tools/link.sh per suggestions by Mark so that it can be used
- with MSYS vs copydir.sh. From Gregory Nutt (2018-06-29).
- * configs/pcblogic-pic32mx, sure-pic32mx, ubw32: Update configurations
- so that either the MPLAB or Penguino toolchains may be used. From
- Gregory Nutt (2018-06-29).
- * net/tcp: Re-work of TCP receive window size algorithm. The new
- logic is based only on the ability to buffer TCP read-ahead data.
- From Gregory Nutt (2018-07-01).
- * arch/arm/src/xmc4/xmc4_gpio.c: Add a specific bit encoding for
- opendrain GPIO pin. From Alan Carvalho de Assis (2018-07-02).
- * configs/stm32f746g-disco: Add support for STM32F746G-disco board
- SDRAM Changed fb config to use SDRAM and fixed compilation From
- Marcin Wyrwas (2018-07-02).
- * arch/arm/src/lc823450: Add tx start threshold to lc823450_i2s.c In
- addition, lc823450_i2s_send() now accepts byte-aligned stream. From
- Masayuki Ishikawa (2018-07-03).
- * drivers/usbhost/usbhost_max3421e.c: Add support for the Maxim M3421E
- USB host driver. From Gregory Nutt (2018-07-03).
- * net/udp: Restore some legacy behavior that was lost with the
- implementation of CONFIG_NET_UDP_BINDTODEVICE: If no device has a
- local address when the broadcast packet is sent and the UDP socket is
- not bound to a device, there select some arbitrary device. This is
- certainly lunacy in the case where there are multiple network devices
- registered because the wrong device will probably be returned. It
- works find, however, for the legacy case where only a single network
- device is registered. From Gregory Nutt (2018-07-04).
- * arch/arm/src/samv7: Add ability for CAN BUS_OFF autorecovery
- according ISO11898-1:2015. With this change we added an ioctl for
- triggering the autorecovery sequence for BUS_OFF to the CAN-driver
- and the SAMV7 low-level driver. According the datasheet: If the
- device goes Bus_Off, it will set MCAN_CCCR.INIT of its own accord,
- stopping all bus activities. Once MCAN_CCCR.INIT has been cleared by
- the processor (application), the device will then wait for 129
- occurrences of Bus Idle (129 * 11 consecutive recessive bits) before
- resuming normal operation. At the end of the Bus_Off recovery
- sequence, the Error Management Counters will be reset. During the
- waiting time after the resetting of MCAN_CCCR.INIT, each time a
- sequence of 11 recessive bits has been monitored, a Bit0 Error code
- is written to MCAN_PSR.LEC, enabling the processor to readily check
- up whether the CAN bus is stuck at dominant or continuously disturbed
- and to monitor the Bus_Off recovery sequence. MCAN_ECR.REC is used to
- count these sequences. From Frank Benkert (2018-07-04).
- * This commit attempts remove some long standard confusion in naming
- and some actual problems that result from the naming confusion. The
- basic problem is the standard MTU does not include the size of the
- Ethernet header. For clarity, I changed the naming of most things
- called MTU to PKTSIZE. For example, CONFIG_NET_ETH_MTU is now
- CONFIG_NET_ETH_PKTSIZE.
- This makes the user interface a little hostile. People thing of an
- MTU of 1500 bytes, but the corresponding packet is really 1514 bytes
- (including the 14 byte Ethernet header). A more friendly solution
- would configure the MTU (as before), but then derive the packet
- buffer size by adding the MAC header length. Instead, we define the
- packet buffer size then derive the MTU.
- The MTU is not common currency in networking. On the wire, the only
- real issue is the MSS which is derived from MTU by subtracting the IP
- header and TCP header sizes (for the case of TCP). Now it is derived
- for the PKTSIZE by subtracting the IP header, the TCP header, and the
- MAC header sizes. So we should be all good and without the recurring
- 14 byte error in MTU's and MSS's. From Gregory Nutt (2018-07-04).
- * arch/arm/src/stm32f7/stm32_sdmmc.c: Add SDIO card support. From
- Ramtin Amin (2018-07-05).
- * net/tcp: Set the default TCP MSS to the value required by RFC 879
- and never change it under any circumstance unless the remote host
- requests a larger MSS via an option the TCP header. From Gregory
- Nutt (2018-07-05).
- * configs/viewtool-stm32f107: Add a TCP performance test using
- apps/examples/tcpblaster. From Gregory Nutt (2018-07-05).
- * net/tcp: Fix a deadlock condition that can occur when (1) all
- network logic runs on a single work queue, (1) TCP write buffering is
- enabled, and (2) we run out of IOBs. In this case, the TCP write
- buffering logic was blocking on iob_alloc() with the network locked.
- Since the network was locked, the device driver polls that would
- provide take the write buffer data and release the IOBs could not
- execute. This fixes the problem by unlocking the network lock while
- waiting for the IOBs. From Gregory Nutt (2018-07-06).
- * stm32_dac.c: set OUTEN bit for DAC1CH2 and DAC2CH1
- power/motor: direction parameter is now int8 + add overload fault
- libdsp: all floats with f-sufix
- libdsp: add precision option for library
- libdsp: add debug option for library and assertions in functions
- libdsp: add current samples correction for SVM3
- libds: add some motor control specific functions
- libdsp: add basic speed observer
- libdsp: fix phase shift in SMO observer
- libdsp: add more logic to FOC
- config/sim/dsptest: add dsptest configuration
- libdsp/lib_motor.c: remove unused comparation
- libdsp/lib_observer.c: update some comments From Mateusz Szafoni
- (2018-07-07).
- * drivers/leds/pca9635pw.c and
- configs/stm32f4discovery/src/stm32_pca9635.c: Fix pca9635pw LED
- driver compilation From Alan Carvalho de Assis (2018-07-07).
- * arch/arm/src/lpc54xx: The LPC54608 can only run at a maximum
- frequency of 180Mhz. This configuration requires uses the clk_in,
- external crystal clock, to drive the PLL. When that input was
- selected, the board bootup failed waiting for the PLL to lock. After
- referring the driver from NXP, we should turn on power sources for
- the ext clock if system pll input select clk_in. NOTE that the
- LPC54628 did not require this step... perhaps because the system
- oscillator power was already enabled. From kxjiang (2018-07-08).
- * tools/mkexport.sh: Save the System.map file in the export package so
- that it can be used to extract addresses. From Gregory Nutt
- (2018-07-08).
- * tools/mkexport.sh: Save the User.map file in the export package if
- available. From Gregory Nutt (2018-07-09).
- * include/nuttx/fs/hostfs.h: Update duplicated definitions in HOSTFS
- that must match NuttX values. From ligd (2018-07-09).
- * arch/arm/src/stm32l4/chip/: Corrects some mistakes in pin definitions
- for the STM32L4 family. According to datasheet of STM32L496xx,
- STM32L475xx and STM32L443XX the AF2 of PE14 is TIM1_BKIN2 not
- TIM2_BKIN. From Daniel Pereira Carvalho (2018-07-10).
- * arch/arm/src/lc823450: Add lc832450 elf test From Masayuki Ishikawa
- (2018-07-12).
- * - arch/arm/src/stm32h7: After numerous changes, the basic STM32 H7
- NSH configuration is now functional From Mateusz Szafoni (2018-07-12).
- * nucleo-h743zi/nsh: use Nucleo Virtual console as default serial From
- Mateusz Szafoni (2018-07-12).
- * STM32 F0, F1-F4, F7, L4, H7: Added Single Wire Kconfig variable.
- From David Sidrane (2018-07-12).
- * drivers/audio: Fix compile error in i2schar.c
- (CONFIG_DEBUG_ASSERTIONS=y) From Masayuki Ishikawa (2018-07-13).
- * configs/viewtool-stm32f107: Add support for the MAX3421E to the
- viewtool-stm32107 board support From Gregory Nutt (2018-07-13).
- * configs/lc823450-xgevk: Fix parallel build on lc823450-xgevk
- This change fixes an archive file (*.a) corruption by locking
- $(TOPDIR). Please note that locking the current directory is
- insufficient because some archive files such as libapps.a are
- specified with absolute path. From Masayuki Ishikawa (2018-07-14).
- * configs/lc82345-xgevk: Add posix_spawn configuration From Masayuki
- Ishikawa (2018-07-14).
- * libs/libc/unistd/Kconfig: Fix backward conditional logic. From
- Gregory Nutt (2018-07-14).
- * configs/stm32f4discovery/src/stm32_rgbled.c: Krassimir Cheshmedzhiev
- claims that sys/types.h needs to be included to avoid undeclared
- 'OK' From Gregory Nutt (2018-07-15).
- * arch/arm/src/stm32f7/chip/stm32f72xx73xx_pinmap.h: All of the SDMMC
- pins were set to 50 MHz, but not the clock. This sets the clock to 50
- MHz also. This combined with turning on I/O compensation makes
- intermittent failures go away. From Bob Feritich (2018-07-15).
- * arch/arm/src/stm32f7: Port Bob Feritich's change to SDMMC2 and to
- all other STM32F7 architectures. Also add a configuration option to
- automatically enable I/O compensation.
- arch/arm/src/stm32: Port Bob Feritich's change to STM32 F2 and F4
- which appear to have identical SD support and I/O compensation
- requirements. From Gregory Nutt (2018-07-15).
- * arch/arm/src/stm32l4: Added custom pin mapping for STM32L4X2XX
- processors. From Daniel P. Carvalho (2018-07-16).
- * stm32f746g-disco/nxdemo: Add a configuration to build working nxdemo
- application From Fanda (2018-07-17).
- * configs/nucleo-l432kc: Fix RAM size; STM31L4x2xx has only 64Kb of
- RAM. Remove references to I2C and SDIO: There is no I2C2 or SDIO on
- the STM32F4x2xx. From Daniel P. Carvalho (2018-07-17).
- * net/udp/udp_finddev.c: Fix for network byte-order issue when
- checking if an address is a multicast address. From Jake Choy
- (2018-07-17).
- * arch/arm/src/lc823450: Add SPI flash driver for lc823450. NOTE: Only
- bus accelerator mode is supported. From Masayuki Ishikawa
- (2018-07-18).
- * net/ and include/nuttx/net: Add getpeername() support From ligd
- (2018-07-19).
- * syscall/: Add support for getpeername() and get_sockname() system
- calls. From Gregory Nutt (2018-07-19).
- * libs/libc/stdlib and include/stdlib.h: Add implementation of
- random() and srandom(). From Gregory Nutt (2018-07-19).
- * kinetis: USB0 fix interrupt storm on error. The ERROR bit of
- USBx_ISTAT needed to be cleared once an error occurs. From David
- Sidrane (2018-07-19).
- * configs/lpcxpresso-lpc54628/lvgl: Update lvgl board config to use
- the new version From Alan Carvalho de Assis (2018-07-19).
- * arch/arm/src/lc823450: Add support for mpu and userspace
- configs/lc823450-xgevk: Add kostest PROTECTED build
- configs/lc823450-xgevk: Add knsh PROTECTED build From Masayuki
- Ishikawa (2018-07-20).
- * syscall/: Fix 6th parameter type of posix_spawnp in syscall.csv
- From Masayuki Ishikawa (2018-07-20).
- * libs/libc/unistd/: Add a crippled version of daemon(). From Gregory
- Nutt (2018-07-20).
- * arch/arm/src/stm32f7/: Fix data timeout errors with multiblock
- transfers. From Bob Feretich (2018-07-20).
- * drivers/mmcsd/mmcsd_sdio.c: Fix an error that was causing SDIO
- multiple block transfers from achieving full performance. From Bob
- Feretich (2018-07-20).
- * drivers/leds/max7219.c: Add support to MAX7219 to control 7-segment
- displays
- configs/stm32f4discovery/src: Add board support to MAX7219 as
- numeric display controller From Alan Carvalho de Assis (2018-07-22).
- * Rename all usage of samdl/SAMDL to samd2l2/SAMD2L2 to make room in
- the name space for the forthcoming samd5e5/SAMD5E5 From Gregory Nutt
- (2018-07-22).
- * syscall/: Fix parallel build in making context. This change avoids
- running $(MKSYSCALL) and .context in parallel and ensures that
- tools/mksyscall is built before it is actually used. From Masayuki
- Ishikawa (2018-07-23).
- * arch/arm/src/samv7/sam_mcan.c: Correct an error in the BUS_OFF
- reporting. In case of BUS_OFF the old implementation was leading to
- a package storm. Now it reports the error condition BUS_OFF only
- once. From Frank Benkert (2018-07-23).
- * arch/arm/src/kinetis: SDHC fix SDIO driver so that DMA works.
- There were 2 problems. The first was that the interrupt did test DINT
- and raise a completion events. But since DINT is just an indication
- of DMA completion, TC is a valid way to determine that the transfer
- is complete. The second problem is that Software Reset For DAT Line
- SDHC_SYSCTL[RSTD] clears the bits 24-0 in SDHC_PROTO this looses the
- wide bus setting DTW From David Sidrane (2018-07-23).
- * arch/arm: Add CONFIG_DEBUG_MEMFAULT to Kconfig. Also, fix
- src/armv7-m/up_memfault.c From Masayuki Ishikawa (2018-07-24).
- * fs/tmpfs/fs_tmpfs.c: Correct logic in tmpfs_ioctl() that extracts
- the priv state structure from the file system structures. It was not
- getting the right value and causing mmap() to fail. Noted by Jesse.
- From Gregory Nutt (2018-07-24).
- * include/sys: Fix SYS_maxsyscall in syscall.h From Masayuki Ishikawa
- (2018-07-25).
- * libs/libc/netdb: Fix a link error in lib_gethostbynamer.c with
- protected build. NOTE: g_lo_ipv4addr also exists in
- net/loopback/lo_globals.c which can be linked with kernel build only.
- From Masayuki Ishikawa (2018-07-25).
- * arch/arm/src/imxrt/chip/imxrt_lpspi.h: IMXRT1050 LPSPI register and
- bit definitions added.
- arch/arm/src/imxrt/imxrt_serial.c: IMXRT1050 LPUART TERMIOS support
- added. From Ivan Ucherdzhiev (2018-07-26).
- * include/sys: Remove unused SYS_nnetsocket from syscall.h. Because
- SYS_nnetsocket is not implemented so far, it should be removed so that
- SYS_prctl can work correctly. From Masayuki Ishikawa (2018-07-26).
- * binfmt/: Refactor binfmt_exec.c. This change also fixes an argv
- issue for CONFIG_SCHED_ONEXIT=n or CONFIG_SCHED_HAVE_PARENT=n From
- Masayuki Ishikawa (2018-07-26).
- * arch/arm/src/imxrt: I finally got the Ethernet CRC32 to work
- properly after the FAE pointed me in the right direction: (1) Added
- CRC32 functions for multicast address filtering, (2) Do not reset PHY
- settings when doing an ifup, (2) Use chip's unique id as the device
- MAC, and (4) Enable discard enet frames with errors at PHY layer.
- From Jake Choy (2018-07-26).
- * arch/arm/src/samd5e5 and configs/metro-m4: Initial commit the port
- to the SAMD5x/E5x MCU family and also support for the Adafruit Metro
- M4 board. It port is untested and unfinished. It currently will not
- even link due to some missing clock related logic. From Gregory Nutt
- (2018-07-26).
- * configs/stm32vldiscovery: Changed the status LED to be the green one
- as mentioned in the README file. Removed the global array for buttons
- and replace it with the only button. Improve defconfig for the nsh
- configuration. From Ouss4 (2018-07-27).
- * arch/arm/src/samd5e5: Completes XOSC32, XOSC0/1, MCLK, and GCLK
- configuration logic. Still needs FDPLL and FDLL support. From
- Gregory Nutt (2018-07-27).
- * arch/arm/src/samd5e5/sam_clockconfig.c: Implement DFLL and DFPLL0/1
- support. This completes coding the the re-architected clock
- configuration logic. From Gregory Nutt (2018-07-28).
- * arch/arm/src/samd5e5: Bring in untested SPI and I2C drivers from
- SAMD2L2. From Gregory Nutt (2018-07-29).
- * arch/arm/src/samd5e5: Leverage the SAMD2L2 DMA controller. From
- Gregory Nutt (2018-07-29).
- * arch/arm: Introduce CONFIG_DEBUG_HARDFAULT_INFO to Kconfig
- arch/arm/src/armv7-m: Introduce CONFIG_DEBUG_HARDFAULT_INFO to
- up_hardfault.c
- arch/arm/src/armv6-m: Introduce CONFIG_DEBUG_HARDFAULT_INFO to
- up_hardfault.c From Masayuki Ishikawa (2018-07-30).
- * sched/mqueue/mq_notify.c: Fix - only part of struct copied to
- internal structure. As source address the address of the struct
- member sigev_value was used, and it is not located the start of the
- struct. This leads to invalid data being copied to internal
- structure. Both source and destination should be of type struct
- sigevent* . From Simon Liedl (2018-07-30).
- * arch/arm/src/samd5e5/sam_usb.c: Bring the SAMDL2 USB driver into the
- SAMD5E5 port. From Gregory Nutt (2018-07-30).
- * drivers/usbhost/usbhost_max3421e.c: Fix several errors found in
- early testing.
- drivers/usbhost/usbhost_max3421e.c: Mutual exclusion semaphore must
- be re-entrant.
- drivers/usbhost/usbhost_max3421e.c: Fix unmatched SPI lock/unlock.
- From Gregory Nutt (2018-07-30).
- * configs/metro-m4: Correct SERCOM3 pin configuration From Gregory
- Nutt (2018-08-01).
- * stm32f746g-disco: touchscreen support: Fixed FT5x06 driver to
- correctly close (previously it unregistered interrupt handler during
- close). Also added LittlevGL demo for STM32F746G-DISCO From Marcin
- Wyrwas (2018-08-01).
- * drivers/analog: Add driver for digital to analog converted DAC7571.
- configs/nucleo-l432kc: Add support for a connect DAC7571 converter.
- From Daniel Pereira Carvalho (2018-08-02).
- * drivers/sensors/adxl345: remove comment references to touchscreens
- From Russ Webber (2018-08-02).
- * arch/arm/include/armv7-m, arch/arm/include/armv7-m,
- arch/arm/include/stm32f7: Add a configuration to enable workaround
- for r0p1 Errata 837070: Increasing priority using write to BASEPRI
- does not take effect immediately.
- This update is required to be serialized to the instruction stream
- meaning that after this update completes, it takes effect immediately
- and no exceptions of lower priority than the new boosted priority can
- pre-empt execution. Because of this erratum, the priority boosting
- does not take place immediately, allowing the instruction after the
- MSR to be interrupted by an exception of lower priority than the new
- boosted priority. This effect is only limited to the next
- instruction. Subsequent instructions are guaranteed to see the new
- boosted priority.
- This was raised in Bitbucket issue 113 from Vadzim Dambrouski. From
- Gregory Nutt (2018-08-02).
- * net/tcp: Remove g_netstats.tcp.syndrop++ from tcp_data_event() From
- Masayuki Ishikawa (2018-08-03).
- * include/nuttx/i2c/i2c_master.h: Add a definition to distinguish a
- new START of messages from a repeated start. No lower-half I2C
- drivers actually implement this new flag bit, however.
- drivers/i2c/i2c_writeread.c: Use new repeated START definition where
- appropriate. Rename I2C_M_NORESTART to I2C_M_NOSTART since it may be
- used in other contexts than a repeated start. Add comments to
- clarify setup for repeated start. From Gregory Nutt (2018-08-03).
- * configs/nucleo-l432kc: Fix stm32_userleds. After change LD2 to LD3
- in board.h stm32_userleds.c was broken. From Daniel P. Carvalho
- (2018-08-03).
- * arch/arm/src/stm32f7: This commit ports the stm32f20xxf40xx_flash.c
- driver to the STM32F7 platform and fixes some relevant problems in
- the header files. From Evgeniy Bobkov (2018-08-03).
- * net/netlink: This commit brings in a fragmentary, experimental
- implementation of NETLINK sockets. There is not too much to that
- socket support on this initial commit, just the netlink socket
- framework. However, I decided to bring it into master because there
- is a enough that I would not want to lose what is in place. And
- since it is dependent on CONFIG_EXPERIMENTAL, its presence on master
- should be innocuous. From Gregory Nutt (2018-08-03).
- * configs/metro-m4: Add an option to build the Metro M4 image to run
- out of SRAM. This ought to be a safer and quicker way to do the
- initial bring-up (having bricked the first Metro M4 due to a bad
- FLASH image). From Gregory Nutt (2018-08-03).
- * Revise the Cortex-M7 workaround: That change had the subtle
- side-effect of unconditionally enabling interrupts in the primask.
- That may be what we want in most cases, but certainly not all. This
- does increase the size of the inline function by about 48-bits per
- instantiation. From Gregory Nutt (2018-08-04).
- * configs/olimex-stm32-p407: Add kernel ELF (kelf) configuration.
- From Gregory Nutt (2018-08-04).
- * binfmt/ and sched/group: Re-architect the way that loadable ELF or
- NXFLAT modules are unloaded. Memory resources must be recovered when
- the task loaded into memory exits. The original implementation used
- the death-of-child SIGCHLD signal to perform the unload. There are
- several problems with this: It is overly complex, it requires that
- the parent task stay resident while the loaded task runs, and it has
- fatal logic flaws in the protected and kernel model builds because
- the user signal handler attempts to run in the kernel address space.
- This commit corrects with using a mindlessly simply BINFMT callback
- when the task exits. From Gregory Nutt (2018-08-05).
- * Kconfig files: Fix several errors noted by Alex Denisov in Bitbucket
- issue 115. From Gregory Nutt (2018-08-05).
- * configs/olimex-stm32-p407/kmodule: Add a configuration that can be
- used for testing installation of kernel modules in the protected
- build. From Gregory Nutt (2018-08-05).
- * sched/group: Fix a deadlock when loading an ELF From Masayuki
- Ishikawa (2018-08-06).
- * arch/arm/src/lc823450: Change C-Buffer under-level control. The
- under-level setting was changed from 1KB to 55KB. In previous
- implementation, the setting can ben changed by the tx threshold but
- it is fixed at startup. Also, check write size and adjust alignment
- if needed.
- configs/lc823450-xgevk: Change IOB related params for rndis. Since
- TCP flow control scheme was changed, HTTP audio streaming has not
- been working. These IOB params are not optimized but HTTP audio
- streaming now works. From Masayuki Ishikawa (2018-08-06).
- * arch/arm/src/stm32l4/chip/stm32l4x3xx_pinmap.h: Recent commit removed
- some of the pin definitions for STM32L451xx, and probably some other
- chips of the STM32L4x3 subfamily, breaking our builds. Some chips of
- the subfamily don't have these peripherals, but some do, so that is
- not a valid reason to remove them. From Juha Niskanen (2018-08-06).
- * stm32f103-minimum: Add blackpill LED support From Russ Webber
- (2018-08-07).
- * Build System: This change extends support for the two-pass build.
- Its primary purpose is to incorporate source logic generated by
- applications into the kernel phase of the build.
- In the two pass build, the application logic is built during the
- first phase, pass 1. In that phase, the application may generate and
- install source files in the pass1/directory. The operating system is
- built during phase 2 of the build. At that time, those source files
- in the pass1/ directory will be built and incorporated into the
- kernel address space.
- The primary purpose of the pass1/ directory is to such
- application-generated kernel symbol tables. For an example of the
- use of this feature, look at apps/examples/module/drivers/Makefile.
- Kernel symbol tables are needed to support kernel modules. Of
- course, addition board-specific logic in, say, configs/<board>/src
- would have to be included to make use of the application-installed
- symbol tables. From Gregory Nutt (2018-08-07).
- * configs/olimex-stm32_p407: Add logic to support initialization of
- the kernel module symbol table installed in the pass1/ directory
- during the application phase of the build. The kmodule configuration
- appears to be fully functional. From Gregory Nutt (2018-08-07).
- * configs/nucleo-l432kc/include/nucleo-l432kc.h: Fix TIMx clock
- configuration. Also removes definitions related to timers not
- available in the STM32L432KC. From Daniel Pereira Carvalho
- (2018-08-07).
- * arch/arm/src/stm32l4: Fix ADC and COMP breakage caused by
- CONFIG_STM32L4_STM32L4X2 separation in 9223123c From Juha Niskanen
- (2018-08-08).
- * configs/nucleo-l452re: Fix TIMx clock configuration. This is cloned
- from 391f3715 for nucleo-l432kc. Also fixes DAC build failure. From
- Juha Niskanen (2018-08-08).
- * arch/arm/src/stm32, stm32f7, stm32l4, and related defconfig files:
- The STM32 RTC driver was being selected by the global CONFIG_RTC
- option. That is in correct. For example, if you want to disabled
- the STM32 RTC and use an external RTC you cannot because the external
- RTC also depends on the global CONFIG_RTC. The solution is to add a
- new CONFIG_STM32xx_RTC configuration option the permits to you select
- or deselect the STM32 RTC but still be able to selecte the external
- RTC. From Gregory Nutt (2018-08-08).
- * configs/stm32f4discovery/scripts/ld.script: Missing
- EXTERN(_vectors) From Gregory Nutt (2018-08-08).
- * arch/arm/src/stm32l4: Avoid using redundant
- CONFIG_STM32L4_STM32L4X2. This is almost always same as
- CONFIG_STM32L4_STM32L4X3. Avoid duplication to reduce macro clutter.
- This patch limits CONFIG_STM32L4_STM32L4X2 usage to dependency
- tracking and pinmap. Also enable ADC for CONFIG_STM32L4_STM32L4X5
- (untested, but same RM). From Juha Niskanen (2018-08-09).
- * arch/arm/src/stm32l4/chip: Merged stm32l4x2xx and stm32l4x3xx pinmap
- files. Removed references to stm32l4x2xx_pinmap.h From Daniel P.
- Carvalho (2018-08-09).
- * arch/arm/src/kinetis: PIT add Liftime and Chaining
- arch/arm/src/kinetis: flexcan fix duplicate line and ordering
- arch/arm/src/kinetis: kinetis_lowput.c LPUART data format with
- parity fix. The 9-bit data mode is typically used with parity to
- allow eight bits of data plus the parity
- arch/arm/src/kinetis: lowputc LPUART_BAUD_INIT has to be defined.
- Build fails with test case enable LPUART0 and make UART1 console. If
- HAVE_LPUART_DEVICE is defined then LPUART_BAUD_INIT has to be defined
- even if the lpuart is not the console From David Sidrane (2018-08-09).
- * - arch/arm/src/kinetis: Add DMA support and use Circular DMA as an
- option to augment the RX FIFOs in the Serial driver. From David
- Sidrane (2018-08-10).
- * fs/proc and sched/environ: Add support for a procfs entry that will
- permit examining the environment of any task. From Gregory Nutt
- (2018-08-10).
- * tools/kconfig2html.c: Update tool to handle tristate types. Fix a
- few errors detected in Kconfig files. From Gregory Nutt (2018-08-10).
- * arch/arm/src/stm32l4: Add initial support to STM32L4+ chips From
- Juha Niskanen (2018-08-13).
- * configs/stm32l4r9ai-disco: Add stm32l4r9ai-disco support. From Juha
- Niskanen (2018-08-13).
- * arch/arm/src/stm32l4: stm32l4xrxx: allow board to override flash
- wait states From Juha Niskanen (2018-08-14).
- * configs/stm32l4r9ai-disco: Fix HSE clock config and clock board to
- maximum 120 MHz From Juha Niskanen (2018-08-14).
- * drivers/net/tun.c: Fixed custom tun devname formatting. From Dmitriy
- Linikov (2018-08-14).
- * net/: Remove all references to CONFIG_NET_USER_DEVFMT. That feature
- is now unconditionally enabled. This was done because (1) the
- feature does not require very much additional memory, and (2) it
- causes confusion in the configuration due to the additional
- complexity. Any network drivers that fail to zero the device
- structure interface name field (d_ifname) because calling
- netdev_register() will, however, get a nasty surprise. From Gregory
- Nutt (2018-08-14).
- * net/: Change order of logic: Select the user-defined interface name
- format BEFORE determining the minor device number. Otherwise, the
- default interface name will be used. From Gregory Nutt (2018-08-14).
- * tools/Config.mk: Add function CATFILE definition. Currently only
- used in apps/builtin/Makefile. From Gregory Nutt (2018-08-15).
- * tools/Config.mk: Move the RWILDCARD function definition from
- apps/builtin/Makefile to nuttx/tools/Config.mk. It may have a
- broader usage than it does now. From Gregory Nutt (2018-08-15).
- * arch/arm/src/stm32/stm32_adc.c: Allow multiple channels without DMA
- on STM32L15XX From Juha Niskanen (2018-08-16).
- * arch/arm/src/stm32, stm32f7, stm32l4: Make STM32F4XX RTC depend on
- CONFIG_STM32_RTC. From Juha Niskanen (2018-08-16).
- * arch/arm/src/stm32l4: Some updates to analog peripherals ADC, COMP
- and DFSDM for STM32L4XR From Juha Niskanen (2018-08-16).
- * drivers/usbdev/cdcecm.c: Adds USB Device Support for CDC/ECM From
- Michael Jung (2018-08-16).
- * include/stdio.h: Add prototypes for popen() and pclose(). Actual
- implementation is in apps/system/popen() From Gregory Nutt
- (2018-08-17).
- * include/stdio.h: popen()/pclose() are not available in KERNEL mode
- because they depend on task_spawn() which is not available in KERNEL
- mode. From Gregory Nutt (2018-08-17).
- * fs/procfs/: Add support for /self, a convenient way for getting
- information about the currently running task. From Gregory Nutt
- (2018-08-18).
- * fs/procfs: Add a configuration option to disable environment
- variable info. From Gregory Nutt (2018-08-19).
- * include/endian.h and libs/libc/endian: Add support for endian.h.
- From Gregory Nutt (2018-08-19).
- * include/sys/param.h: Add a dummy sys/param.h header file. This is
- not a standard file but is used by other systems and having the dummy
- file may minimize some porting efforts. From Gregory Nutt
- (2018-08-19).
- * Remove CONFIG_ARCH_CALIBRATION. It is awkward to use and no longer
- necessary now that we have apps/examples/calib_udelay. From Gregory
- Nutt (2018-08-19).
- * arch/arm/src/stm32f7/stm32_serial.c: Previous logic would invalidate
- the data cache as each byte was read from the DMA buffer. This
- change adds logic to invalidate the data cache less frequently by
- monitoring the state of the Rx DMA buffer cache coherency and
- invalidating only regions as necessary. From Evgeniy Bobkov
- (2018-08-21).
- * net/procfs/netdev_statistics.c: Was not handling the output correct
- for the case of an IEEE 802.11 device. From Gregory Nutt (2018-08-21).
- * fs/hostfs: Add support for open() append mode From anchao
- (2018-08-22).
- * fs/hostfs: Add ftruncate support. From Xiang Xiao (2018-08-22).
- * sched/symtab: Reference default symtab name to binfmt From anchao
- (2018-08-22).
- * binfmt/elf: Set priority level to default if parent has no
- priority. From anchao (2018-08-22).
- * configs: Several applications in apps/ were calling elf_initialize()
- nxflat_initialize(), or builtin_initialize() in violation of the
- portable POSIX interface. Those calls were removed from the
- applications and added to the appropriate board initialization with
- this commit. From Gregory Nutt (2018-08-22).
- * drivers/wireless/ieee80211/bcmf_netdev.c: Add missing logic to poll
- for more Tx data after the last transfer completes. From Gregory
- Nutt (2018-08-22).
- * configs/: Change CONFIG_BOARD_RESET_ON_CRASH to
- CONFIG_BOARD_RESET_ON_ASSERT, arch/: Implement call to board_reset()
- if in all implementations of up_assert() when
- CONFIG_BOARD_RESET_ON_ASSERT=y. From Xiang Xiao (2018-08-22).
- * apps/system/system/system.c: Add 'const' to make function prototype
- compatible with OpenGroup.org requirement From Xiang Xiao
- (2018-08-23).
- * arch/arm: (1) Add semihost support for syslog, (2) Add semihost
- support for HostFS From Gregory Nutt (2018-08-23).
- * binfmt: Add binfmt_initialize(). All binary formats are now
- registered centrally vs. in board-specific logic. This simplifies
- the usage of the binfmt subsystem. From Xiang Xiao (2018-08-23).
- * mm/: add mm_heapmember function and reimplement kmm_heapmember base
- on mm_heapmember since this function is very useful if multiple heaps
- exist. From Xiang Xiao (2018-08-23).
- * pthreads: Add support static pthread stack. Add standard
- pthread_attr_setstack() and pthread_attr_getstack(). In all cases
- where the stack is released, add check to see which allocator must be
- used to free the stack: The user or the kernel allocator. From
- xuanlin (2018-08-23).
- * arch/arm/src/armv7-m: Implement SYSTICK timer driver From Xiang
- Xiao (2018-08-23).
- * configs/sim/loadable: Add loadable demo for arch sim
- sched/init: Restore previously reverted option to mount block device
- for INIT_FILEPATH case
- configs/stm3240g-eval/knxwm: Fix build breakage.
- configs: With recent changes to apps/ all configurations that build
- applications as modules must now also select CONFIG_APPS_LOADABLE.
- configs/sim/loadable: Add loadable demo for arch sim
- Kconfig and tools/Makefile.unix and : add dynamic application
- loadable support From anchao (2018-08-23).
- * tools/nxstyle.c: Add capability to detect multiple blank lines.
- Single spacing required by the coding standard. Also coding standard
- fixes to server .c files for problems found during testing nxstyle.
- From Gregory Nutt (2018-08-24).
- * Replace non critical PANIC with DEBUGPANIC to save the code space
- From Xiang Xiao (2018-08-24).
- * Replace all ASSERT with DEBUGASSERT to save the code space From
- Xiang Xiao (2018-08-24).
- * arm syscalls: svcall/sycall logic needs to get the ucontext argument
- from R4 instead of stack since all syscall parameters pass from
- registers in syscall.h From Xiang Xiao (2018-08-24).
- * arch/arm/armv7-m: MPU: mpu_log2regionceil needs take into account
- the offset too From Xiang Xiao (2018-08-24).
- * arch/ and task/sched: vfork operation needs to allocate and copy the
- task argument too. Also correction of the address correction cannot
- depend on the stack pointer since it is not available in all
- architectures. Rather calculate the offset from the stack
- allocation pointer From Xiang Xiao (2018-08-24).
- * include/nuttx/arch.h: Add prototype for an architecture-specific
- up_trigger_irq function From dongjianli (2018-08-24).
- * include/nuttx/arch.h: Add prototype for an architecture-specific
- up_trigger_irq function
- arch/, include/nuttx, sched/sched: Add the garbage collection hook
- so each architecture can do custom memory cleanup if necessary.
- arch/Kconfig: Add configuration CONFIG_ARCH_GNU_NO_WEAKFUNCTIONS to
- suppress use of weak functions. Some gnu derived toolchains do not
- support weak symbols From Xiang Xiao (2018-08-24).
- * include/nuttx/arch.h: Add architecture-specific prototypes for
- conversions between physical and virtual address. From ligd (2018-08-24).
- * net/arp: arp_find() now checks if the target IP belongs to one of the
- local network devices. From Xiang Xiao (2018-08-24).
- * net/netdev: add devif_loopback() to check the loopback case where
- a packet is being sent to itself. Modify the net driver to call this
- function in this case. This function will simply re-inject the
- packet back into the network and the network driver will not put
- anything on the wire. From Xiang Xiao (2018-08-24).
- * include/nuttx/clock.h, sched/sched: Support the CPU load measurement
- using timer_lowerhalf_s interface From Xiang Xiao (2018-08-24).
- * drivers/timers: Add maxtimeout method to the struct timer_ops_s
- interface From Xiang Xiao (2018-08-24).
- * drivers/timers: Add a new method to the struct oneshot_operations_s
- interface to get the current time from a oneshot timer driver (if it
- is available from the lower half) From Xiang Xiao (2018-08-24).
- * drivers/net: drivers/net: Add support for Microchip LAN91C111
- driver From Xiang Xiao (2018-08-24).
- * arch/sim/src/up_netdriver.c: (1) Remove up_comparemac() check for
- matching MAC address. Let's trust that the tap device just return the
- packet which belong to us like other real network device hardware.
- (2) Add network device statistics support. From Xiang Xiao
- (2018-08-24).
- * up_internal.h: Define out the prototype for up_netinitialize() if
- CONFIG_NETDEV_LATEINIT is also defined From dongjianli (2018-08-24).
- * sched/irq/irq_dispatch.c: Ensure vector never points to NULL since
- interrupt may happen before irq_initialize() From Xiang Xiao
- (2018-08-24).
- * sched/irq: Add support interrupt chains in NuttX. IRQ chain is very
- useful in these cases: (1) Multiple hardware connect to the same
- request line(e.g. PCI), (2) Need multiple driver to support one
- hardware block (like Linux MFD) From zhuguangqing (2018-08-24).
- * sched/irq/irq_procfs.c: Fix occasional computation error when
- fracpart >= 1000 From Xiang Xiao (2018-08-24).
- * arch/: Fix an error found in build testing. The prototype of
- mpu_log2regionfloor() changed; an additional parameter was added.
- However, none of the calls to mpu_log2regionfloor() were updated to
- pass the new, additional parameter. From Gregory Nutt (2018-08-24).
- * net/arp: Make the function arp_find() thread-safe. It now returns a
- copy of the MAC address from the ARP table entry, rather than a
- potentially unstable reference to the ARP table entry. From Gregory
- Nutt (2018-08-24).
- * arch/arm/src/kinetis: I2C ensure timeout on bus error. The code had
- a dead wait on I2C_S_BUSY. Noise on the bus would cause the driver to
- hang. Add timeout on invalid states of I2C_S_BUSY to allow the upper
- layers do deal with restart or abort. From David Sidrane (2018-08-25).
- * sched/irq: Monitor the irq execution time. This is very useful for
- measuring the interrupt latency. From Xiang Xiao (2018-08-25).
- * drivers/sensors and configs/nucleo-l476g: Add support for LSM303AGR
- and LSM6DSL sensors From DisruptiveNL (2018-08-25).
- * arch/arm/src/armv7-m/up_trigger_irq.c: Add logic to trigger ARMv7-M
- interrupts and exceptions. From Gregory Nutt (2018-08-25).
- * arch/arm/src/armv-7m/nvic.h: Add definitions needed by
- up_trigger_irq(). From Gregory Nutt (2018-08-25).
- * drivers/wireless/ieee80211/bcmf_sdio.c: Bring in some fixes from the
- 'Haywire' branch. From Gregory Nutt (2018-08-25).
- * sched/wqueue: Modify high priority work queue to support multiple
- threads.
- sched/wqueue and libs/libc/wqueue: workqueues don't need set global
- data to zero since .bss is cleared automatically. Removing this
- unnecessary initialization also avoids the loss the work items queued
- before initialization. From ligd (2018-08-25).
- * sched/wqueue, libs/libc/wqueue, configs: Remove work queue polling
- delay to simplify the code logic and save the power. From xuanlin
- (2018-08-25).
- * drivers/syslog: Channel configuration. Decouple
- SYSLOG_SERIAL_CONSOLE and ARCH_LOWPUTC. Since some hardware can
- output log to the special debug channel not serial.
- drivers/syslog/vsyslog.c: Support pre-pending a prefix string to log
- output if enabled. This very useful to identify which cpu send out
- the log in AMP SoC.
- drivers/syslog/vsyslog.c: Make timestamp output same as linux
- kernel. It's very useful if NuttX syslog retarget to Linux syslog.
- From Xiang Xiao (2018-08-26).
- * libs/libc/syslog/lib_syslog.c: Fix syslog crash on 64bit simulation.
- From anchao (2018-08-26).
- * Write to a pipe when there are no readers from the pipe should return
- -EPIPE. From ligd (2018-08-26).
- * drivers/serial/pty.c: Add support so that a PTY can poll for both
- IN/OUT event simultaneously. From ligd (2018-08-26).
- * drivers/serial: Add Ctrl-C/Ctrl-X support. This is an initial
- working implementation that still requires that several details be
- resolved.
- sched/task/task_start.c: Add default signal action to SIGKILL. From
- ligd (2018-08-26).
- * Send poll() notification when the Tx buffer is flushed From ligd
- (2018-08-26).
- * drivers/serial/serial.c: Support UART direct write for non console
- device From xuanlin (2018-08-26).
- * drivers/serial/serial.c: Don't overwrite nwritten unconditionally on
- UART write failure. From Xiang Xiao (2018-08-26).
- * drivers/serial: Move head/tail pointer reset to uart_recvchars_dma
- since dma may be still transferring in the background. From Xiang
- Xiao (2018-08-26).
- * drivers/serial/serial.c: In DMA mode, the use of uart_disablexinit()
- is insufficient to protect a critical section.
- enter/leave_critical_section() must be used in those cases if
- CONFIG_SERIAL_DMA=y From Xiang Xiao (2018-08-26).
- * drivers/serial/uart_16550.c: Add a configuration, analogous to the
- STM32 configuration option, to suppress the NuttX standard
- re-ordering for /dev/ttySN for special case of the 16550 UART.
- config/serial: UART 16550: Add CONFIG_SERIAL_UART_ARCH_MMIO option so
- the a memory mapped device doesn't need to provide uart_getreg() and
- uart_putreg() implementations.
- u16550_txempty() should check UART_LSR_TEMT to avoid some data left
- in the transmit FIFO From Xiang Xiao (2018-08-26).
- * drivers/serial/uart_16550.c: Add stub implementations of DMA-related
- methods in the 16550 UART v-table. From ligd (2018-08-26).
- * drivers/serial/uart_16550.c: Add serial termios handling From
- anchao (2018-08-26).
- * drivers/serial/uart_16550.c: Support 16550 auto hardware flow control
- drivers/serial/uart_16550.c: Add configuration option
- CONFIG_16550_SUPRESS_INITIAL_CONFIG. This is identical to the
- standard configuration in arch/Kconfig CONFIG_SUPPRESS_UART_CONFIG,
- but with scope of only the 16550 driver. From Xiang Xiao (2018-08-26).
- * fs/hostfs/Kconfig: Remove ARCH_SIM dependence since other
- architectures (e.g., arm semihosting) could support hostfs too From
- Xiang Xiao (2018-08-26).
- * fs/hostfs/hostfs.c: Support remote directory names without a trailing
- '/' From ligd (2018-08-26).
- * fs/hostfs/hostfs.c: Ensure f_type is equal to HOSTFS_MAGIC. From
- Xiang Xiao (2018-08-26).
- * fs/hostfs/hostfs.c: Add re-try when hostfs mount() fails From ligd
- (2018-08-26).
- * fs/romfs/fs_romfsutil.c: Make romfs_devread32 more portable From
- anchao (2018-08-26).
- * fs/nfs: Update nfs mount to VER3 From zhangyuan7 (2018-08-26).
- * fs/vfs/fs_select.c: Make select be more consistent with Linux man
- page: 'The timeout ... Some code calls select() with all three sets
- empty, nfds zero, and a non-NULL timeout as a fairly portable way to
- sleep with subsecond precision.' From anchao (2018-08-26).
- * fs/vfs/fs_fstat.c: Add file_fstat() function for internal OS use.
- From ligd (2018-08-26).
- * fs/vfs/fs_fcntl.c, net/socket/net_dupsd.c, and
- net/socket/net_vfcntl.c: Add file_fcntl, psock_fcntl, and
- psock_dupsd for use within the kernel. From Xiang Xiao (2018-08-26).
- * fs/vfs/fs_poll.c: Add poll use in kernel space. From dongjianli
- (2018-08-26).
- * include/nuttx/compiler.h, include/poll.h: Add logic to determine if
- the compiler supports anonymous structures and unions. From Gregory
- Nutt (2018-08-26).
- * Move psock check from [get|set]sockopt to psock_[get|set]sockopt
- From Xiang Xiao (2018-08-26).
- * net/Kconfig: Uncomment the prompt of NET_SLIP_PKTSIZE From Xiang
- Xiao (2018-08-26).
- * net/tcp/tcp_monitor.c: Fix net unlock issue when tcp close. This
- bug could leave the net locked. From zhangyuan7 (2018-08-26).
- * netdev_findby_ipv[4|6]addr return netdev_default() as last resort but
- don't return loopback device if another network device is in the UP
- state. From Xiang Xiao (2018-08-26).
- * net/socket/getsockname.c: Add psock_getsockname function From Xiang
- Xiao (2018-08-26).
- * net/netdev/netdev_ioctl.c: Add si_ioctl callback and
- net_ioctl_arglen so usrsock could forward the ioctl to the remote
- end From dongjianli (2018-08-26).
- * include/nuttx/net/ethernet.h: Remove CONFIG_NET_ETHERNET guard From
- Xiang Xiao (2018-08-26).
- * net/usrsock/: Correct of semaphore usage issues. From Gregory Nutt
- (2018-08-26).
- * net/usrsock: Combine some the duplicated logic. From Xiang Xiao
- (2018-08-26).
- * net/usrsock/usrsock.h: Fix re-definitions of struct iovec. From
- ligd (2018-08-26).
- * net/usrsock: Optimize option dependence From Xiang Xiao (2018-08-26).
- * net/usrsock: Add the listen/accept/getpeername/ioctl support From
- dongjianli (2018-08-26).
- * net/icmp/icmp_conn.c and net/icmpv6/icmpv6_conn.c: Change the type
- of id in icmpv[6]_findconn to uint16_t From Xiang Xiao (2018-08-26).
- * net/icmp and icmpv6: Fix failure to poll ICMP socket issue. From
- dongjianli (2018-08-26).
- * include/nuttx/fs/fs.h: ... conflicting types for file_fstat(). From
- Gregory Nutt (2018-08-26).
- * include/crc64.h: fix warning: integer constant is too large for its
- type From Xiang Xiao (2018-08-27).
- * include/nuttx/fs/binfs.h: Fix warning: Type defaults to 'int' in
- declaration of 'mountpt_operations' From Xiang Xiao (2018-08-27).
- * include/nuttx/compiler.h: fix warning: __cplusplus is not defined.
- Some gcc derived compiler do not define __cplusplus From Xiang Xiao
- (2018-08-27).
- * include/nuttx/kmalloc.h: Add {kumm/kmm}_calloc API. Add calloc API
- for manage user memory and kernel memory in Flat Build/Kernel Build
- without kernel heap. From zhuyanlin (2018-08-27).
- * include/queue.h: Add dq_tail marco From zhuguangqing (2018-08-27).
- * include/spawn.h: Fix posix_spawnattr_destroy warning: 'the address
- of attr will always evaluate as true' From Xiang Xiao (2018-08-27).
- * include/nuttx/i2c/i2c_master.h: Add the standard speed macros. From
- dongjiuzhu (2018-08-27).
- * Move clock_timespec_[add|subtract] to include/nuttx/clock.h From
- Xiang Xiao (2018-08-27).
- * include/nuttx/semaphore.h: don't include nuttx/fs/fs.h. (1) Avoid
- nested loops if CONFIG_SIG_EVTHREAD enabled, (2) semaphore.h doesn't
- depends on fs.h. From Gregory Nutt (2018-08-27).
- * include/nuttx/semaphore: apply the semaphore wait function
- nxsem_wait_uninterruptible(). The function
- nxsem_wait_uninterruptible() is a wrapped version of nxsem_wait(),
- which is uninterruptible and convenient for use. From liuhaiyang
- (2018-08-27).
- * include/nuttx/mutex.h: Add inline wrapper functions to more clearly
- support semaphores when used as mutexs. From QianWenfa (2018-08-27).
- * include/sys/types: Move wint_t and wctype_t from wchar.h to
- types.h. This change is compatible as before since wchar.h include
- types.h indirectly. This fixes a compilation error with newlib's
- math.h: 'unknown type name wint_t' From Xiang Xiao (2018-08-27).
- * include/nuttx/nuttx.h: Added nuttx.h header file which is analogous
- to the linux.h header file. Currently, it contains on the definition
- of the container_of() macro. From zhuyanlin (2018-08-27).
- * Kconfig: Move 'option modules' from NSH_FILE_APPS to BUILD_LOADABLE
- From anchao (2018-08-27).
- * drivers/crypto: Move dev_urandom.c into new crypto folder. From
- Xiang Xiao (2018-08-27).
- * drivers/pwm: Move pwm.c into pwm folder From Xiang Xiao (2018-08-27).
- * drivers/audio: Move the I2S character driver to a dedicated folder.
- From Xiang Xiao (2018-08-27).
- * arch/arm/src/stm32/stm32f30xxx_i2c.c: Fix compile error with I2C
- reset From Juha Niskanen (2018-08-27).
- * include/nuttx/audio/audio.h: Change member samp of apb to pointer so
- driver can customize sample buffer allocation From ZhongAn
- (2018-08-27).
- * libs/libc/audio/lib_buffer.c: Call nxsem_destroy in apb_free From
- Xiang Xiao (2018-08-27).
- * include/nuttx/audio/audio.h: Add ioctl cmd 'AUDIOIOC_SETBUFFERINFO'
- so user space could config the buffer From ZhongAn (2018-08-27).
- * nuttx/audio: Add hardware format support From anchao (2018-08-27).
- * include/nuttx/audio/i2s.h: Add i2s_rxchannels and i2s_txchannels
- methods to the I2S lower half interface. From ZhongAn (2018-08-27).
- * drivers/audio/audio_i2s.c: Add audio_i2s device driver. From
- ZhongAn (2018-08-27).
- * audio/audio_comp.c: Add the composite audio driver From Xiang Xiao
- (2018-08-27).
- * driver/ioexpander: Add gpio_pin_unregister function to GPIO driver
- driver/ioexpander: Add pinset struct to GPIO driver for interrupt
- pins larger than 64
- driver/ioexpander: Initialize pintype/inttype when registering
- ioexpander device
- driver/ioexpander: Add SETPINTYPE ioctl command to the GPIO driver
- From zhuyanlin (2018-08-27).
- * drivers/serial/Kconfig: It is no longer necessary to restrict Ctrl-C
- handling to the FLAT build
- sched/signal: Add a new configuration option to select signal
- default actions, separate handling of signal default actions from
- both task startup logic and from the serial TTY Ctrl-C logic. Add a
- signal set in the group structure to keep track of what signals have
- been set to the default action. In dispatching signals in PROTECTED
- or KERNEL mode, use this signal set to determine if the default
- signal handler is attached and dispatch the signal in kernel mode for
- the default actions. From Gregory Nutt (2018-08-27).
- * drivers/timers/arch_timer.c: implement timer arch API on top of timer
- driver interface
- drivers/timers/arch_alarm.c: Implement alarm arch API on top of
- oneshot driver interface
- drivers/timers/arch_rtc.c: Implement RTC arch API on top of RTC
- driver interface
- include/nuttx/timers/rtc.h: Extend struct rtc_time by adding
- tm_nsec if RTC supports hiresolution time. From Xiang Xiao
- (2018-08-27).
- * sched/signals: Update the signal default action logic to support
- sigaction(). signaction() must be able to handle and input action
- of SIG_DFL to setup the default signal action; it mast also return
- SIG_DFL it is replacing the default action. From Gregory Nutt
- (2018-08-27).
- * drivers/power: PM: Add pm_stay and pm_relax function so special
- apps(e.g. mediaplayer) could disable suspend during playback much like
- linux kernel counterpart From Xiang Xiao (2018-08-27).
- * drivers/power: PM: Add pm_querystate function From zhuguangqing
- (2018-08-27).
- * drivers/power/: PM: Don't update the power state in work thread:
- (1) Simplify the code logic and remove the work queue dependence,
- (2) Power calculation is too simple to delay into the work queue
- From Xiang Xiao (2018-08-27).
- * drivers/pm: PM: Decrease the power state in the reverse order.
- Since the child driver need power off before parent driver. From
- zhuguangqing (2018-08-27).
- * drivers/power: PM: Make power manager service available as soon as
- possible: (1) Initialize g_pmglobals at the definition, (2) skip
- hold the lock if OS isn't ready From Xiang Xiao (2018-08-27).
- * drivers/pm: PM: Add PM_RESTORE to notify driver that device exit
- WFI so the driver could restore state. For example, WDT may stop
- counting before enter low power state and restore the counting again
- in PM_RESTORE notification From zhuguangqing (2018-08-27).
- * drivers/power: PM: Add timer to decrease PM level automatically
- From ligd (2018-08-27).
- * sched/signal: Default Signal Actions. Change some types to
- superficially simplify. Add configuration options to enabled
- default signal behaviors on a per-signal basis. I don't think users
- are prepared for SIGALRM to terminate the task (which is the correct
- default behavior if you don't change it). Extend the implementation
- of default signals so that it is totally table driven and extensible
- by simply mondifying the content of const tables. From Gregory Nutt
- (2018-08-27).
- * drivers/power/pm_register.c: Fix an error found in build testing.
- From Gregory Nutt (2018-08-27).
- * drivers/mtd: Add gd25 driver From wangyanjiong (2018-08-28).
- * include/limits.h and include/sys/types.h: Fix warning about
- 'SIZE_MAX' redefined. include/nuttx/usb/audio.h: Fix warnings due
- to '-' used whete '_' intended. From Xiang Xiao (2018-08-28).
- * drivers/mtd/mtd_partition.c: Copy the partition name to internal
- buffer so that the caller can free the name argument From Xiang
- Xiao (2018-08-28).
- * drivers/mtd/ftl.c: Support initialization of an FTL block device
- with a custom name From Xiang Xiao (2018-08-28).
- * fs/partition/fs_partition.c: Add PTABLE parser
- fs/partion: Add a partition parser framework
- fs/driver/fs_blockpartition.c: Add register_blockpartition for
- block partition From Xiang Xiao (2018-08-28).
- * drivers/mtd/ftl.c: Reduce size of stack buffer from 64 to a maximum
- size as determined from NAME_MAX From Gregory Nutt (2018-08-28).
- * drivers/serial: Integrate new Ctrl-C logic with the ISIG flag in
- the termios c_lflag. Fix several compiler errors resulting from
- recently flurry of renaming. From Gregory Nutt (2018-08-28).
- * sched/signal: Add support for SIGINT in addition to SIGKILL.
- drivers/serial: Use SIGINT instead of SIGKILL when control-C is
- pressed. From Gregory Nutt (2018-08-28).
- * sched/signal: Add logic and an interface to determine if a signal
- can be caught or ignored. sigaction now correctly returns EINVAL on
- any attempt to catch or ignore such signals (only SIGKILL for now
- and only if CONFIG_SIG_DEFAULT=y). From Gregory Nutt (2018-08-28).
- * configs/boardctl.c: Add support for board_app_finalinitialize()
- From ligd (2018-08-28).
- * configs/metro-m4/nsh/defconfig: Correct RAM size From Gregory Nutt
- (2018-08-28).
- * arm/armv7-r: Add general interrupt controller. This is based on
- armv7-a gic controller code.
- arm/armv7-r: Add invalidate dcache in arm_head.S.
- arm/armv7-r: Fix some wrong configuration of program status
- register. PSR_E_BIT bit should be set for big endian system.
- PSR_A_BIT bis is set automatically as arm cortex-r4 reference manual
- 3.7.4. So we don't need to set this bit.
- arm/armv7-r: Fix some wrong MPU register definition. Change
- MPU_RBAR_ADDR_MASK and MPU_RACR_TEX_SHIFT mask as arm cortex-r4
- reference manual. Region Base Address Register 0-4 bits are
- reserved. MPU Region Access control register type 3-5 bits.
- driver/mtd: fix compilation error. From EunBong Song (2018-08-29).
- * drivers/audio/audio_i2s.c: Fix bad NULL pointer check From Juha
- Niskanen (2018-08-29).
- * sched/group/group_killchildren.c: In some circumstances,
- group_killchildren() could have called pthread_cancel() to kill a
- task. Also, the behavior would not be as expected if a pthread had
- cancellation disabled. sched/signal/sig_default.c: Correct signal
- handling in the multiple threaded case. The SIGKILL signal may
- actually be processed on a pthread, not the main thread of the
- task. From Gregory Nutt (2018-08-29).
- * drivers/serial/serial_dma.c: Fix typo error in uart_recvchars_dma()
- From Xiang Xiao (2018-08-29).
- * net/arp/arp_out.c: Fix some backward logic in an if condition.
- From Gregory Nutt (2018-08-29).
- * sched/signal/sig_default.c: Lock the scheduler while while killing
- the children so that we do not lose priority and let the task group
- continue to run in an indeterminate state. From Gregory Nutt
- (2018-08-29).
- * sched/signal: This adds support for default signal actions for
- SIGSTOP, SIGSTP, and SIGCONT"
- Add procfs support to show stopped tasks. Add nxsig_action() to
- solve a chicken and egg problem: We needed to use sigaction to set
- default actions, but sigaction() would refuse to set actions if the
- default actions could not be caught or ignored.
- Add configuration option to selectively enabled/disable default
- signal actions for SIGSTOP/SIGSTP/SIGCONT and SIGKILL/SIGINT. Fix
- some compilation issues.
- sched/sched: If a task/thread was already blocked when
- SIGSTOP/SIGSTP was received, it will restart in the running state.
- It will appear that to the task/thread that the blocked condition was
- interrupt by a signal and returns the EINTR error. From Gregory
- Nutt (2018-08-30).
- * arch/arm/src/lpc43xx: Make WWDT usable again. LPC43xx WWDT driver
- was not updated when irq_dispatch grew an argument parameter. Also
- fixes two typos and a naming inconsistency (WWDT vs. WWDG). From
- Jakob Haufe (2018-08-30).
- * arch/arm/src/samd5e5: Updates to clock configuration from initial
- testing. With these changes the boot up gets through clock
- configuration but hangs in the low-level USART configuration before
- completing the boot. From Gregory Nutt (2018-08-31).
- * arch/arm/src/stm32f7: Add up_stackcheck.c From Daniel Agar
- (2018-08-31).
- * stm32h7/stm32_serial.c: don't include stm32_dma.h From raiden00pl
- (2018-09-01).
- * drivers/sensors/dhtxx.c: Driver for DHTxx sensor.
- configs/olimex-stm32-p407: Add board support for the DHTxx sensor.
- From Ouss4 (2018-09-01).
- * arch/arm/src/samd5e5/sam_lowputc.c: Only the console USART was
- begin enabled. From Gregory Nutt (2018-09-01).
- * arch/arm/src/samd5e5: Correct some bad addresses in the memory
- map. From Gregory Nutt (2018-09-01).
- * configs/metro-m4: Fix RxD PAD selection. Add a configuration
- option to use OSCULP32K instead of XOSC32K. From Gregory Nutt
- (2018-09-01).
- * configs/metro-m4: Fix RxD interrupt pin selection. The number
- SERCOM interrupts do not refer to PAD numbers, but to bit positions
- in the INFLAG register (very tiny footnote in the data sheet). With
- with final fix, the basic NSH configuration appears fully
- functional. From Gregory Nutt (2018-09-01).
- * configs/metro-m4: Verify the CMCC and enable it by default in the
- NSH configuration. From Gregory Nutt (2018-09-01).
- * configs/metro-m4: Fix problem with SysTick timer running too fast.
- This turned out to be a dumb typo in board.h that was providing the
- wrong CPU frequency to the SysTick setup logic. From Gregory Nutt
- (2018-09-02).
- * arch/arm/src/stm32h7: Remove old references to RXDMA. Add
- configuration option to select the Rx FIFO threshold level. From
- Gregory Nutt (2018-09-02).
- * sched/: Update signal default STOP action. If waitpid was called
- with the WUNTRACED then wake up waitpid(). From Gregory Nutt
- (2018-09-02).
- * drivers/serial: Add support for Ctrl-Z. This works just like the
- recently added Ctrl-C support except that SIGSTP is sent when the
- Ctrl-Z characters is encountered vs. SIGINT. From Gregory Nutt
- (2018-09-02).
- * configs/b-l475e-iot01a/src: Fix copy paste errors in names:
- stm32_bringup->stm32l4_bringup. Noted by Freemans Goden. From
- Gregory Nutt (2018-09-04).
- * configs/b-l475e-iot01a/src: Add timer driver support. From Goden
- Freemans (2018-09-04).
- * arch/arm/src/stm32f7: Port the low-level PM functions to STM32F7.
- From Juha Niskanen (2018-09-04).
- * tools/Makefile.unix: Was not cleaning up export directory if it was
- left from a failed export. configs/sama5d4-ek/README.txt: Update.
- From Gregory Nutt (2018-09-04).
- * tools/mkexport.sh: Save the name of the STRIP tool too. From
- Gregory Nutt (2018-09-04).
- * arch/arm/src/stm32l4: Add getstatus and getperiod() method to the
- timer driver (includes coding standard changes made prior to
- commit) From Goden Freemans (2018-09-05).
- * configs/: apps/netutils/ping has been removed. Ping support is now
- provided by apps/system/ping. Remove references to
- -CONFIG_NETUTILS_PING or change them to CONFIG_SYSTEM_PING with
- CONFIG_NET_ICMP_SOCKET=y From Gregory Nutt (2018-09-05).
- 7.27 2018-11-14 Gregory Nutt <gnutt@nuttx.org>
- * mm/iob: Add an IOB notifier that will send a signal to any registered
- threads that want to be notified when an IOB has been freed. This is an
- untested work-in-progress and is intended to be a part of a larger solution
- to correctly handling network poll operations. From Gregory Nutt
- (2018-09-08).
- * sched/signal: Add a generic signal notification facility. Modify the
- custom IOB available notifier so that it is now just a wrapper around this
- generic signal notification. This generic signal notification facility
- will, eventually, be used to support network polling. From Gregory Nutt
- (2018-09-09).
- * net/tcp and udp: Add logic to signal events when TCP or UDP read-ahead
- data is buffered. From Gregory Nutt (2018-09-09).
- * net/netdev: Add signal notification for the case where the network goes
- down. From Gregory Nutt (2018-09-09).
- * sched/signal: In signal notification facility, use sigqueue() to notify
- vs. kill(). With sigqueue(), we can pass more info (but still not enough).
- From Gregory Nutt (2018-09-09).
- * Signals were not a good choice of IPC to implement the poll function for
- several reasons: In order to handle the asynchronous poll-related event, a
- substantial amount of state information is needed. Signals are only capable
- of passing minimal amounts of data. There are also complexities with
- performing kernel space signal handlers in kernel space code that is better
- to avoid. So, instead of signals, the equivalent logic was converted to run
- via a callback that executes on the high-priority work queue. From Gregory
- Nutt (2018-09-09).
- * net/TCP: Extend the TCP notification logic logic so that it will also
- report loss of connection events. From Gregory Nutt (2018-09-09).
- * arch/arm/src/lpc43xx: Fix Ethernet TX_EN pin definitions. TX_EN on
- LPC43xx can be routed via P0.1 and PC.4 in both MII and RMII mode. Before,
- P0.1 was hard-coded for MII and PC.4 was hard-coded for RMII. Also, the
- definitions used inconsistent naming (TXEN vs. TX_EN). From Jakob Haufe
- (2018-09-10).
- * sched/wqueue: Notifier design cleanup. The original concept used
- pre-allocated notification data structures. However, the notification data
- must persist for an indeterminate amount of time. So the design was
- modified to use dynamically allocated data structures. This commit
- simplifies the design by removed some residual 'machinery' that is no longer
- needed. From Gregory Nutt (2018-09-10).
- * sched/sched/sched_waitpid.c: Remove a bad error check. From Gregory Nutt
- (2018-09-10).
- * mm/iob and sched/semaphore: Work around some issues with the IOB throttle
- semaphore. It has some odd behaviors that can cause assertions in
- sem_post(). Also, it seems to get outside of its range occasionally. Need
- to REVISIT this. From Gregory Nutt (2018-09-10).
- * sched/wqueue: Add an option to work queue notifier so that the
- notification can occur on different work queues. From Gregory Nutt
- (2018-09-11).
- * This patch prevent heap corruption as in below case.
- TASK A TASK B
- malloc()
- mm_takesemaphore()
- heap holder is set to TASK B
- <--- preempt
- ...
- task_exit()
- Set to current task to
- TASK B
- Try to release tcb, and
- stack memory
- free()
- mm_takesemaphore()
- - Successfully obtain
- semaphore because current
- task and heap holder is
- same.
- Free memory....
- Heap corrupt.
- This change forces all de-allocations via sched_kfree() and sched_ufree()
- to be delayed. Eliminating the immediate de-allocation prevents the
- above problem with the the re-entrant semaphore because the deallocation
- always occurs on the worker thread, never on TASK B.
- There could be consequences in the timing of memory availability. We
- will see. From EunBong Song (2018-09-11).
- * mm/iob: IOB free notifier should accept the work queue ID as a
- parameter. The notification may need to run on either the high- or low-
- priority work queue. sched/work: Change the default priority of the
- low-priority work queue to 100. From Gregory Nutt (2018-09-11).
- * net/tcp and net/udp: In the POLLOUT poll logic, request an immediate Tx
- poll from the network device bound to the socket. This obviously cannot
- work if there is not single device bound to the network device. From
- Gregory Nutt (2018-09-11).
- * kinetis: i2c On failed reset re-init i2c and clocking. If a reset fails,
- we still must reinitializes the i2c block so that subsequent transfers will
- not cause a hard-fault due to the clock being off. If that transfer fails
- it can try to reset again. From David Sidrane (2018-09-11).
- * net/tcp/tcp_netpoll.c: Add logic to receive notifications when IOBs are
- freed (Needs CONFIG_NET_TCP_WRITE_BUFFERS and CONFIG_IOB_NOTIFIER). At
- present, does nothing because the logic in in psock_tcp_cansend() does not
- check for the availability of IOBs. That will change. From Gregory Nutt
- (2018-09-11).
- * mm/iob: iob_navail() was returning the number of free IOB chain queue
- entries, not the number of free IOBs. Completely misnamed. From Gregory
- Nutt (2018-09-12).
- * net/tcp/tcp_netpoll.c: Add logic to receive notifications when IOBs are
- freed (Needs CONFIG_NET_TCP_WRITE_BUFFERS and CONFIG_IOB_NOTIFIER). At
- present, does nothing because the logic in in psock_tcp_cansend() does not
- check for the availability of IOBs. That will change.
- mm/iob: iob_navail() was returning the number of free IOB chain queue
- entries, not the number of free IOBs. Completely misnamed.
- net/tcp/tcp_send_buffered.c: Extend psock_tcp_cansend() so that it also
- requires that at least on IOB is also available.
- net/tcp/tcp_netpoll.c: tcp_iob_work() needs to free the allocated
- argument when it is finished.
- sched/wqueue/kwork_notifier.c: Redesign some data structures. struct
- works_s must appear at the beginning of the notifier entry structure.
- That is because it contains the work queue indexes. This solves a
- hard-fault issue. From Gregory Nutt (2018-09-12).
- * net/udp/udp_netpoll.c: Port TCP poll changes to UDP. From Gregory Nutt
- (2018-09-12).
- * tools/Config.mk: Fix an error in RWILDCARD implementation From Anthony
- Merlino (2018-09-12).
- * mm/iob: Add a divider that can be used to reduce the rate of IOB
- notifications. From Gregory Nutt (2018-09-13).
- * tools/Directories.mk: Correct the path to the installed libcxx
- directory. From Gregory Nutt (2018-09-13).
- * fs/smartfs/smartfs_smart.c: Current sector should have a space for next
- entry size. If not, we should move to next sector. From EunBong Song
- (2018-09-14).
- * task/task_restart.c: Restarted with sigprocmask set. Should have been
- cleared. Noted by Jeongchan Kim From Gregory Nutt (2018-09-14).
- * net/usrsock: Revert commit 'net/usrsock: Optimize option dependence'.
- Re-allow combination of usrsock and NuttX TCP/IP stack. For example, in
- case device has Ethernet and mobile connectivity and NuttX TCP/IP stack is
- used when configured to use Ethernet connection and usrsock when
- configured to use modem (modem TCP/IP stack through usrsock). From Jussi
- Kivilinna (2018-09-14).
- * libs/libc/wqueue/work_usrthread.c: Eliminate a race condition noted by
- Xiang Xiao. Use sigprocmask() so that we do not lose a signal. From
- Gregory Nutt (2018-09-14).
- * fs/vfs/fs_open.c: Add nx_open() which is the same as open() except that
- it does not create a cancellation point nor does it modify the errno
- variable.
- many locations: Change occurrences of open() followed by file_detach() to
- file_open(). Change most non-controversial calls to open() to nx_open().
- fs/inode/fs_fileopen.c: Add file_open() implementation with some interim,
- placeholder logic. From Gregory Nutt (2018-09-15).
- * include/nuttx/fs/fs.h: Fix some backward parameters in a new macro
- definition. From Gregory Nutt (2018-09-15).
- * Replace calls to ioctl() in the OS to file_ioctl() From Gregory Nutt
- (2018-09-15).
- * configs/stm32l4r9ai-disco/src/stm32_adc.c: Replace calls to ioctl() in
- the OS to file_ioctl() From Gregory Nutt (2018-09-15).
- * Rename file_close_detached() to just file_close() for better consistency
- in naming. From Gregory Nutt (2018-09-15).
- * fs/inode/fs_fileclose.c: Move file_close() a separate file. It no
- longer makes sense for it to cohabitate with file_detach(). From Gregory
- Nutt (2018-09-15).
- * configs/b-l475e-iot01a/include/b-l475e-iot01a_clock.h: Correct timer
- source clock frequencies. From Freemans Goden (2018-09-16).
- * tools/tesbuild.sh: No longer installs and builds the NxWidgets
- libraries. They are now a port of apps/. From Gregory Nutt (2018-09-16).
- * I2C support for STM32H7
- - stm32h7/chip.h: Update peripherals
- - stm32h7x3xx_rcc.h: Update definitions
- - stm32h7x3xx_rcc.c: Remove some unused code and configure I2C clocks
- - stm32h7: add lower half I2C driver (based on F7 I2C driver)
- - configs/nucleo-h743zi: Add LSM303AGR and LSM6DSL configuration
- - sensors/lsm303agr.c, sensors/lsm6dsl.c: add missing include, remove
- whitespace From raiden00pl (2018-09-16).
- * libs/libc/math: Add variable convergence in log() and logf() to avoid
- hangs caused by failure to converge for very specific input values.
- libs/libc/math: Small change to log() and logf() that improves accuracy
- and convergence time From Rajan Gill (2018-09-16).
- * drivers/timers: RTC_PERIODIC is no longer EXPERIMENTAL, remove
- unimplemented EXPERIMENTAL RTC configuration variables. From Juha
- Niskanen (2018-09-17).
- * C library: Add some new functions defined in POSIX.1-2017: stpncpy(),
- strsignal(), psignal(), psiginfo(). From Gregory Nutt (2018-09-17).
- * libs/libc/string/lib_stpncpy.c: Correct the return pointer value for the
- case where the NUL terminator is transferred. From Gregory Nutt
- (2018-09-18).
- * drivers/usbdev: Fix buffer overrun check in rndis.c. The rndis driver has
- been working since 13 Nov 2017. However, I finally found that it depends
- on network and buffer configurations. If a receiving TCP packet is
- divided into smaller ones based on USB max packet size, this condition
- check works correctly. From Masayuki Ishikawa (2018-09-20).
- * - mtd/progmem: change up_progmem_npages to up_progmem_neraseblocks
- page is a unit for read/write operation.
- eraseblock is a unit for erase operation.
- up_progmem_npages is a little bit confusing because it returns number of
- erase blocks in flash memory. This patch changes up_progmem_npages to
- up_progmem_neraseblocks. There is no logical change.
- - mtd/progmem: up_progmem_erasesize.
- Change argument name to be more readable.
- - mtd/progmem: up_progmem_eraseblock
- Change up_progmem_erasepage to up_progmem_eraseblock.
- eraseblock is more readable name than erasepage.
- - mtd/progmem: change up_progmem_eraseblock's return value.
- up_progmem_eraseblock erase a block. so it's better to return the erase block
- size than page size.
- - arm/cortex-r : fix wrong cp15_flash_dcache.
- change mcrne to mcr for unconditional dcache. From EunBong Song (2018-09-21).
- * arch/arm/src/armv7-a: Replicate the same fix was previously committed for
- the armv7-r. From Gregory Nutt (2018-09-20).
- * arch/arm/src/lc823450: Fix up_allocate_heap() in
- lc823450_allocateheap2.c. For lc823450, heap area in flat build mode must
- start just after _eronly. Because bss/data area is allocated in lower
- address than text area in SRAM. See ld.scripts for details. Also, this
- change removes unused up_allocateheap.c From Masayuki Ishikawa
- (2018-09-21).
- * arch/arm/src/stm32f7: Remove adhoc PM interfaces and add CONFIG_PM serial
- suspend. From Gregory Nutt (2018-09-21).
- * arch/arm/src/kinetis: Remove all attempts to reprioritize interrupts.
- From Gregory Nutt (2018-09-21).
- * arch/arm/src: Correct all ARMv7-M architectures. Interrupts were not be
- disabled correctly on power up. Writing zero to the NVIC SET-ENABLE
- registers has no effect. In order to disable interrupts, it is necessary
- to write all ones to the NVIC CLEAR-ENABLE register. Noted by David
- Sidrane. From Gregory Nutt (2018-09-21).
- * net/tcp/tcp_recvwindow.c: In order to receive data we must not only have
- IOBs available, but we must also have at least one IOB chain qentry
- available. Otherwise, we will advertise that we an buffer a lot of data
- when, in fact, we cannot. This is an experimental fix to a performance
- problem noted by Masayuki Ishikawa. From Gregory Nutt (2018-09-22).
- * fs/driver: Add support for named MTD drivers in the pseudo file system.
- This will, eventually, allow us to mount file systems that need MTD
- drivers without having to fake an intervening block driver.
- fs/driver and fs/mount: Add mount() support for file systems that require
- MTD drivers (vs. block drivers). From Gregory Nutt (2018-09-22).
- * include/sys/socket.h: Renumber the socket types. They must begin at 1,
- not zero. Socket type zero has a special meaning for some interfaces. For
- example, getaddrinfo() uses a socket type of zero to many any type of
- socket. The is no standard name for the any-type-socket, but macOS uses
- SOCK_UNSPEC. NuttX will do the same. Issue noted by Anthony Merlino.
- From Gregory Nutt (2018-09-24).
- * Brings in an initial port of version 0.3.7 of Peter Anderson's SPIFFS
- flash file system into NuttX. From Gregory Nutt (2018-09-24).
- * arch/arm/src/imxrt/imxrt_enet.c: The board would not come up if I ran
- Nuttx from cold. I dumped the PHY registers to see what the differences
- were and the PHY was coming up in NANDTree mode. This is a mode for
- testing connectivity between the PHY and the MAC. Switching this mode off
- in the PHY registers has fixed the problem. From Dave Marples (2018-09-25).
- * net/tcp/tcp_wrbuffer.c: Fix buffer release handling on failed buffer
- alloc. Attempt to release write buffer on failed TCP write I/O buffer
- alloc and tryalloc failed to wrb->wb_iob assertion. From Harri Luhtala
- (2018-09-25).
- * drivers/net/enc28j60.c: Adjust debug trace levels. Correct typos in some
- comments. From Harri Luhtala (2018-09-25).
- * A few improvements to getaddrinfo: (1) Use the protocol and socktype
- hints in returned address, (2) Ignore AI_PASSIVE argument if hostname is
- not NULL From Anthony Merlino (2018-09-25).
- * Fixes issue with libcxx build. This was changed multiple times, but
- should be fixed now. From Anthony Merlino (2018-09-25).
- * include/nuttx: Fix definitions used to access OS functions within the
- libraries. In the FLAT build, we must always set the errno and/or create
- cancellation points because the same library functions are used within the
- OS as are used by applications. This could cause issues for the OS but
- corrects some problems at the user interface. Noted by Federico
- Braghiroli in Bitbucket issue 121. From Gregory Nutt (2018-09-26).
- * arch/arm/src/imxrt: Add LPI2C driver. From Ivan Ucherdzhiev (2018-09-26).
- * arch/arm/src/imxrt/imxrt_lpsrtc.c: SVNC LPCR register bits 0 & 1 are NOT
- reserved and are, in fact, needed to enabled the SRTC. Now the SRTC is
- working. From Ivan Ucherdzhiev (2018-09-26).
- * arch/arm/src/imxrt/imxrt_enet.c: Fix a race condition in setting up the
- Ethernet Tx transfer. From Dave Marples (2018-09-26).
- * arch/arm/src/lc823450: MPU support for FLAT build From Masayuki Ishikawa
- (2018-09-27).
- * Corrections for the i.MXRT Ethernet:
- (1) Now the Ethernet is completely re-initialized when an error occurs by
- means of taking the interface down and back up but the PHY is _not_
- renegotiated for that case because that is very time consuming and an
- error in the Ethernet is no reflection on the state of the PHY anyway.
- (2) Explicitly sets the expected PHY address to zero (this could be moved
- into the config) rather than searching for it which takes ages, and
- it's zero anyway for this board (that's the broadcast address, and
- anything that cannot respond on that has multiple PHYs, so that would
- be a new board).
- (3) Allows for the renegotiation of the PHY to be optional when a reset is
- needed. If a non-renegotiated reset doesn't result in good comms to
- the PHY then it'll automatically be escalated to a renegotiated one.
- (4) Only performs a reset for errors that need it (the CRITICAL_ERROR
- define). The list of errors that need reset are somewhat arbitrarily
- chosen based on my prejudices and might need to be revisited, but
- certainly the jabber errors don't need reset, the partial packet is
- thrown away by the layer above anyway.
- (5) Re-loads the multicast table on reset.
- (6) Adds a bit more logging into the imxrt Ethernet module. From Dave
- Marples (2018-09-28).
- * fs/spiffs: SPIFFS is basically functional although still immature. From
- Gregory Nutt (2018-09-28).
- * drivers/leds/max7219.c: Support all digits presented in the MAX7219
- datasheet. From Alan Carvalho de Assis (2018-09-29).
- * fs/procfs/fs_procfsproc.c: Change output of the env file so that it looks
- more like output from the 'env' command. Documentation/NuttShell.html:
- Document the new NSH 'env' command. From Gregory Nutt (2018-09-30).
- * sched/environ/env_unsetenv.c: Fix and error in unsetenv() when unsetting
- the last of the environment variables. From Gregory Nutt (2018-09-30).
- * Documentation/NuttShell.html: Update document to describe the 'export'
- command, the CONFIG_NSH_VARS setting, and the effect of this setting on
- the behavior of the 'set' and 'unset' commands. Add description of the
- PATH environment variable. From Gregory Nutt (2018-10-01).
- * EFM32, STM32 (FS/HS), STM32F7, and STM32L4 OTGFS/HS: Th epin_configure()
- function used the same eptype as the TxFIFO number for all endpoints.
- This should probably be the physical EP number, not the EP type.
- Suggested by Key Two. From Gregory Nutt (2018-10-02).
- * libs/libc/stdio/lib_sscanf.c: Fix conversion for format specifiers that
- appear right after a floating point format specifier. When performing a
- floating point conversion the parsing code could consume more than
- required characters from the input buffer. This made impossible to convert
- input of form "1.1K" using format "%f%c". Fix the issue by advancing the
- input buffer with the actual characters converted as a float point
- number. From Mihai Serban (2018-10-03).
- * stm32h7/rcc: update rcc defs, add SPI clock configuration and some fixes
- in rcc
- stm32h7: initial defs for SPI
- stm32h7: initial defs for MDMA, DMA, BDMA and DMAMUX
- From raiden00pl (2018-10-04).
- * stm32_tim.c: don't use hard-coded UIF interrupt in some functions From
- raiden00pl (2018-10-04).
- * configs: add support for nucleo-f302r8 board From raiden00pl (2018-10-05).
- * libs/libc/stdio: Remove CONFIG_NOPRINTF_FIELDWIDTH. That option does,
- indeed, make the printf family of functions much smaller. But it also
- adds a lot of complexity and makes the functions non-standard. Removing
- this might break some of the tinier platforms but it is the best thing to
- do for long term maintenance for for OpenGroup.org compliance.
- libs/libc/stdio/lib_libvsprintf.c: Resolves the integer field width
- problem if Issue 35 for the cases of integer, long and long long integer
- types. The output now matches the output form glibc. From Gregory Nutt
- (2018-10-05).
- * configs/olimex-stm32-p407: Added a HID keyboard configuration. From
- Gregory Nutt (2018-10-06).
- * configs/olimex-lpc1766stk: Add support to initialize a USB HID keyboard.
- Still don't have a working configuration. Seems to require a lot of
- transfer descriptors. Also reorganized some logic. It has been a long
- time since the Olimex LPC1766-STK has had any TLC.
- configs/olimex-lpc1766stk/hidkbd: Add a configuration for testing the HID
- keyboard. From Gregory Nutt (2018-10-06).
- * drivers/wireless/ieee802.11: Add capability for Broadcom chips to get
- firmware and CLM data from a mounted file system vs. in-memory data
- structures. From Ramtin Amin (2018-10-07).
- * drivers/wireless/ieee802.11: Extend Add capability to get firmware from a
- mounted file system to BCM43362. From Gregory Nutt (2018-10-07).
- * arch/arm/src/stm32f7/stm32_serial.c: Force invalidation of data cache
- after DMA re-enable when returning from low-power mode From Juha Niskanen
- (2018-10-09).
- * stm32f0, stm32f7, stm32h7, stm32l4 serial: Fix use of
- CONFIG_SERIAL_IFLOWCONTROL where CONFIG_SERIAL_OFLOWCONTROL was intended.
- From Juha Niskanen (2018-10-10).
- * EFM32, Kinetis, BCM2708: Juha Niskanen's fix related to
- CONFIG_SERIAL_OFLOWCONTROL also applies to cloned logic in BCM2708, EFM32,
- and Kinetis. From Gregory Nutt (2018-10-10).
- * arch/mips/include/mips32/cp0.h: Fix some copy-paste errors that cause
- malformed comments and syntax errors when certain CP0 CONFIG1 bits are
- referenced. Note in Issue 123 by Anonymous. From Gregory Nutt
- (2018-10-12).
- * arch/arm/src/lpc43xx/lpc43_serial.c: Fix copy-paste error:
- g_usart1port->g_uart1port. From Dave Marples (2018-10-12).
- * arch/arm/src/imxrt/imxrt_lpi2c.c: Fixes 2 bugs in the for IMXRT1050: (1)
- I2C time out and did not send STOP condition when sending single byte, (2)
- I2C could not receive bytes after repeated start. From Ivan Ucherdzhiev
- (2018-10-13).
- * Improvements in STM32 PWM low level driver
- stm32_pwm: remove some impossible PWM configurations
- stm32_pwm: support for complementary outputs
- stm32_pwm: deadtime configuration
- stm32_pwm: output polarity and IDLE state configuration
- nucleo-f302r8: pwm support
- stm32f429i-disco: pwm support From Mateusz Szafoni (2018-10-14).
- * stm32_pwm: break and lock configuration and some cosmetics From Mateusz
- Szafoni (2018-10-15).
- * arch/mips/src/pic32mz/pic32mz-serial.c: Fix a typo in assignment of TTYS0
- to UART6 From Ouss4 (2018-10-15).
- * arch/mips/src/pic32mz/pic32mz-head.S: Initialize the global pointer in
- all shadow sets. From Ouss4 (2018-10-16).
- * arch/mips/src/mips32/Toolchain.defs: Add toolchain flags for the pinguino
- toolchain under Linux. From Ouss4 (2018-10-16).
- * configs/pcblogic-pic32mx: Remove support for the PCB Logic PIC32MX
- board. I do not find any references to PCB Logic on the web and I do not
- believe that this breakout board is available any longer. From Gregory
- Nutt (2018-10-17).
- * drivers/mtd: Add support to Macronix MX25LF25635F serial NOR flash From
- David Sidrane (2018-10-17).
- * drivers/mtd/s25fl1.c: During a MTDIOC_GEOMETRY ioctl call, the driver was
- incorrectly reporting the blocksize to be the same as the erasesize. The
- blocksize should be 256 (the page size). This patch fixes that, and now
- the SmartFS configration is working. From Ken Pettit (2018-10-18).
- * configs/bambino-200e/include/board.h: Correct calculation of SDMMC clock
- configuration. The LPC43 has no SDMMC source clock divider. Error noted
- by Dave Marples. From Gregory Nutt (2018-10-18).
- * stm32 enable separate DMA per SPI configuration From Daniel Agar
- (2018-10-18).
- * drivers/sensors/ina226.c: Add INA226 device driver. From Daniel P.
- Carvalho (2018-10-19).
- * configs/lpcxpresso-lpc54628/include/board.h: Update logic used to
- calculate SDMMC input clock divider. From Gregory Nutt (2018-10-21).
- * Fix the LPC4330 family SDMMC card access. Some of these fixes (e.g. DELAY
- register) may also be applicable elsewhere. These are _NOT_ extensively
- tested, but they are certainly better than the current state of the
- driver. The fixes, specifically, are;
- - Clocks were wrongly configured - way too fast because there is no
- primary divider on LPC4330
- This is fixed by means of changing the definitions in the board.h file.
- I've edited the one for the lpc4330-xplorer board because I'm actually
- working with Versiboard and don't want to contribute that config just
- yet while I've still got the drains up on it.
- - The LPC43_SDMMC_DELAY register was not being set
- I suspect, in the 'real world', it's possible to get away without
- setting this, but I've added a register definition, default value and
- register access macros into arch/arm/src/lpc43xx/chip/lpc43_scu.h and
- then used them in arch/arm/src/lpc43xx/lpc43_sdmmc.c.
- - The LPC43_SDMMC_BLKSIZ and LPC43_SDMMC_BYTECNT registers had the wrong
- values.
- The management have already implemented a rather nice block level
- interface for the stm32 so I've just re-used that to write to these
- registers as required. I'm slightly nervous that accessing the
- configuration registers (SCR being the prime example) which has a much
- smaller block size may not be being done in the right way but it does
- seem to work correctly, so let's assume it's all OK until someone tells
- me otherwise.
- These fixes have been tested with DMA-based read/write on a LPC4330. Speed
- via nsh is pretty low but I'm assuming that's just a
- buffering/implementation issue for now. From Dave Marples (2018-10-21).
- * arch/arm/src/lpc54/lpc54_sdmmc: Port Dave Marple's LPC43 USB DCD fix to
- the LPC54 with appropriate naming changes. From Gregory Nutt (2018-10-21).
- * arch/arm/src/stm32f7/stm32_flash.c: Allow programming OTP blocks through
- progmem interface From Jussi Kivilinna (2018-10-22).
- * arch/arm/src/lpc54xx/lpc54_sdmmc.c: Tested Dave Marple's LPC43 fix with
- the LPC54. The driver still does not work on the LPC54. This commit adds
- support for and SDMMC errata and setting of the delay register which was
- missing in the previous commit. It appears that now I can read the SD
- card successfully, but I get CRC errors when writing to the card. From
- Gregory Nutt (2018-10-22).
- * arch/arm/src/lpc43xx/lpc43_sdmmc.c: This commit corrects a problem in
- lpc43_dmasendsetup(). There was no linked DMA descriptor code on the send
- side. The end result was stalls while sending multiple sectors. This
- commit adds that in and the send code is working much better. From Dave
- Marples (2018-10-23).
- * arch/arm/src/lpc54xx/lpc54_sdmmc.c: This commit ports Dave Marple's DMA
- fix for the LPC43 SD/MMC to the LPC54. From Gregory Nutt (2018-10-23).
- * - imxrt: Fix typos bit# and names
- - imxrt: wdog Registers are 16 Bits
- - imxrt: wdog Update has to be within 255 clocks of unlock
- - imxrt: clockconfig Fix comments
- - imxrt1050-evk: board.h Fix comments
- - imxrt: imxrt_ccm.h Define Mux Selects for board.h use
- - imxrt: clockconfig Allow better control from board.h
- 1) Allows a board config clock setting to be defined
- in terms of the /n values shown in Figure 18-2.
- Clock Tree of the i.MX RT1050 Processor Reference
- Manual, Rev. 1, 03/2018
- 2) Allows the clock multiplex selection to be made in
- The board config.
- - imxrt1050-evk: Define board clocking based on divisor and muxes
- From David Sidrane (2018-10-23).
- * nuttx/drivers/usbdev/rndis.c: Account for CONFIG_NET_GUARDSIZE in
- allocation of packet buffer
- nuttx/drivers/usbdev/rndis.c: Make USB device parameters configurable
- From Sakari Kapanen (2018-10-24).
- * nuttx/net/tcp/tcp_input.c: Fix recovery when ackseq > unackseq. The
- comment near this line says "reset the number of outstanding,
- unacknowledged bytes". However, the code actually resets the whole TCP
- connection. It was changed to the current form in commit f034d84ea1f with
- no explanation of the intent. Recover the line to what it was before that
- commit. From Sakari Kapanen (2018-10-24).
- * libs/libc: Correct some errors in psignal() and stpncpy(). From Lokesh B
- V (2018-10-24).
- * configs/nucleo-l432kc/include/board.h: Fix SPI pin definitions. From
- Daniel P. Carvalho (2018-10-24).
- * With these changes the SDMMC card for LPC4330 is now working properly BUT
- it needs more testing, especially with different cards etc. This code
- should be applicable to all members of the lpc43xx family.
- In addition to the problems that were previously identified there were a
- few other bits and pieces outstanding;
- - Timing was dependent on CPU speed rather than absolute time
- - End of transfer handling was a bit mixed up
- - It's possible for data to still be in the FIFO (i.e. not have reached
- the card) when a next write is requested, so we need to wait for that to
- complete
- - Interrupt Status could be carried over from one transfer episode to the
- next, corrupting progress
- - Multi-descriptor DMA writing simply wasn't implemented, but there were no
- indications ... it just failed silently From Dave Marples (2018-10-24).
- * arch/arm/src/lpc54xx/lpc54_sdmmc.c: Ported the last of Dave Marples fixes
- to the LPC54. Not yet verified. From Gregory Nutt (2018-10-24).
- * drivers/wireless/ieee80211/bcmf_core.c: There were two functions that
- have a address issue. In bcmf_read_sbreg and bcmf_write_sbreg,
- SBSDIO_SB_OFT_ADDR_MASK should be used before map address space. Noted by
- Shao Li in Bitbucket issue #126. From Gregory Nutt (2018-10-25).
- * configs/nucleo-l432kc: Added support for AT45DB Serial Flash From Daniel
- P. Carvalho (2018-10-25).
- * drivers/wireless/ieee80211/bcmf_sdpcm.c: Remove incorrect OR condition.
- Always true, would always cause allocation failure. Noted by Shao Li in
- Issue 127. From Gregory Nutt (2018-10-26).
- * arch/x86/src/qemu/qemu_head.S: Correct .bss, IDLE stack, heap
- organization. From Gregory Nutt (2018-10-26).
- * net/sixlowpan: Fixes bug in uncompress_addr handling of odd postfix. This
- affected multicast compress/uncompress since it's the only logic that used
- an odd postfix. The odd byte needs to be handled first, not last. From
- Anthony Merlino (2018-10-27).
- * Fixes logic in ipv6_input to handle more than ff02::/16 multicast
- addresses. Don't forward mcast packets if scope is not appropriate From
- Anthony Merlino (2018-10-27).
- * Adds extern "C" guard in include/net/if.h From Anthony Merlino
- (2018-10-27).
- * Adds definitions for IPPROTO_IPV6 socket options to netinet/in.h Adds
- missing fields to sockaddr_in6. Adds struct ipv6-mreq. These changes all
- follow the opengroup standard for netinet/in.h From Anthony Merlino
- (2018-10-27).
- * include/sys/socket.h: With increased size of struct sockaddr_in6 of
- commit 55f31f03f9cca55b8b94ebf31cef3f501d8d76cf, the size of struct
- sockaddr_storage in include/sys/socket.h must also be increase so that it
- can contain the new, larger sockaddr_in6. From Gregory Nutt (2018-10-27).
- * libs/libc/misc/lib_crc8ccitt.c: Adds implementation of CRC8-CCITT. From
- Alan Carvalho de Assis (2018-10-27).
- * Add basic SPI support for H7
- - stm32h7: basic SPI support (nodma, noirq)
- - nucleo-h743zi: nrf24l01 support
- - nrf24l01.c: fix compilation errors
- - stm32h7x3xx_rcc.c: enable SYSCFG clock From Mateusz Szafoni (2018-10-28).
- * arch/arm/stm32: add support for STM32F303xD/E; configs: add basic support
- for nucleo-f303ze From Mateusz Szafoni (2018-10-28).
- * include/netinet/in.h: Per OpenGroup.org, type of sin_port in struct
- sockaddr_in must be in_port_t vs uint16_t. NOTE: in_port_t is typdef'ed
- as uint16_t anyway. Plus additional cosmetic changes for things like long
- lines. From Gregory Nutt (2018-10-28).
- * include/netinet/in.h: Add IPv4 SOL_IP socket options for symmetry with
- IPv6 definitions added in a previous commit. None of the socket options
- have been implemented! From Gregory Nutt (2018-10-28).
- * include/netinet/in.h: Add other definitions required by OpenGroup.org.
- From Gregory Nutt (2018-10-28).
- * drivers/sensors/mlx90614.c: Add support for the Infrared Thermometer
- MLX90614 From Alan Carvalho de Assis (2018-10-28).
- * configs/stm32f4discovery/src/stm32_mlx90614.c: Add MLX90614 support for
- the STM32F4Discovery board From Alan Carvalho de Assis (2018-10-28).
- * include/sys/sockio.h, net/netdev/netdev_ioctl.c: Fix a recently compile
- error introduced with commit that added the semi-standard ip_msfilter
- structure to netinet/in.h. However, there was a non-standard version of
- that structure in sys/sockio.h. This commit removes the non-standard
- version of struct ip_msfilter and adapts the IOCTL and device lookup logic
- in net/netdev to work with the new, semi-standard version in
- netinet/in.h. From Gregory Nutt (2018-10-29).
- * This commit brings in support for the GAP8 architecture. The GAP8 is a
- 1+8-core DSP-like RISC-V MCU. Also included is support for the Gapuino
- GAP8 evaluation board. From hhuysqt (2018-10-30).
- * Fixes Kconfig options to include all STM32F20XX processors, not just
- STM32F207
- - arch/arm/src/stm32: Fixes Kconfig options to include all STM32F20XX
- processors, not just STM32F207
- - arch/arm/src/stm32: Removes redundant STM32_STM32F429 depends from
- Kconfig. STM32F4XXX already does this
- From Anthony Merlino (2018-10-31).
- * include/nuttx/net/mld.h: Add MLD header file based on RFC2710 and
- RFC3810. From Gregory Nutt (2018-10-31).
- * arch/arm/src/imxrt: Add full support for the LPSPI in poll mode; includes
- a minor fix for LPI2C. From Gregory Nutt (2018-10-31).
- * net/mld: Add basic build structure for Multicast Listener Discovery
- (MLD). No yet functional. From Gregory Nutt (2018-10-31).
- * Add new configuration CONFIG_NET_MCASTGROUP. This option is selected
- automatically if either CONFIG_NET_IGMP or CONFIG_NET_MLD are selected.
- Most conditional logic based on CONFIG_NET_IGMP replaced with conditioning
- on CONFIG_NET_MCASTGROUP. From Gregory Nutt (2018-10-31).
- * net/inet: Add framework to support IPv4 and IPv6 protocol socket options
- (i.e., SOL_IP and SOL_IP6). Handling of these socket options is a
- necessary step on the way to future ICMPv6 MLD support. From Gregory Nutt
- (2018-10-31).
- * net/inet/ipv4_setsockopt.c: Add implementation for all IPv4 socket
- options that have implemented IOCTL command counterparts. From Gregory
- Nutt (2018-10-31).
- * configs/imxrt1050-evk/src: Previous committed implemented atypical
- SPI-based MMC/SD card support conditioned on CONFIG_MMCSD. This is, of
- course, incorrect and interferes with the implementation of correct MMC/SD
- card support using the correct SDIO-based peripheral. This commit renames
- that atypical support to *mmcsd_spi* and conditions using that atypical
- support on CONFIG_MMCSD_SPI with should then not interfere with the
- correct MMC/SD support that can be conditioned on CONFIG_MMCSD_SDIO. From
- Gregory Nutt (2018-10-31).
- * arch/arm/src/imxrt/imxrt_usdhc.c: Initial commit of the i.MXRT SDHC
- driver. This driver is partially functional, working in PIO mode. DMA
- support and additional testing are needed. From Dave Marples (2018-10-31).
- * This change is needed specifically for the case where a boot loader sets
- the SPE bit before starting NuttX. In that case, the test in the SPI
- driver is bogus. This change fixes that by assuring that NuttX has booted
- and initialized at least once (whether or not SPE is set) before the
- driver starts refusing to initialize.
- arch/arm/stm32*: Don't rely on SPI_CR1_SPE to determine if peripheral has
- been initialized yet. From Anthony Merlino (2018-11-01).
- * Xbee getset txpwr
- - drivers/wireless/ieee802154/xbee: Minor improvements to debug facilities.
- - drivers/wireless/ieee802154/xbee: Add support for setting/getting tx
- power.
- From Anthony Merlino (2018-11-01).
- * net/mld: Initialize implementation of MLD. From Gregory Nutt (2018-11-01).
- * include/nuttx/net/ipv6ext.h: Create header file with all of the
- definitions of IPv6 extension headers that I could find.
- net/mld/mld_send.c: Correct the size and format of the Hop-to-hop, Router
- alert extension header. From Gregory Nutt (2018-11-01).
- * drivers/sensors/mlx90614.c: Fix MLX90614 to re-flash new device address
- From Alan Carvalho de Assis (2018-11-02).
- * net/inet/ipv6_setsockopt.c: Implement the IPV6_JOIN_GROUP and
- IPV6_LEAVE_GROUP socket options.
- net/devif/ipv6_input.c and net/icmpv6/icmpv6_input.c: Add logic to skip
- over the variable number of IPv6 extension headers that may be present
- between the IPv6 header and the transport layer header. The extension
- headers are simply ignored. This is necessary because with MLD, certain
- incoming messages may have, at a minimum, a Router Alert Hop-by-hop
- extension header.
- net/devif, net/tcp, and net/udp: Extend so that all support Transport
- protocols supported by IPv6 can handle the presence of IPv6 header
- extension options. From Gregory Nutt (2018-11-02).
- * net/mld: Updates from comparison with roughly leveraged code and the MDL
- RFCs 2710 and 3810.
- net/mld: Defer all timeout-related operations to the work queue vs.
- handling within the timer interrupt. Need to notify the device driver for
- an immediate poll when there are MLD packets waiting to be sent. From
- Gregory Nutt (2018-11-03).
- * net/igmp: Backport some MLD design improvements/fixes. From Gregory Nutt
- (2018-11-04).
- * net/mld: Implement MLDv1 compatibility mode. This completes coding of
- MLD. MLD is, however, still completely untested. From Gregory Nutt
- (2018-11-04).
- * net/mld: Fix some compile errors fill debug info is enabled. Fix some
- errors in formatting the Listener report. Still has a checksum error.
- From Gregory Nutt (2018-11-04).
- * tools/configure.c: Add missing '\n' in printf statement
- tools/configure.c: Add missed -g option to getopt() string
- tools/configure.c and tools/configure.sh: Fix Windows native pre-build
- kconfig-conf incompatibility. Looks like pre-built Windows native
- kconfig-conf interprets "..\apps" as "..apps" (possibly '\a' as
- escape-sequence) so expand winnative path to double-backslashed variant
- "..\\apps".
- tools/mkdeps.c: Fix '\0' missing in MinGW. Implicit bug. There are 2
- cases.
- 1. Under Linux. The code works as planned: '\n' is always replaced with
- '\0' due to sprintf fills n-1 bytes and reaches buffer length limit.
- 2. Under Windows/MinGW. There is memory corruption. Seems like it`s a bug
- inside MinGW/snprintf. Snprintf fills consecutively "oldbase",'
- ',"str",'\n', but does not inserts trailing '\0' instead of '\n'. And
- when next append() occurs, strlen() returns garbage-appended "oldbase".
- So the fix just removes '\n' and reserves space for '\0'.
- tools/link.bat: Fix .fakelink creation
- configs/Makefile and tools/Config.mk: Move single file copy to the new
- function COPYFILE. This fixes the Windows native build case when there is
- no cp or cp does not recognize Windows paths. From Anatol Ivanov
- (2018-11-05).
- * configs/nucleo-l432kc: Add support for the INA226. From Daniel P.
- Carvalho (2018-11-05).
- * tools/Config.mk and tools/Makefile.win: Force use 'cmd' for shell with
- windows native build From Anatol Ivanov (2018-11-06).
- * tools/Makefile.win/unix: Staging directory (and its libraries) should be
- removed on 'make clean' (issue noted by Dave Marples). From Gregory Nutt
- (2018-11-06).
- * net/procfs: Add support to provide MLD stats at /proc/net/mld. net/mld:
- Fix a couple more bugs found in further MLD testing. From Gregory Nutt
- (2018-11-06).
- * Adding imxrt 106x
- - imxrt: Fix comment in imxrt105x_memorymap
- - imxrt: Add imxrt1060 memory map
- - imxrt: Add imcrt106x to imxrt_memorymap
- - imxrt: Add i.MX RT 106x to Kconfig
- - imxrt: Moved IMXRT_GPIO_NPORTS to chip.h & fixed comments
- - imxrt: 105x IRQ fix comment
- - imxrt: gpioirq GPIO4,5 using wrong boundary
- - imxrt: Add RT106x irq headers & Kconfig
- - imxrt: Add rt106x GPIO chip headers
- - imxrt: Extend Number of GPIO ports
- - imxrt: Add 106x DMAMUX header
- - imxrt: iomuxc add 106x
- - imxrt: 106x iomuxc extend Indexes
- - imxrt: pinmux Add 106x
- - imxrt: clockconfig use imxrt_memorymap.h
- - imxrt: allocateheap use OCRAM2 as BASE when available
- From David Sidrane (2018-11-06).
- * net/mld: Implement 'Other Querier Present Timer'. This timer is used to
- revert to Querier mode if there is no other querier on the network. Also,
- fix some naming: The Done message is not just Version 1 but is used with
- Version 2 as well. From Gregory Nutt (2018-11-07).
- * Reported by Anonymous in Bitbucket Issue #129: When MIPS port is built
- for microMIPS and then loaded as an application, the __start entry point
- is entered in microMIPS mode, but the CPU core initialization code there
- misses to set the config3ISAOnExc bit to 1. Subsequently, exceptions are
- entered in MIPS32 mode, but the code base was built for microMIPS. From
- Gregory Nutt (2018-11-07).
- * sched/group/group_foreachchild.c: group_foreachchild iterate by reverse
- order since the callback(e.g. group_killchildren) may remove the tcb from
- list
- sched Kconfig and sched/task/exit.c: Add SCHED_EXIT_KILL_CHILDREN option
- to kill all child threads when the main thread of a task exits. From
- zhangyuan7 (2018-11-08).
- * binfmt/ and libs/libc: Make exepath_*() more common:
- 1. Move exepath_*() related code to libc/misc
- 2. Rename exepath_ to envpath_
- 3. Rename BINFMT_EXEPATH to LIB_ENVPATH
- libs/libc/modlib: Add pre module library symbol table support.
- From nchao (2018-11-08).
- * tools/csvparser.h: Extend MAX_PARMSIZE to 256. Fixes this issue: 70:
- Parameter too long: ... From Xiang Xiao (2018-11-08).
- * sched/signal/sig_suspend.c: sigsuspend() shouldn't eat the pending signal
- but dispatch all instead From Xiang Xiao (2018-11-08).
- * sched/signal and syscall/: Add support for pselect() and ppoll()
- functions From dongjianli (2018-11-08).
- * fs/aio, libs/libc/aio, sched/mqueue, sched/timer, and sched/signal:
- Remove the code duplication for SIGEV_THREAD. From Xiang Xiao (2018-11-08).
- * drivers/ioexpander: Support multiple registrations of GPIO signal
- events. From Xiang Xiao (2018-11-08).
- * libs/libc/netdb/lib_dnsbind.c: Make DNS receive timeout configurable.
- From ligd (2018-11-08).
- * libs/libc/string/lib_memrchr.c: Add memrchr() function From Xiang Xiao
- (2018-11-08).
- * libs/libc/stdio/lib_libvsprintf.c: Eliminate recursive in conversion
- functions of lib_vsprintf(). From Xiang Xiao (2018-11-08).
- * fs/partition: Try MTDIOC_GEOMETRY IOCTL before bops's geometry
- fs/driver/fs_blockpartition.c: Support MTD IOCTL From Xiang Xiao
- (2018-11-08).
- * drivers/mtd and other MTD drivers: Remove mtd_procfsoperations since we
- can now get the same information from inode From Xiang Xiao (2018-11-08).
- * fs/mount/fs_mount.c mount: Add support for mounting a file system with
- either a block or an MTD driver. From Xiang Xiao (2018-11-08).
- * fd/dirent, fs/driver/, and fs/vfs: Make MTD device accessible via a
- character driver proxy like block devices From Xiang Xiao (2018-11-08).
- * fs/driver: Add register_mtdpartition() for MTD partition From Xiang Xiao
- (2018-11-08).
- * fs/procfs: Add /proc/version support to get version info From iuhaitao
- (2018-11-08).
- * drivers/serial/uart_16550.c: Fox UART flow control issue. UART_MCR_RTS
- need be high even UART_MCR_AFCE is enabled From zhangyuan7 (2018-11-08).
- * drivers/serial/uart_16550.c: Remove disabling of interrupts in
- up_earlyserialinit. up_irqinitialize() already disable all interrupts
- From ligd (2018-11-08).
- * drivers/timers/arch_alarm.c: Fix alarm ISR error when no
- CONFIG_SCHED_TICKLESS
- drivers/timers/arch_alarm.c: Use uint64_t to avoid alarm 32-bit overflow
- From ligd (2018-11-08).
- * drivers/timers: Simplify the error handling in arch rtc/alarm/timer
- wrapper From Xiang Xiao (2018-11-08).
- * imxrt:Clock config fixes and board.h sets sources and divisors
- - imxrt:clockconfig bug fix & Board config set clocks
- Fixed logic that was not clearing bits as ~ was
- missing in &= mask operations.
- Use values from the board.h file so set the Mux that
- selects the clock sources.
- Use board defined PODF values to select clock.
- Only configure USDHC2 clocks when board defines clocks.
- - imxrt1050-evk: Board setting used to set LSPI and USDHC Clocks
- From David Sidrane (2018-11-09).
- * NuttX: Add DFU Runtime driver for activating boot-loader through USB
- command. From Petteri Aimonen (2018-10-31).
- * NuttX: USB Composite and DFU drivers: Add support for Microsoft OS
- descriptors.
- These Microsoft-only descriptors help in loading the correct driver on
- Windows. They are especially helpful to give libusb access to a custom
- device without having to manually configure/install WinUSB driver.
- With this change DFU interface works automatically on Windows 10 with
- dfu-util 0.9 and libusb 1.0.22. On Windows 7 it still appears to need
- driver installation. From Petteri Aimonen (2018-11-02).
- * NuttX: STM32F407VG has only one DAC. NDAC=2 causes compilation error when
- trying to use e.g. STM32_DAC1_CR macro. From Petteri Aimonen (2018-11-09).
- * RNDIS composite support
- - NuttX usb/composite.h: Forward-declare composite_devdesc_s.
- This avoids "error: conflicting types for 'composite_initialize'"
- on some versions of GCC. Because of the cross-inclusion between
- usbdev.h and composite.h, the full declaration is not always
- available.
- - NuttX: USB Composite driver: Fix strid comparison
- The last string ID used by composite driver is 4, and
- the number of IDs used is 5 (0..4). The comparison
- strid <= COMPOSITE_NSTRIDS caused composite driver to
- reply with -EINVAL for id 5, even though it should be
- available for sub-devices to use.
- - NuttX: RNDIS USB driver: Add support for composite configuration.
- From Petteri Aimonen (2018-11-09).
- * FAT improvements
- - NuttX: Add CONFIG_FAT_LFN_ALIAS_HASH to speed up creating long filenames.
- Long filenames on FAT file systems have associated 8.3 character alias
- short filenames. The traditional form of these is FILENA~1.EXT with
- a running count of the number of similar names. However creating this
- unique count can take several seconds if there are many similarly named
- files in the directory. Enabling FAT_LFN_ALIAS_HASH uses an alternative
- format of FI0123~1.TXT where the four digits are a hash of the original
- filename. This method is similar to what is used by Windows 2000 and
- later.
- - NuttX: Add CONFIG_FAT_LFN_ALIAS_TRAILCHARS alternative format for 8.3
- filenames.
- Traditional format for long filename 8.3 aliases takes first 6
- characters of long filename. If this option is set to N > 0,
- NuttX will instead take first 6-N and last N characters to form
- the short name. This is useful for filenames like "datafile12.txt"
- where the first characters would always remain the same.
- - NuttX: FAT32: Fix file date corruption in fat_truncate().
- - NuttX: if SD card wait seems to be a long one, give time for other
- threads to run. From Petteri Aimonen (2018-11-09).
- * max11802: Fix compilation errors and allow setting PULL and SAMPLE
- registers. From Petteri Aimonen (2018-11-09).
- * imxrt Add imxrt1060-evk
- - imxrt1050-evk: Fix typo
- - imxrt1050-evk: Use naming for flash types that match documentation
- - imxrt1050-evk: Fix typo
- - imxrt:Add imxrt1060-evk board support
- From David Sidrane (2018-11-09).
- * drivers/rwbuffer.c: Fix a lock issue From Xiang Xiao (2018-11-09).
- * rivers/rwbuffer.c: Don't queue work to flush write buffer if
- CONFIG_DRVR_WRDELAY == 0 From Xiang Xiao (2018-11-09).
- * drivers/rwbuffer.c: Improve the rwb_read/write overlap performance From
- zhuyanlin (2018-11-09).
- * drivers/mtd/ftl.c: Support BIOC_FLUSH ioctl From Xiang Xiao (2018-11-09).
- * drivers/mtd/ftl.c: Make READAHEAD and WRITEBUFFER work independently of
- each other. There have cases we use writebuffer but not readbuffer, so
- the write buffer must be flushed before read. Let rwb driver do it. From
- zhuyanlin (2018-11-09).
- * drivers/mtd/ftl.c: Allocate eblock only when it's really needed From
- Xiang Xiao (2018-11-09).
- * drivers/mtd/ftl.c: Add support support unlink operation to avoid the
- memory leak From Xiang Xiao (2018-11-09).
- * drivers/mtd/mtd_partition.c: Remove the hard code partition name length
- From Xiang Xiao (2018-11-09).
- * drivers/syslog/vsyslog.c: nx_syslog's return value should include the
- timestamp length From Xiang Xiao (2018-11-09).
- * drivers/syslog/syslog_flush.c: Uncomment the g_syslog_channel->sc_flush
- call From Xiang Xiao (2018-11-09).
- * drivers/syslog/syslog_putc.c: Call sc_force in idle task even interrupt
- buffer enabled. The following cases may hang randomly in the bring up
- phase: (1) boot up process and (2) suspend/resume process. Either case
- runs in the idle task context, so it's difficult to debug the hang issue
- if these output go through the interrupt buffer. From Xiang Xiao
- (2018-11-09).
- * drivers/syslog: Ensure interrupt log doesn't interlace in normal log.
- Don't call syslog_putc in syslog_default_write because syslog_putc will
- try to empty the interrupt buffer every time. From Xiang Xiao (2018-11-09).
- * drivers/syslog: syslog_initialize initialize dev/syslog too and call
- syslog to add the prefix and timestamp From Xiang Xiao (2018-11-09).
- * include/netdb.h Add NO_ADDRESS definition From zhangyuan7 (2018-11-09).
- * Fix typographical error in endian.h and resource.h From anchao
- (2018-11-09).
- * Fixes warnings from header files:
- - include/nuttx/clock.h: Fix uptime wrong if DEBUG_FEATURES and
- SCHED_TICKLESS enabled
- - iinclude/nuttx/arch.h: fix CONFIG_ARCH_INTERRUPTSTACK not defined warning
- - iinclude/nuttx/audio/audio_i2s.h: Fix warning: struct i2s_dev_s declared
- inside parameter list
- From Xiang Xiao (2018-11-09).
- * arch/sim/src/up_hostfs.c: Support S_IFSOCK, DT_LNK, O_DIRECT and O_SYNC
- From Xiang Xiao (2018-11-09).
- * sched/wdog: improve accuracy of wd_gettime() in tickless mode From ligd
- (2018-11-09).
- * sched/wdog: Improve accuracy of wd_gettime() in tickless mode From ligd
- (2018-11-09).
- * include/nuttx/fs/fs.h: Register_mtddriver should depend on CONFIG_MTD not
- CONFIG_MTD_PARTITION From Xiang Xiao (2018-11-09).
- * drivers/net/lan91c111.c: Reuse lan91c111_reply for ARP case From Xiang
- Xiao (2018-11-09).
- * drivers/net/slip.c: Add IPv6 support and fix minor issue From Xiang Xiao
- (2018-11-09).
- * drivers/net/tun.c: Call ipv[4|6]_input dynamically by checking packet
- header and remove the code duplication From Xiang Xiao (2018-11-09).
- * arch/arm/src/stm32l4: Add initial support for STM32L412 and STM32L422
- chips From Juha Niskanen (2018-11-09).
- * Remove deletion of Eclipse project files from make distclean target per
- request of David Sidrane. From Gregory Nutt (2018-11-09).
- * net/udp/udp_finddev.c: Fallback to netdev_default device if the device is
- not found, rather than arbitrary using the device at the head of the list
- of devices. From Xiang Xiao (2018-11-09).
- * Fix compiler error and warning when CONFIG_NET_SENDFILE=y From Xiang Xiao
- (2018-11-09).
- * net/tcp/tcp_backlog.c: Add SOMAXCONN definition and implementation per
- OpenGroup.org. From zhangyuan7 (2018-11-09).
- * net/arp and net/icmpv6: don't call d_txavail directly since it may point
- to NULL From Xiang Xiao (2018-11-09).
- * net/: Add NET_ICMP[v6]_NO_STACK for usrsock case From Xiang Xiao
- (2018-11-09).
- * net/usrsock/usrsock_accept.c: Mark newconn ready before issue accept
- request to avoid the event get discarded due to the socket in the invalid
- state From Xiang Xiao (2018-11-09).
- * libs/libc/net: Add basic implementation for recvmsg() and sendmsg() per
- OpenGroup.org specification. From ligd (2018-11-09).
- * include/netinet/in.h: Add Linux IP_PKTINFO and IPV6_PKTINFO definitions,
- but not yet realized. From Gregory Nutt (2018-11-09).
- * include/net and include/sys: Align the constant values with values in the
- Linux kernel which makes targeting the usrsock server to Linux kernel
- easier. From Xiang Xiao (2018-11-09).
- * include/arpa/inet.h: Remove the dup INET[6]_ADDRSTRLEN from arpa.inet.h
- already define in netinet/in.h From Xiang Xiao (2018-11-09).
- * net/arp: Redesign ARP table aging to simplify the net initialization From
- Xiang Xiao (2018-11-09).
- * net/arp/arp_send.c: Check ifname match before sending packet. From Xiang
- Xiao (2018-11-09).
- * Remove duplicate definition in nuttx/net/arp.h and
- include/nuttx/net/ioctl.h From Xiang Xiao (2018-11-09).
- * net/: Remove the unnecessary arp.h inclusion From Xiang Xiao (2018-11-09).
- * net/neighbor: Simplify the neighbor table aging process From Xiang Xiao
- (2018-11-09).
- * net/neighbor/neighbor_dumpentry.c: Simplify neighbor_dumpentry()
- implementation From Xiang Xiao (2018-11-09).
- * net/neighbor: neighbor_lookup() checks if the target IP belongs to one of
- the local network devices. From Xiang Xiao (2018-11-09).
- * net/neighbor: Support neighbor_out() for multiple link layer at the same
- time From Xiang Xiao (2018-11-09).
- * net/: Fix some compile errors introduce with recent networking patches.
- Found in build testing. From Gregory Nutt (2018-11-09).
- * net/icmpv6/icmpv6_neighbor.c: icmpv6_neighbor() shouldn't use the out of
- scope variable(dripaddr) From Xiang Xiao (2018-11-09).
- * net/icmpv6/icmpv6_conn.c: icmpv6_free() remove reference count operation
- since it's already done in icmpv6_close(). From Xiang Xiao (2018-11-09).
- * net/icmpv6/icmpv6_linkipaddr.c: Encapsulate the link scope address
- generation into icmpv6_linkipaddr() From Xiang Xiao (2018-11-09).
- * net/icmpv6: Remove the coupling between ICMPv6 and Ethernet by moving all
- Ethernet stuff to neighbor_ethernet_out.c and make the mac address as
- first field. From Xiang Xiao (2018-11-09).
- * net/arp and icmpv6: Double the delay time on each iteration for ARP/ICMP
- to fight work jitter better. From Xiang Xiao (2018-11-09).
- * net/icmpv6, neighbor, and netdev: Rename netdev_dev_lladdrsize() to
- netdev_lladdrsize() and move the prototype to include/nuttx/nex/netdev.h,
- giving is global scope within the OS. Reviewer: This degrades the
- integrity of the modular architecture by introducing a new coupling via C
- function call. Not a good thing at all. From Xiang Xiao (2018-11-09).
- * net/devif/ipv6_input.c: Fix a logic error when the received IPv6 srcaddr
- is a multicast address. Exiting logic only supported UDP multicast. But
- MLD and certain other ICMPv6 packets also require acceptance of multicast
- packets. From Gregory Nutt (2018-11-09).
- * drivers/timers/arch_rtc.c: up_rtc_set_lowerhalf call clock_synchronize()
- for external RTC. From Xiang Xiao (2018-11-09).
- * net/icmpv6/icmpv6_autoconfig.c and icmpv6_rnotify.c: Don't take the
- network device down when reconfiguring only the IP address from within
- ICMPv6 logic. Recommended by Xiang Xiao in order to avoid the long
- delays of bringing some networks back up.
- Normally it is required that the network be in the "down" state when
- re-configuring the network interface. This is thought not to be a
- necessary here because.
- 1. The ICMPv6 logic here runs with the network locked so there can be no
- outgoing packets with bad source IP addresses from any asynchronous
- network activity using the device being reconfigured.
- 2. Incoming packets depend only upon the MAC filtering. Network drivers
- do not use the IP address; they filter incoming packets using only the
- MAC address which is not being changed here.
- From Gregory Nutt (2018-11-10).
- * drivers/power/pm_initialize.c: Fix pm_domain_s.stime unintialize caused
- time error. Bug detail:
- 1. open CONFIG_DEBUG_FEATURES CONFIG_SYSTEM_TIME64 CONFIG_CLOCK_MONOTONIC
- ==> INITIAL_SYSTEM_TIMER_TICKS very big data, not zero
- 2. close CONFIG_SCHED_TICKLESS
- ==> use g_system_timer as system clock
- 3. pm_domain_s.stime init to zero
- 4. clock_systimer() - pm_domain_s.stime get big data, error
- From ligd (2018-11-10).
- * drivers/power/pm: Use the start time of state btime to calculate thrcnt;
- remove the loop whose count may be very big after the long idle From
- ligd (2018-11-10).
- * net/udp/Kconfig: Auto-select CONFIG_WQUEUE_NOTIFIER when
- CONFIG_UDP_READAHEAD_NOTIFIER is selected. From Gregory Nutt (2018-11-10).
- * /net/devif/ipv6_input.c: Correct handling of IPv6 extension headers.
- The main confusion was that the payload length in the IPv6 header does
- not include its extension headers.
- net/icmpv6/icmpv6_input.c: Correct calculation of the ICMPv6 header
- address
- net/mld/mld_query.c: Correct back test for group found.
- net/mld/mld_report.c: Fix host vs. network order problem.
- net/mld/mld_send.c: Correct the address used in sending the General
- Query. It should be the unspecified address in that case.
- net/MLD: The MAS query should be sent on the group multicast address.
- net/mld: There is an issue with the general query timer design. There
- should be a single instance, not a per-group instance of the timer (ditto
- for the v1 compatibility timer). Fall back for now and use the per-group
- MAX query.
- From Gregory Nutt (2018-11-10).
- * arch/sim/src/up_netdriver.c: Fix error 'invalid operands to binary &'
- From Xiang Xiao (2018-11-10).
- * arch/arm/src/common/up_exit.c: Fix typo. Caused compiler error when
- system debug enabled. From Xiang Xiao (2018-11-10).
- * arch/: Add 'BOARD_ASSERT_RESET_VALUE' in config/Kconfig and replace
- reboot status '0' to 'CONFIG_BOARD_ASSERT_RESET_VALUE'. From Gregory
- Nutt (2018-11-10).
- * net/mld: Resolve and issue with sending reports from multiple groups in
- the same polling cycle. From Gregory Nutt (2018-11-11).
- * The MLD implementation did not follow the RFC correctly when it is the
- Querier. The Querier should use a general query and get query messages
- from all members of all groups. This would be driven by a single timer
- per sub-net since all groups are queried at once. Instead, the design
- used a Multicast Address Specific Query with one timer per group and
- ignores groups that we are not members of.
- Similarly, the MLDv1 compatibility timer should be a single, separate
- timer, not a per-group timer.
- net/mld: Group may be NULL when sending a general query
- From Gregory Nutt (2018-11-11).
- * net/mld: Fix logic error when testing for the case where all members
- have left the group. From Gregory Nutt (2018-11-11).
- * arch/arm/src: Remove general register dump from fault handler since the
- same info already dump in PANIC From Xiang Xiao (2018-11-11).
- * arch/ assertions files: up_registerdump capture the general register if
- not yet saved and up_saveusercontext is implemented, the register dump is
- very useful to find the cause of failure. From Xiang Xiao (2018-11-11).
- * arch/ all assertion functions: up_stackdump() dump the full stack if
- stack overflow the stack info is very useful to find the backtrace From
- Xiang Xiao (2018-11-11).
- * arch/ all assertion functions: up_assert() move the register dump to
- first make the more important info first From Xiang Xiao (2018-11-11).
- * net/procfs/netdev_statistics.c: Eliminate warning: array subscript is
- above array bounds. From Gregory Nutt (2018-11-11).
- * Move NETDEV_LATEINIT from drivers/net/Kconfig to net/Kconfig so that we
- can select NETDEV_LATEINIT without enabling NETDEVICES since the net
- driver in arch folder may need to initialize later too. From Xiang Xiao
- (2018-11-12).
- * sched/clock/clock_getres.c: Support CLOCK_MONOTONIC From Xiang Xiao
- (2018-11-12).
- * sched/clock/: Remove g_monotonic_basetime and g_clock_monotonic_time
- since we don't need ensure monotonic time start from zero as state here:
- http://pubs.opengroup.org/onlinepubs/009696899/functions/clock_getres.html
- From Xiang Xiao (2018-11-12).
- * sched/clock/: Don't call up_timer_gettime in clock_gettime() and
- clock_systimer() to ensure the return value from them consistent with
- clock_systimespec From Xiang Xiao (2018-11-12).
- * sched/clock/clock_initialize.c: clock_inittime() needs to be done with
- CONFIG_SCHED_TICKLESS and clock_initialize should skip clock_inittime()
- for external RTC case since the RTC isn't ready yet. From Xiang Xiao
- (2018-11-12).
- * sched/clock/ timekeeping: Use clock_basetime() to initialize
- g_clock_wall_time to get the best initial RTC value and initialize
- g_clock_last_counter too since the hardware may not start counting from
- zero. From Xiang Xiao (2018-11-12).
- * libc libnx updates
- - NuttX: make strerror() return 'Success' for 0
- - NuttX: fix strrchr() so that it considers null terminator as part of
- string
- From strrchr(3) man page: "The terminating null byte is considered
- part of the string, so that if c is specified as '\0', these functions
- return a pointer to the terminator."
- - NuttX: mm_free(): Add DEBUGASSERT()'s to catch memory corruption early.
- It's easier to find the source when asserts fail already when freeing
- an overflowed buffer, than if the corruption is only detected on next
- malloc().
- - MM_FILL_ALLOCATIONS: Add debug option to fill all mallocs()
- This is helpful for detecting uninitialized variables,
- especially in C++ code. I seem to be forgetting to initialize
- member variables and then they just get random values..
- - NuttX: nxtk_bitmapwindow: Fix warning message when bitmap is fully
- off-screen.
- - nxfonts_getfont: Avoid unnecessary warnings for other whitespace chars
- also.
- - NuttX: Fix kerning of 'I' in Sans17x22 font
- The I character was running together with some other
- characters, e.g. in sequence "IMI".
- - NXMU: Re-validate window pointer for mouse events.
- NXMU caches the previous window pointer so that further mouse
- events can be sent to the same window. However, if the window
- is destroyed while mouse button is held down, the pointer may
- become invalid and cause a crash. This patch revalidates the
- pointer before using it.
- From Petteri Aimonen (2018-11-12).
- * stm32/stm32_adc: major refactor
- - stm32/stm32_adc: use STM32 ADC IP core version and ADC available
- functions instead of chip family names in conditional compilation
- - stm32/chip: replace family specific ADC headers with STM32 ADC IP core
- version headers
- - stm32/stm32_adc: configurable sample time supported for all chips, not
- only L1
- - stm32/stm32_adc: enable/disable interrupts supported for all chips, not
- only L1
- - stm32/stm32_adc: resolution configuration
- - stm32/stm32f33xxx_adc: remove wrong assertion
- - configs/nucleo-f303ze: support for ADC and ADC example
- - configs/stm32f429i-disco: support for ADC and ADC example
- From Mateusz Szafoni (2018-11-12).
- * arch/arm/src/imxrt: This commit completes the interrupt driven USDHC1
- functionality for the IMXRT EVKB. There is more work to be done to
- complete DMA mode and further changes will follow. From Dave Marples
- (2018-11-12).
- * arch/arm/src/imxrt/imxrt_usdhc.c: Improve SD card handling in the DMA
- case. For now I think we can consider this complete for both Interrupt
- and DMA transfers. There is other stuff to add (high speed, low voltage,
- DDR etc.) later, From Dave Marples (2018-11-13).
- 7.28 2019-01-19 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/imxrt: Add PIT, GPT, and QIMER(TMR) header files From David
- Sidrane (2018-11-13).
- * libs/libc/netdb: Make DNS retries configurable From Juha Niskanen
- (2018-11-14).
- * drivers/input/button_upper.c: Fix two bad NULL checks From Juha
- Niskanen (2018-11-14).
- * Assertions: Identify the running task correctly when dumping task state
- information. It takes time to switch to the target task after
- g_readytorun has been modified. If panic/assert happen during this
- period, the dump will contain the incorrect and confusing information due
- to the difference between the real running task and the return value of
- this_task(). This change resolve this problem by adding g_running_task to
- track the real running task through the context switch. From Xiang Xiao
- (2018-11-15).
- * arch/arm/src/stm32: STM32F446 & STM32F469 correct PC1 SPI assignments
- From David Sidrane (2018-11-15).
- * arch/arm/src/imxrt: Add FLEXPWM From David Sidrane (2018-11-15).
- * libs/libc/netdb/lib_dnsquery.c: Harden against DNS spoofing. This
- commit implements most of the RFC 5452 guidelines for making DNS more
- resilient. We now verify response matches against what was queried and
- use unpredictable query IDs. It is also checked that response come from
- correct DNS server. Also fixes a buffer overflow when querying hostnames
- longer than CONFIG_NETDB_DNSCLIENT_NAMESIZE. From Juha Niskanen
- (2018-11-16).
- * fs/dirent: Corrects a problem with opendir() noted by Petteri Aimonen in
- Bitbucket Issue 132: "opendir() fails for FAT filesystem with trailing
- slash in path". I see the following behaviour on NuttX 7.26, where I
- have SD card mounted on /flash and a directory called "frm" on it:
- opendir("/flash") returns (DIR *) 0x1000c580
- opendir("/flash/") returns (DIR *) 0x1000c5d0
- opendir("/flash/frm") returns (DIR *) 0x1000c620
- opendir("/flash/frm/") returns (DIR *) 0x0
- From POSIX specs for opendir(): "A pathname ... that ends with one or
- more trailing slashes shall be resolved as if a single dot character
- ( '.' ) were appended to the pathname."
- So for mount points, opendir() works correctly, but for FAT32 filesystem
- it fails to open directory if the path has a trailing slash...
- NOTE: You would not see this problem if you call opendir() indirectly in
- NSH (like 'ls -R /') because NSH contains logic to remove trailing '/'
- characters from paths. From Gregory Nutt (2018-11-16).
- * arch/arm/src/max36xx: Brings in WIP port for the Maxim Integrated
- MAX326xx MCU family. Not really very much in place yet so marked
- EXPERIMENTAL in Kconfig file. From Gregory Nutt (2018-11-16).
- * configs/stm32f429i-disco/lvgl/defconfig: Fix lvgl demo removing
- STM32_FB_CMAP. From Alan Carvalho de Assis (2018-11-17).
- * arch/arm/src/stm32/stm32_pwm.c: STM32 MOE is not being appropriately
- handled for PWM for advanced timers. It is only ever reset and so no PWM
- train is generated. This change addresses this. Noted by Dave Marples.
- From Mateusz Szafoni (2018-11-17).
- * arch/arm/stm32: stm32_flash_writeprotect supported the same for
- STM32F20XX as STM32F4XXX From Anthony Merlino (2018-11-17).
- * configs/max32660-evysy/: Add support for the Maxim Integrated
- MAX32660-EVSYS board. From Gregory Nutt (2018-11-17).
- * Improve LED handling #if~#endif in nrf52_autoleds.c and nrf52_userleds.c
- - Add Adafruit Feather nRF52 board LED support
- - Add Adafruit Feather nRF52 board
- - Add nrf52-generic
- - Replace 'pca10040' with 'generic'
- - Copy from nrf52-pca10040 to nrf52-generic
- From Zou Hanya (2018-11-18).
- * arch/arm/src/tiva: After commit
- 51b78034ac8d1fdf598107bf4093f0beccd5b80b, my tiva console does not work -
- enter key produces garbage characters. This commit fixes the problem for
- me. From Lwazi Dube (2018-11-18).
- * tools/nxstyle.c: Add logic to detect long lines. From Gregory Nutt
- (2018-11-19).
- * arch/arm/src/stm32f7: Ported the QEncoder from F4 to F7 From Eduard
- Niesner (2018-11-19).
- * tools/nxstyle.c: Add -h for help. From Gregory Nutt (2018-11-19).
- * arch/arm/src/imxrt: Add ADC chip header From David Sidrane (2018-11-20).
- * configs/imxrt1050-evk: GPIO device driver support added and tested by
- Pavlina Koleva and Ivan Ucherdzhiev From Pavlina Koleva (2018-11-20).
- * arch/arm/src/armv7-m/arch_invalidate_dcache.c,
- drivers/mmcsd/mmcsd_sdio.c, and other files in arch/: This commit adds a
- new function arch_invalidate_dcache_by_addr(). It takes the same
- parameters as arch_invalidate_dcache(), but performs invalidation of only
- the lines in cache that need to be invalidated. This new function could
- be used as a a direct replacement for arch_invalidate_dcache().
- The user of this invalidation are mmcsd_sdio currently. The mmcsd_sdio
- driver makes calls for dcache invalidation through the chip specific
- architecture function SDIO_DMARECVSETUP(). I changed the arch/arm/stm32f7
- chips to use arch_invalidate_dcache_by_addr() instead of
- arch_invalidate_dcache().
- This commit includes additional changes to mmcsd_sdio.c. I created
- SDIO_DMADELYDINVLDT() (DMA delayed invalidate) to invalidate store-into
- mode dcaches after the DMA transfer. I have been using
- SDIO_DMADELYDINVLDT() for several weeks now and it has fixed the problems
- that I previously reported regarding non-cache aligned buffer
- invalidation errors (for my store-through dcache). However, it does not
- permit use of unaligned DMA buffers for store-into mode dcaches.
- SDIO_DMADELYDINVLDT() is a NoOp unless the chip specific Kconfig file
- selects CONFIG_ARCH_HAVE_SDIO_DELAYED_INVLDT. I have modified all the
- stm32f7 chips to select it. From Bob Feretich (2018-11-20).
- * All network drivers! Change pre-processor logic that selects the high
- priority work queue or gives preferential treatment to the high priority
- work. All network logic must run on the low priority work queue! Or
- suffer the consequences. From Gregory Nutt (2018-11-21).
- * configs/stm32vldiscovery/scripts/stm32vldiscovery.ld: Fix SRAM and FLASH
- size in the linker script. There is STM32F100RB with 8KB RAM and 128KB
- FLASH on the STM32VL Discovery kit. Invalid memory size could cause a
- hard fault. From Matous Pokorny (2018-11-21).
- * arch/mips/src/pic32m[x|z]/pic32m[x|z]-ethernet.c: Fix a comparison in a
- debug assertion. Should be <= vs <. Noted by Anonymous in Bitbucket
- Isue 134. From Gregory Nutt (2018-11-21).
- * sched/signal/sig_timedwait.c: Remove unnecessary disable of
- pre-emption. From Gregory Nutt (2018-11-23).
- * libs/libc/netdb: Support multiple IP addresses per hostname From Juha
- Niskanen (2018-11-23).
- * configs/stm32vldiscovery: Fix memory size configuration and
- documentation. There is STM32F100RB instead of STM32F100RC on the STM32
- VL Discovery kit. From Matous Pokorny (2018-11-23).
- * Improvements in STM32 ADC, minor changes in STM32 PWM, DMA, HRTIM and add
- some highpri ADC examples:
- - arch/arch/src/stm32/stm32_adc: fix RCC reset logic
- - arch/arch/src/stm32/stm32_adc: move sample time change functions to
- low-level ADC ops
- - arch/arch/src/stm32/stm32_adc: configurable ADC DMA mode (one shot
- mode, circular mode)
- - arch/arch/src/stm32/stm32_pwm: remove llops_get interface. We can use
- structure casting to get pwm low-level ops
- - arch/arch/src/stm32/stm32_pwm: add timer enable/disable and frequency
- update to low-level ops
- - arch/src/arm/stm32: remove redundant stm32f33xxx_dma.c
- - arch/arm/src/stm32/stm32f40xxx_dma.c: add interfaces to interact with
- highp priority DMA interupts
- - arch/src/arm/stm32/stm32_hrtim: do not enable timers on startup if
- option from Kconfig selected and add interface to enable/disable timers
- - configs/nucleo-f334r8/highpri: update configuration due to changes in
- stm32_adc
- - configs/stm32f334-disco/buckboost: update configuration due to changes in
- stm32_adc
- - configs/nucleo-f334r8/highpri: add support for ADC injected sequence,
- add triggering from TIM1
- - configs/nucleo-f302r8/highpri: add high priority ADC interrupts example
- - configs/stm32f429i-disco/highpri: add high priority ADC interrupts
- example
- From Mateusz Szafoni (2018-11-23).
- * fs/procfs/fs_procfsproc: Extended the process ID ProcFS output to show
- per-thread maximum time for pre-emption disabled and maximum time within
- a critical section. From Gregory Nutt (2018-11-24).
- * sched/sched/sched_critmonitor.c: Adds data collection logic in support
- of monitoring critical sections and pre-emption state. From Gregory Nutt
- (2018-11-24).
- * configs/stm32f4discovery: Add timing support for the critical section
- monitor using the DWT CYCNT register. From Gregory Nutt (2018-11-24).
- * fs/procfs/fs_procfscritmon.c and sched/sched/sched_critmonitor.c: Add
- support for global pre-emption and global critical sections to monitor as
- suggested by Xiang Xaio. From Gregory Nutt (2018-11-24).
- * Critical Section Monitor: Add low level timer support for simulation.
- From Gregory Nutt (2018-11-24).
- * arch/: Update all _exit() implementations for all architectures so that
- they correctly called the scheduler instrumentation layer for the new
- task that runs when the old one exits. This missing instrumentation was
- confusing the Critical Section Monitor logic with uses this
- instrumentation to track the state of critical sections. From Gregory
- Nutt (2018-11-24).
- * drivers/lcd: Add support to Alphanumeric Sitronix ST7032i display From
- Alan Carvalho de Assis (2018-11-24).
- * configs/stm32f4discovery: Add board support to display ST7032i From
- Alan Carvalho de Assis (2018-11-24).
- * wireless/bluetooth/bt_conn.c: Fix uninitialized variable. From Lwazi
- Dube (2018-11-25).
- * sched/irq/Make.defs: Fix warning about irq_csection.o appearing multiple
- times in the same rule. From Gregory Nutt (2018-11-25).
- * sched/irq and sched/sched: Measurement of interrupt handler duration
- used to be available only in Tickless mode since it used the high
- resolution Tickless timer to measure interrupt time. This commit adds
- CONFIG_SCHED_IRQMONITOR_GETTIME which, if enabled, will force the
- interrupt duration calculation to use the same high-resolution,
- platform-specific timer as is used with the Critical Section Monitor.
- This leads to two improvements: (1) You can now measure interrupt
- duration in non-Tickless mode, and (2) in either mode, the interrupt
- duration and the critical section measures will use the same
- high-resolution timer and should, therefore, never be any discrepancy due
- to different clock sources. From Gregory Nutt (2018-11-26).
- * wireless/bluetooth/bt_att.c: Fix uninitialized variable. From Lwazi
- Dube (2018-11-27).
- * net/socket/net_clone.c: On a failure to start the TCP monitor, the clone
- socket is closed but is not properly freed, leaving it attached to a TCP
- connection structure with the wrong reference count. From Gregory Nutt
- (2018-11-27).
- * arch/arm/src/max326xx: Fixes for GPIO configuration problems and serial
- driver problems. I now get the NuttShell prompt (if I also band on ENTER
- to force all of the characters out). Progress, but not yet ready. From
- Gregory Nutt (2018-11-27).
- * arch/arm/src/max326xx and configs/max32660-evsys/src: Fix some issues
- with GPIO setup of output pins. Correct polarity of on-board LED
- output. The on-board LED is now functional. From Gregory Nutt
- (2018-11-28).
- * arch/arm/src/max326xx: WFI instruction in IDLE loop seems to interfere
- with stability. Commented out for now. Needs to be investigated
- further. From Gregory Nutt (2018-11-28).
- * arch/arm/src/max326xx: Fixes UART interrupt problems. With these
- changes, the NSH configuration appears stable and is no longer
- conditioned on EXPERIMENTAL. From Gregory Nutt (2018-11-29).
- * fs/procfs: Remove the unnecessary critical section From Xiang Xiao
- (2018-11-29).
- * sched/sched_foreach.c: sched_foreach() should not have to hold the
- critical section over the entire traversal. It should be acceptable to
- simply only the critical section while one entry is being processed (the
- caller can always call sched_foreach within a critical section is greater
- stability is needed). From Gregory Nutt (2018-11-29).
- * wireless/bluetooth/bt_hcicore.c: Add second RX work function From Lwazi
- Dube (2018-11-30).
- * include/nuttx/wireless/bluetooth/bt_gatt.h: Fix struct name. From Lwazi
- Dube (2018-11-30).
- * sched/: Add debug assertions before each call to up_block_task() to
- assure that there is no attempt to block an IDLE task. From Dave Marples
- (2018-11-30).
- * arch/mips/src/mips32/Kconfig: Allow Penguino for windows for the
- Windows Ubuntu platform as well (2018-11-30).
- * arch/arm/src/max326xx/max32660/max32660_spim.c: SPI0 master mode support
- is complete (sans DMA and completely untested). From Gregory
- Nutt (2018-11-30).
- * configs/max32660-evsys/src: Add framework for SPI support. From Gregory
- Nutt (2018-11-30).
- * configs/max32660-evsys: Added support for an SPI-based micro-SD card.
- Does not yet work (SPI hangs with no data transferred). From Gregory
- Nutt (2018-11-30).
- * drivers/lcd/Kconfig and several other places: Rename CONFIG_LCD_CONSOLE
- to CONFIG_SLCD_CONSOLE. The original name CONFIG_LCD_CONSOLE is
- incorrect because it runs on SLCD display. This patch fix it and update
- its dependences From Alan Carvalho de Assis (2018-11-30).
- * configs/stm32f4discovery: If the Critical Section Monitor, modify the
- ITM_LAR register to assure that the DWT cycle counter is enabled.
- Suggested by Dave Marples. From Gregory Nutt (2018-11-30).
- * arch/arm/src/armv7-m/itm.h: Fix missing space causing macro issues From
- Alan Carvalho de Assis (2018-12-01).
- * configs: Add support for nucleo-f103rb, nucleo-f207zg and nucleo-l152re
- From Mateusz Szafoni (2018-12-01).
- * tools/convert-comments.c: Add a tool to convert C++-style comments to
- C89 C-style comments. From Gregory Nutt (2018-12-01).
- * configs/nucleo-f207zg, configs/nucleo-f103rb: Add ADC and PWM examples;
- arch/arm/src/stm32_adc.c: There is no DMA CFG bit for the basic IPv1
- ADC. From Mateusz Szafoni (2018-12-02).
- * Use STM32 DMA IP core version instead of chip family names and some minor
- improvements:
- - arch/arm/src/stm32/chip/stm32_adc.h: raise error if two IP cores selected
- - arch/arm/src/stm32/Kconfig: hide TIMER menu, HRTIM menu and USB Host
- debug menu if peripherals not enabled
- - configs/stm32f429i-disco/highpri/defconfig: fix configuration warning
- From Mateusz Szafoni (2018-12-02).
- * drivers/spi/Kconfig and include/nuttx/spi/spi.h: Extend the HW features
- supported by SPI. It now supports a deferred DMA trigger hardware
- configuration. arch/arm/src/stm32/stm32_spi.c: Implements the new
- deferred DMA trigger feature. From Dave Marples (2018-12-02).
- * include/nuttx/wireless/bluetooth and include/nuttx/wireless/bluetooth:
- Add SIOCBTCONNECT and SIOCBTDISCONNECT ioctl commands From Lwazi Dube
- (2018-12-02).
- * arch/arm/src/stm32/stm32_adc.c: Refactor adc_reset. It should be easier
- to maintain this code if it's divided into smaller functions From
- Mateusz Szafoni (2018-12-02).
- * arch/arm/include/tiva: Started integration of support for the CC13x0,
- CC13x2, and CC26x2. From Gregory Nutt (2018-12-03).
- * tools/detab.c: Add detab.c which will convert all tabs in a file to
- spaces. From Gregory Nutt (2018-12-03).
- * tools/lowhex.c: Add lowhex.c that will convert hexadecimal constants in
- a file to use lower case representation. From Gregory Nutt (2018-12-03).
- * STM32F7, STM32H7, and STM32L4: Port Dave Marples STM32 fix to other
- STM32 SPI drivers From Gregory Nutt (2018-12-03).
- * configs/launchxl-cc1312r1/: Add a configuration for the
- LAUNCHXL-CC1312R1 board. This is a very stripped down configuration. It
- was needed to support verification of the CC13xx configuration logic and
- will be needed to support completion of the CC13xx port. From Gregory
- Nutt (2018-12-03).
- * arch/: In the current implementation we only use very high priority
- interrupts (levels 0, 0x10 and 0x20 in CORTEX-M speak) but that means
- there are loads of lower priority ones that are effectively unused. I
- have *not* changed the semantics of these levels but have 'shifted' them
- to be based around the midpoint of the available interrupts (0x80) rather
- than at the top end....that allows for interrupts to be defined above
- (or, indeed, below) them as needed by the application. This should have
- no functional effect on existing code but adds in a clean capability to
- define higher priority interrupts. From Dave Marples (2018-12-03).
- * arch/arm/src/stm32f0/stm32f0_clockconfig.c: Fixes the problem in GPIO
- port clocks. Only port A clock was enabled although the comment states
- otherwise. From Juha Paalijärvi (2018-12-04).
- * arch/arm/src/tiva: Remove option CONFIG_TIVA_BOARD_CLOCKCONFIG. It is
- not used and unnecessary. Fix some naming. up_clockconfig() is
- inappropriate. Change tiva_clockconfig() to tiva_clock_reconfigure()
- then we can change up_clockconfig() to tive_clock_configure(). From
- Gregory Nutt (2018-12-04).
- * arch/arm/include/stm32/chip.h: Remove redundant STM32 family
- definitions. It is already done in arch/arm/src/stm32/Kconfig From
- Mateusz Szafoni (2018-12-05).
- * stm32f7: I2C out of bounds access on priv->msgv. Error in if statement.
- It was checking for msgc > 0. If message count is 1, only index 0 is
- valid on priv->msgv. Therefore random values in memory were used to set
- next_norestart. From David Sidrane (2018-12-05).
- * STM32H7 and STM32L4: Applied David Sidrane's I2C to
- arch/arm/src/stm32h7/stm32_i2c.c and arch/arm/src/stm32l4/stm32l4_i2c.c.
- Those easy because F7 patch applied with no problem (after changing path
- and file names appropriately). The patch could not be applied to the
- following. The logic is different. I don't know if a similar change is
- needed there or not.
- - arch/arm/src/stm32/stm32f30xxx_i2c.c
- - arch/arm/src/stm32/stm32f40xxx_i2c.c
- - arch/arm/src/stm32/stm32_i2c.c
- - arch/arm/src/stm32/stm32_i2c_alt.c
- - arch/arm/src/stm32f0/stm32f0_i2c.c
- From Gregory Nutt (2018-12-05).
- * arch/arm/src/armv7-m: This commit changes the lazy and non-lazy
- exception handler to remove a couple of cpsid instructions from them on
- ARMv7-m. If my understanding is correct then these interrupt
- manipulations aren't doing anything anyway because prioritization stops
- secondary interrupts arriving and, even if they did work, they would have
- introduced race conditions for the period of time between the interrupt
- arriving and further interrupts being disabled. From Dave Marples
- (2018-12-06).
- * arch/arm/src: Remove all driver-specific logic to set the interrupt
- priority. There is no good reason to change the interrupt priority
- unless you just want to debug a difficult problem. OR if you want to use
- high priority interrupts. In that case the specific interrupt priorities
- will need to be set by board-specific logic. From Gregory Nutt
- (2018-12-06).
- * fs/cromfs/fs_cromfs.c: Fixes hardfault From David Sidrane (2018-12-06).
- * libs/libc/stdio/lib_libfread.c: fread() should always set EOF if fewer
- than the requested number of bytes was not read. Per Anthony Merlino.
- From Gregory Nutt (2018-12-07).
- * arch/mips/include/pic32mz/chip.h: Add a missing " in an error message.
- From Ouss4 (2018-12-07).
- * arch/mips/src/pic32mz: Add support for the I2C bus. From Ouss4
- (2018-12-07).
- * arch/arm/src: In most I2C drivers, correct upper index value in I2C
- trace dump. Eliminates the extra NONE event from the trace dump output.
- From Ouss4 (2018-12-08).
- * wireless/bluetooth and include/nuttx/wireless/bluetooth: Remove
- unnecessary gatt ioctls From Lwazi Dube (2018-12-08).
- * STM32F3 and STM32F4 I2C: Remove the extra NONE event from the trace dump
- output. From Ouss4 (2018-12-08).
- * STM32 I2C (alternate): Remove the extra NONE event from the trace dump
- output. From Ouss4 (2018-12-08).
- * Improvements in STM32 ADC:
- - arch/arm/src/stm32/stm32_adc.c: Start conversion on startup is now
- possible if TIM triggering selected. This can be useful to start ADC
- TIM conversion for ADC IPv2 when opening ADC device.
- - arch/arm/src/stm32/stm32_adc.c: Fix compilation errors for chips with
- one ADV TIM
- - configs/nucleo-f303re: Refresh ADC example
- - configs/nucleo-f334r8: Refresh ADC example
- From Mateusz Szafoni (2018-12-09).
- * configs/nucleo-f334r8: Add example for the SPWM generation (custom STM32
- PWM usage). From Mateusz Szafoni (2018-12-09).
- * arch/arm/src/stm32/stm32_pwm: Fix compilation errors if the upper-half
- PWM logic is not enabled. From Mateusz Szafoni (2018-12-09).
- * include/nuttx/drivers/pwm.h: Remove dependency on CONFIG_PWM for the
- upper-half PWM header. This allows compilation for the lower-level PWM
- drivers even if the upper-half PWM logic is not used. From Mateusz
- Szafoni (2018-12-09).
- * arch/arm/src/stm32/stm32_tim.c: Fix compilation error if there is no
- TIM8. From Mateusz Szafoni (2018-12-09).
- * configs/nucleo-f334r8/highpri: Remove the upper-half ADC from
- configuration. From Mateusz Szafoni (2018-12-09).
- * configs/nucleo-f302r8/highpri: Remove the upper-half ADC from
- configuration. From Mateusz Szafoni (2018-12-09).
- * configs/stm32f429i-disco/highpri: remove the upper-half ADC from
- configuration From Mateusz Szafoni (2018-12-09).
- * include/nuttx/net/arp.h: Fix whitespace after ARPHRD_IEEE80211 From
- Daniel Agar (2018-12-09).
- * fs/vfs: dup() and dup2() were broken some time back. fs_dupfd() was
- return returning OK on success, not the file descriptor of the duplicated
- fd. From David Sidrane (2018-12-10).
- * drivers/wireless/bluetooth/bt_uart_cc2564.c: Add cc2564 driver. From
- Lwazi Dube (2018-12-11).
- * drivers/1wire/ds28e17.c: Optimize I2C write followed by read to same
- address. From Juha Niskanen (2018-12-11).
- * arch/arm/src/stm32/Kconfig: Simplify ARM core selection logic From
- Mateusz Szafoni (2018-12-12).
- * drivers/mtd/at25.c: Added support for AT25DF081A serial flash chip.
- From Marc Rosen (2018-12-12).
- * fs/nxffs/nxffs_ioctl.c: Pass unrecognized IOCTL commands to the
- contained MTD driver. From Daniel P. Carvalho (2018-12-12).
- * arch/arm/src/stm32/Kconfig: USB Host is an option. From David Sidrane
- (2018-12-12).
- * drivers/mtd/at25.c: Fixed missing opening parenthesis. From Marc Rosen
- (2018-12-13).
- * gencromfs.c:1171:3: warning: ignoring return value of 'asprintf',
- declared with attribute warn_unused_result [-Wunused-result]. From David
- Sidrane (2018-12-13).
- * arch/arm/src/tiva/common/tiva_hciuart.c: Port bluetooth HCI uart
- interface from stm32 to tiva From Lwazi Dube (2018-12-15).
- * arch/arm/src/stm32f0l0: Rename stm32f0 to stm32f0l0 to make a space
- for STM32 L0. Rename files, functions and defines, removing the f0_
- from the names in order to make them MCU agnostic. From Gregory Nutt
- (2018-12-16).
- * Numerous files: Fixes usage of CONFIG_BIG_ENDIAN; should be
- CONFIG_ENDIAN_BIG From Anthony Merlino (2018-12-16).
- * net/sixlowpan: Fixes decompression of ipaddr from MAC address. The
- logic used to populate the IP from the radio address should match
- sixlowpan_ipfromsaddr/sixlowpan_ipfromeaddr From Anthony Merlino
- (2018-12-16).
- * Fix lc823450 related:
- - configs/lc823450-xgevk: Fix IOB params in rndis/defconfig. These
- prameters work for HTTP audio streaming.
- - arch/arm/src/lc823450: Fix up_allocate_heap() in
- lc823450_allocateheap2.c. This change fixes heap size and also
- implements up_addregion(). From Masayuki Ishikawa (2018-12-18).
- * sixlowpan: Fixes logic surrounding the Universal/Local bit. This bit
- represents whether the IID is locally/globally administered. The U/L
- bit is bit 1 of the MSB of the EUI-64. It should only be inverted in
- cases where there is a full EUI-64. In cases where the IID is derived
- from say, a short address, this bit should be forced to 0, indicating
- that it is locally administered. See:
- - https://tools.ietf.org/html/rfc4291#section-2.5.1
- - https://tools.ietf.org/html/rfc4944#section-6
- - https://tools.ietf.org/html/rfc2464#section-4
- From Anthony Merlino (2018-12-18).
- * sched/task/task_spawn.c: Correct description of input parameters to
- task_spawn_exec(). Noted by: JeongchanKim From Gregory Nutt
- (2018-12-18).
- * sixlowpan/ieee802154: IEEE802.15.4 stores and uses addresses in little
- endian order. From Anthony Merlino (2018-12-18).
- * crypto/aes.c: This commit provides an improved AES cipher API in
- addition to the existing routines. The reasons for this new API are:
- 1) better performance, giving the possibility to avoid re-setting-up
- the key for each AES block when the same key is used multiple times.
- This is important for the current single user of AES, which is related
- to storage and FTL. And 2) suitable for simultaneous use of multiple
- AES keys, which will be required by the upcoming crypto framework. It
- retains compatibility with the previous API, so there is no need to
- change anything else right now. From Sebastien Lorquet (2018-12-18).
- * arch/ assertions: Correct duplicated logic from commit
- dbf01d12b7321d1b48b68d3b69842a853b049376. Checking for PID == zero is
- not a valid way to test for the IDLE task in all configurations! This
- is only true in the single CPU configuration. In multiple CPU
- configurations, there will be a separate IDLE task for each CPU with a
- different PID and an alternative check must be used. NOTE: The logic
- fixed in somes places still lacks sufficient intelligence to find the
- right stack for the CPU IDLE thread and could still show the wrong
- stack. From Gregory Nutt (2018-12-18).
- * Change rndis mac:
- - configs/lc823450-xgevk: Change RNDIS MAC address assignment. In
- previous implementation, mac[0] was assigned to 0xaa for RNDIS host
- to avoid MAC address conflicts with RNDIS device.. However, I
- noticed that this assignment causes a random MAC address generation
- on ubuntu16.04 or later which is inconvenient to set up network
- interface. This new assignment scheme fixes this issue.
- - configs/viewtool-stm32f107: Change RNDIS MAC address assignment.
- Same issue.
- From Masayuki Ishikawa (2018-12-19).
- * crtypo/: This change:
- - Avoids the use of up_aesinitialize() entirely, which resolves
- dependency problems, because this function does not make sure that an
- actual hardware aes implementation was made available: each SoC is
- now responsible to ensure the AES hardware is initialized before
- first use. This applies to lpc43xx, stm32 and sam34.
- - Remove definitions of the NEVER used aes_init and aes_update
- operations. The new AES API will be more suitable.
- - Change the unusual naming in stm32 (avoiding possible naming clashes)
- - Change the unusual naming in sam34 (avoiding possible naming clashes)
- - Add some FAR to pointers and enforce the 80 col limit in stm32 and sam
- From Sebastien Lorquet (2018-12-19).
- * arch/arm/src/stm32: Add support for DMA v1 CSELR support. From
- Mateusz Szafoni (2018-12-19).
- * Brings in initial WIP support for the STML0. This initial commit is
- unverified and, hence it it marked "EXPERIMENTAL." From Mateusz
- Szafoni (2018-12-19).
- * configs/: Hook new STM32L0 boards into the configuration system.
- nucleo boards use as default ST LINK MCO as clock input from MCU and
- for this HSEBYP must be enabled
- - configs/nucleo-l073rz: Add basic support for nucleo-l073rz
- - configs/b-l072z-lrwan1: Add basic support for b-l072z-lrwan1.
- From Mateusz Szafoni (2018-12-19).
- * sixlowpan: Address comment regarding avoiding double lookup of address
- context. From Anthony Merlino (2018-12-19).
- * Revert "This patch prevent heap corruption as in below case." This
- solution to the problem noted by EunBong Song results in major memory
- fragmentation and and out-of-memory conditions on the PX4 platform. On
- that platform the lower priority work queue is very low priority and
- essentially never runs when the system is busy. As a result, the
- systems gets slowly starved of memory until failures and bad behaviors
- begin to occur. This reverts commit
- 91aa26774b291fa553f701ce5222e56a6156c323. From Gregory Nutt
- (2018-12-20).
- * mm/mm_heap/mm_sem.c: This is a candidate replacement for the reverted
- change 91aa26774b291fa553f701ce5222e56a6156c323. This change adds a
- check to mm_trysemaphore() (the root implementation of both
- kmm_trysemaphore() and umm_trysemaphore()). It checks if the that task
- that is apparently executing is marked as RUNNING. If not, how could
- the non-running task be trying to get the MM semaphore? I think only
- in the exact scenario that Eunbong Song has described. So I think the
- solution should provide the same protection as
- 91aa26774b291fa553f701ce5222e56a6156c323 but without the horrific
- consequences to memory usage. From Gregory Nutt (2018-12-20).
- * sched/Kconfig and sched/init/os_bringup.c: Allow the init task
- priority to be set. From David Sidrane (2018-12-20).
- * arch/arm/src/stm32/chip/stm32_dma_v1.h: Add missing DMA channel
- configuration.
- * mm/mm_heap/mm_sem.c: Defer freeing if mm is held by a not running
- task. When the holder is running we can add a holder count. If there
- is no holder OR it is not running we want to try to take the semaphore.
- There will not be a count if the task is the holder and not running
- because it already holds the count. This will result it the deferred
- free. We will take it when not held and do the free when we can get
- the count because there was no holder. From David Sidrane (2018-12-20).
- * Extends the MTD configdata device with the following features /
- additions:
- 1. Configurable option to use named config items instead of enumerated
- ID/Instance numbers.
- 2. Ability to iterate through the existing configdata items in the
- /dev/config device.
- 3. Ability to "unset" a configdata item.
- 4. Ability to perform "flash_eraseall" on the /dev/config device.
- From Ken Pettit (2018-12-20).
- * drivers/analog/lmp92001.c: Add support for the TI LMP92001 device.
- * arch/arm/src/samd2l2/sam_i2c_master.c: Corrects behavior of the
- I2C_M_NOSTART flag. Also adds a release a bus on RXNACK and corrects
- typo priv->flags to msg->flags as priv->flags is never set. From
- Alexander Vasiliev (2018-12-22).
- * arch/arm/src/samd5e5/sam_i2c_master.c: Alexander Vasiliev's fix to the
- SAMD21 I2C Master (commit b1110ba91c549572e94c24ebed202643233deee3)
- should probably also be applied to the SAMD51 I2C Master which is
- identical. From Gregory Nutt (2018-12-22).
- * Fix lc823450 start:
- - arch/arm/src/lc823450: Use CONFIG_STACK_COLORATION instead of
- CONFIG_DEBUG_STACK
- - arch/arm/src/lc823450: Fix go_os_start() in lc823450_start.c. I
- found a bug in go_os_start() that it returns immediately because it
- does not compare r1 to zero. This commit fixes this bug. Also, this
- commit fixes its description.
- From Masayuki Ishikawa (2018-12-25).
- * arch/arm/src: Masayuki Ishikawa's change to go_os_start() should be
- applied to all MCU-specific start-up functions that support
- go_os_start(). From Gregory Nutt (2018-12-25).
- * configs/stm32f4discovery: Add loadable app build support in
- Make.defs From Masayuki Ishikawa (2018-12-25).
- * arch/arm/src/samd2l2/chip: Adds a complete ADC header file for SAMD21
- and a partially complete ADC header file for the SAML21. From
- Alexander Vasiliev (2018-12-26).
- * net/sixlowpan: Record and restore d_buf on entry/exit of
- sixlowpan_input. This avoids an issue where d_buf gets set to NULL by
- sixlowpan, and then is used by forwarding logic from another network
- interface before getting set back to the drivers internal b From
- Anthony Merlino (2018-12-26).
- * tools/gencromfs.c: Fix build on macOS From David Sidrane (2018-12-26).
- * sched/pthread: Implement pthread_key_delete(). This involves some
- minor changes to the group data structure. From Gregory Nutt
- (2018-12-28).
- * arch/arm/src/imxrt/chip/imxrt106x_pinmux.h: Add FLEXCAN3 to pinmux.
- From David Sidrane (2018-12-28).
- * arch/arm/src/tiva/: Add support for LM3S9B92. From Lwazi Dube
- (2018-12-28).
- * Add some conditional compilation to logic added with commit
- 1cf992ed04c230e639bf29e55f2ec110cb9c4340 to better 'idiot-proof' the
- LM3S support. From Gregory Nutt (2018-12-28).
- * arch/arm/src/samd2l2, configs/samd20-xplained, samd21-xplained,
- saml21-xplained: Fix SAMD2L2 arch to use calibrated oscillator value.
- Now SAMD20 and SAMD21 should work fine without external crystal. Note
- that SAML21 Xplained board has an external crystal and doesn't need
- this change, unless you don't want to use the crystal. From Alexander
- Vasiliev (2018-12-29).
- * drivers/mtd/smart.c: Fix smart_write_alloc_sector sector size
- calculation. From Daniel P. Carvalho (2018-12-29).
- * mm/mm_heap/mm_sem.c and sched/task/task_getpid.c: Commits
- 43d37c866bdaefeff659dec20ed380389c4880d5 and
- f37202cbc0f72526ecfa58e5d27c5b4973289140 resolved some problems with
- the original fix of 91aa26774b291fa553f701ce5222e56a6156c323. However,
- Those changes used an internal OS interface (sched_self()) which is not
- available when the the user-space memory manager is built in the
- PROTECTED or KERNEL builds and resulted in build failures. This commit
- repartitions the logic by moving some of the changes from mm_sem.c into
- task_getpid.c. The logic is equivalent for the case of
- mm_trysemaphore(), but now has wider impact (since it potentially
- affects all callers of getpid()). Hence, this change may also
- introduce some other issues that will need to be addressed. From
- Gregory Nutt (2018-12-30).
- * arch/arm/src/samd2l2/sam_i2c_master.h: Export
- sam_i2c_master_initialize(int bus) to be used by board config. From
- Alan Carvalho de Assis (2018-12-30).
- * drivers/eeprom/i2c_xx24xx.c and include/nuttx/eeprom/i2c_xx24xx.h: Add
- support to Microchip AT24CM02 From Alan Carvalho de Assis (2018-12-30).
- * configs/saml21-xplained/include/board.h: Fix removed MAXCOARSESTEP
- from saml21-xplained board From Alan Carvalho de Assis (2018-12-30).
- * arch/arm/src/tiva/common/lmxx_tm4c_gpioirq.c: Fix tiva gpio
- interrupts From Lwazi Dube (2018-12-30).
- * configs/: Commit fd68d74264c breaks all STM32 board configurations
- that use STM32 USB host. That is because that commit requires
- CONFIG_STM_USBHOST to be set to build in USB host support, but did not
- update the necessary board defconfig files to add that required
- configuration. From Gregory Nutt (2018-12-30).
- * drivers/net/tun.c: Fixes a problem reported by Masayuki Ishikwawa:
- Recently I noticed that ARP response packet is corrupted when I tried
- to run bluekitchen with the latest tun.c in TAP mode. If I revert
- commit 8193c28e9126c9cb89042e80d6ebab7485a831e4, then it works again.
- From Xiang Xiao (2018-12-30).
- * arch/arm/include/tiva and src/tiva: Improve GPIO interrupt support by
- removing unnecessary, hard-coded per-MCU defines and using the existing
- Kconfig configuration options instead. From Lwazi Dube (2018-12-31).
- * drivers/power/mcp73871.c: Add support to Microchip MPC73871 Battery
- Charger. From Alan Carvalho de Assis (2018-12-31).
- * configs/tm4c1294-launchpad/src: Add IRQBUTTONS support to tm4c1294
- launchpad. From Lwazi Dube (2018-12-31).
- * arch/arm/src/stm32: Unified naming for DAC interfaces From Mateusz
- Szafoni (2019-01-02).
- * drivers/usbdev/cdcacm.c: When implemented usb cdc on nrf52840,
- I found some issues with cdc driver:
- 1. Lost data when receiving buffer is full;
- 2. Low-water mask implement issue;
- 3. Re-flush cdc buffer when enabling
- 4. Serial dma is conflict with cdc , modify the serial.h
- From Levin Li (2019-01-02).
- * drivers/mtd/mtd_config.c: Check return value mtdconfig_readbytes().
- From Jussi Kivilinna (2019-01-02).
- * configs/pizero: Remove the partial support for the Raspberry Pi Zero.
- This port was started with the best of intentions but was never
- completed. The board support can still be found in the Obsoleted
- repository. From Gregory Nutt (2019-01-02).
- * arch/arm/src/bcm2708 and arch/arm/include/bcm2708: Remove all support
- for the BCM2708/2835. This was added only for support of the Pi Zero
- board which was previously removed. The support was minimal and
- unverified. The removed files can still be found in the Obsoleted
- directory. From Gregory Nutt (2019-01-02).
- * arch/arm/src/stm32f7: stm32f7 enable separate DMA per SPI
- configuration From Daniel Agar (2019-01-02).
- * lc823450 spif boot:
- - arch/arm/src/lc823450: Add support for SPI flash boot. Also, remove
- unnecessary code for the SPI flash boot.
- - configs/lc823450-xgevk: Add linker script for SPI flash boot
- From Masayuki Ishikawa (2019-01-04).
- * drivers/power/battery_gauge.c: Add missing initialization of
- semaphore. From Alan Carvalho de Assis (2019-01-04).
- * drivers/power/battery_charger.c: Add missing initialization of
- semaphore. From Alan Carvalho de Assis (2019-01-04).
- * tools/mkconfig.c: Add definitions to distinguish between tristate 'y'
- and 'm' options. From Gregory Nutt (2019-01-05).
- * drivers/power/mcp73871.c: Fix MCP73871 driver to register correctly as
- a battery charger. The first element of a 'struct
- battery_charger_dev_s' should be a pointer to operations structure.
- From Alan Carvalho de Assis (2019-01-05).
- * drivers/net/telnet.c: Add NAWS and poll interface to telnet for screen
- size negotation used with termcurses. From Ken Pettit (2019-01-05).
- * arch/arm/src/samv7/sam_serial.c: Fix case where TTYS0 is not defined.
- From Ken Pettit (2019-01-05).
- * arch/arm/src/armv7-a/arm_mmu.c: Fix end address calculation for
- mmu_invalidate_region() API From Petro Karashchenko (2019-01-06).
- * arch/arm/src/armv7-a/mmu.h: Use TLBIMVA vs TLBIMVAAIS to invalidate
- the Cortex-A8 cache. From Petro Karashchenko (2019-01-06).
- * Initial changes for BeagleBone Black board support (TI AM335x family
- based on Cortex-A8):
- - configs/beaglebone-black: Adds initial support for the BeagleBone
- Black board.
- - arch/arm/src/am335x: Adds initial support for the TI AM355x family.
- From Petro Karashchenko (2019-01-06).
- * drivers/telnet/telnet.c: telnet.c priv only used if
- CONFIG_TELNET_SUPPORT_NAWS From Daniel Agar (2019-01-06).
- * arch/arm/src/am335x/chip/am3358_memorymap.h: Code cleanup for
- beaglebone black port. From Petro Karashchenko (2019-01-06).
- * arch/arm/src/am335x/am335x_irq.c: Uncomment code for interrupt
- enable/disable. From Petro Karashchenko (2019-01-06).
- * drivers/timers/mcp7941x.c: Add support for the MCP741x external RTC.
- From Ouss4 (2019-01-06).
- * configs/lc823450-xgevk: Enable NFS client for rndis. Also, some stack
- size were adjusted to work with NFS From Masayuki Ishikawa (2019-01-07).
- * include/dsp.h: Fix missing semicolon error in dsp.h From MYAPICI
- (2019-01-07).
- * fix stm32 tim bug. From lihaichen (2019-01-07).
- * drivers telnet common_ioctl() - inode only used with
- CONFIG_TELNET_SUPPORT_NAWS From Daniel Agar (2019-01-07).
- * mm/mm_heap/mm_calloc.c: Verify that the number of elements times the
- size of an element will not overflow type size_t. This is required by
- the SEI CERT C coding style and resolves anonymous Bitbucket Issue
- #139 From Gregory Nutt (2019-01-07).
- * Revert "arch/arm/armv7-m: MPU: mpu_log2regionceil needs take into
- account the offset too". Masayuki Ishikawa reports that this commit
- breaks ALL PROTECTED mode builds. It violates the basic requirements
- of the use of the MPU in protected mode. Those basic requirements are:
- 1. The MPU region must be aligned to the base address of the memory
- region being mapped (it may NEVER extend before the memory region).
- That is, the following MUST always be zero:
- (base & ((1 << l2size) - 1))
- 2. The MPU region must never extend beyond the end of the memory
- region. That is, the following must be true: size >= (1 << l2size)
- This reverts commit 8b63d0230936bd7d6bd94f4c76b9402946f69b21. From
- Gregory Nutt (2019-01-08).
- * drivers/net/telnet.c: Add missing logic to set read event flags in
- poll() method. From Ken Pettit (2019-01-08).
- * drivers/timers/mcp794xx.c: Rename the module to mcp794xx. From Ouss4
- (2019-01-08).
- * Revert "arch/: The protoype of mpu_log2regionfloor() changed; an
- additional parameter was added. However, none of the calls to
- mpu_log2regionfloor() were updated to pass the new, additional
- parameter." Commit 8b63d0230936bd7d6bd94f4c76b9402946f69b21 was
- reverted. This related commit must now also be reverted to avoid
- compilation errors. This reverts commit
- e8270defc9b26f7a7199288fa9ba203a96ed63d4. From Gregory Nutt
- (2019-01-08).
- * drivers/mtd/s25fl1.c: Minor change for the s25fl1 QSPI FLASH driver
- which fixes additional sectorshift vs. pageshift confusion. From Ken
- Pettit (2019-01-09).
- * STM32F7 and L4 I2cC: Use clock_t for ticks instead of uint32_t to hold
- system time. From Jussi Kivilinna (2019-01-09).
- * Drivers for Sensirion SCD30, SGP30 and SPS30 sensors:
- - drivers/sensors: add driver for Sensirion SCD30 CO2 sensor
- - drivers/sensors: add driver for Sensirion SGP30 gas sensor
- - drivers/sensors: add driver for Sensirion SPS30 particulate matter
- sensor
- From Jussi Kivilinna (2019-01-09).
- * Adds the ARM mbed littlefs to NuttX:
- - depends on !DISABLE_MOUNTPOINT && MTD_BYTE_WRITE
- - register_mtddriver("/dev/w25", mtd, 0755, NULL);
- mount("/dev/w25", "/w25", "littlefs", 0, NULL);
- From lihaichen (2019-01-09).
- * arch/arm/src/stm32f0l0: Add support for GPIO EXTI. From Mateusz
- Sfafoni (2019-01-09).
- * configs/nucleo-l073rz: Support for nrf24l01. From Mateusz Sfafoni
- (2019-01-09).
- * configs/b-l072z-lrwan1/include/board.h: Add note about onboard Murata
- CMWX1ZZABZ-09 module and definitions for available peripherals. From
- Mateusz Sfafoni (2019-01-09).
- * include/nuttx/compiler.h: Correct support of C-version-specific
- features. Cannot depend on GCC version because -std=c89 may be used on
- command line. Need instead to use __STDC_VERSION__ to determine if a
- feature is supported. Also add conditional support inline, depending
- on C99. From Gregory Nutt (2019-01-09).
- * With these changes, I am able to access NSH on Beaglebone Black. I
- still observe data abort crash if I compile the code with optimization
- enabled. The next steps are to investigate the optimization issue and
- add Watchdog module. Currently, NSH does not run for a long time.
- - arch/arm/src/am335x/am335x_irq.c: Correct interrupt processing routine
- - configs/beaglebone-black/nsh/defconfig: Enable debug compilation
- options. Otherwise data abort crash is observed
- - arch/arm/src/am335x/am335x_timerisr.c: Make sure that Timer 1
- interrupts are disabled before any access to peripheral registers
- From Petro Karashchenko (2019-01-09).
- * drivers/mtd/smart.c: Fix for the SmartFS MTD layer size mapping
- issue. With this patch, existing SmartFS drives should still mount and
- work properly, plus the larger sector sizes are now supported
- correctly. From Ken Pettit (2019-01-10).
- * stm32f0l0: Fix GPIO EXTI lines assignment for STM32 M0. From Mateuz
- Szafoni (2019-01-12).
- * drivers/timers/mcp794xx.c: Fix MCP794xx driver to wait for OSCRUN and
- fix tm_year. From Abdelatif Guettouche (2019-01-12).
- * net/sixlowpan: sixlowpan_input should always return 0 if the incoming
- frame was consumed. From Anthony Merlino (2019-01-13).
- * configs/lc823450-xgevk: Fix overlapped memory settings in memory.ld
- From Masayuki Ishikawa (2019-01-14).
- * configs/stm32f4discovery: Update nsh configuration: (1) Add
- CONFIG_BOARD_INITIALIZE=y, (2) Add CONFIG_EXAMPLES_HELLO=y From
- Masayuki Ishikawa (2019-01-14).
- * configs/stm32f4discovery: Update rndis configuration:
- - Add NFS and adjusted stack size for usermain and telnetd client.
- - Add support for loadable application and ping.
- From Masayuki Ishikawa (2019-01-14).
- * drivers/lcd/st7032.c: Fix seek method. Was not taking into account
- the offset for the SEEK_END case. Did not account for negative
- offsets. On errors, it was clobbering the filep->f_pos setting. From
- Gregory Nutt (2019-01-14).
- * drivers/lcd/pcf8574_lcd_backpack.c: Fix seek method. Had the same
- problems as noted for st7032.c driver. From Gregory Nutt (2019-01-14).
- * arch/arm/src/am335x: Add minimal wdog logic needed to disable the
- watchdog timer. Otherwise, the board is rebooted after certain time
- expires while NuttX is running. From Petro Karashchenko (2019-01-15).
- * drivers/lcd/tda19988: This commit brings in a complete, but untested,
- implementation of a driver for the TI TDA19988 HDMI Encoder. This
- encoder is used on the Beaglebone Black board. Since this driver is
- untested, it requires CONFIG_EXPERIMENTAL in the configuration. From
- Gregory Nutt (2019-01-15).
- * arch/arm/src/samd2l2/sam_i2c_master.c: Adds calculation of a timeout
- and disables interrupts in case of error. From Alexander Vasiliev
- (2019-01-15).
- * include/nuttx/lcd/edid.h: Add EDID definitions From Gregory Nutt
- (2019-01-15).
- * nucleo-f767zi: Use on board USB UART as default console. Board is
- powered by USB which can be used as UART link for upload and console.
- Previously it was set to use Arduino shield which developer may not
- have. From Phil Coval (2019-01-15).
- * nucleo-144-f767-netnsh: Add ethernet config based on nsh configuration
- plus stm32f769i-disco/nsh-ethernet. From Phil Coval (2019-01-15).
- * stm32: Align ethernet config name to netnsh. nsh-ethernet was only
- used for stm32f7*-disco, other configurations with network enabled are
- commonly named netnsh or derived: (eg: nucleo-144/f7670-netnsh) From
- Phil Coval (2019-01-16).
- * arch/arm/src/am335x/am335x_timerisr.c: Switch to DMTimer2 for system
- tick generation. U-Boot does not enable DMTimer1ms clocks hence it is
- not possible to use it until implementation in am335x_clockconfig.c is
- ready From Petro Karashchenko (2019-01-16).
- * arch/arm/src/imxrt/chip/imxrt_flexpwm.h: Correct duplicated
- definitions From David Sidrane (2019-01-16).
- * arch/arm/src/imxrt/imxrt_serial.c: Fix TTYS0 defined definitions of
- higher numbered ports From David Sidrane (2019-01-16).
- * arch/arm/src/imxrt/imxrt_serial.c: Support independent input and
- output flow control. From David Sidrane (2019-01-16).
- * arch/arm/src/imxrt/imxrt_usdhc.c and related board.h files: Use single
- define for USB pin definitions. From David Sidrane (2019-01-16).
- * arch/arm/src/imxrt: ADD GPIO Support Input daisy selection From David
- Sidrane (2019-01-16).
- * arch/arm/src/imxrt/imxrt_lpspi.c: Removed unused clock, that borked
- the build From David Sidrane (2019-01-16).
- * arch/arm/src/imxrt/Make.defs: Include up_systemreset and
- up_stackcheck.c From David Sidrane (2019-01-16).
- * arch/arm/src/imxrt/imxrt_lpi2c.c: I2C Reset rework From David Sidrane
- (2019-01-16).
- * arch/arm/src/imxrt/imxrt_periphclks.h: Ensure C++ compatibility. From
- David Sidrane (2019-01-16).
- * arch/arm/src/tiva: Support for the CC13x0 and CC13x2 families is
- basically code complete except for integration with ROM DriverLib.
- And, of course, completely untested. Support for the CC26x2, which is
- nearly identical to the CC13x2 is fragmentary. From Gregory Nutt
- (2019-01-17).
- * arch/arm/include/kinetis/kinetis_sim.h: Remove extra characters following
- #undef. From Daniel Agar (2018-01-19).
- 7.29 2019-xx-xx Gregory Nutt <gnutt@nuttx.org>
|