123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615 |
- 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 now 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/ subsystem debug can now 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 now 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 initialization 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 accommodate 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 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 there 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 overrunning 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 output 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 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 initialization 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_initialize() (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_initialize() 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 the 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_initialize()
- (2016-01-26).
- * SPI: Rename the PIC32MX/MZ up_spiinitialize() to pic32mx/mz_spibus_initialize()
- (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_initialize() (2016-01-26).
- * SPI: Rename the Kinetis up_spiinitialize() to kinetis_spibus_initialize()
- (2016-01-26).
- * SPI: Rename the LPC31xx up_spiinitialize() to lpc31_spibus_initialize(),
- Rename the LPC17xx lpc17_spiinitialize() to lpc31_spibus_initialize(),
- Rename the LPC43xx up_spiinitialize() to lpc43_spibus_initialize()
- (2016-01-26).
- * SPI: Rename the AVR up_spiinitialize() to avr_spibus_initialize(),
- Rename the LPC2148 up_spiinitialize() to lpc214x_spibus_initialize(),
- Rename the Calypso up_spiinitialize() to calypso_spibus_initialize(),
- Rename the eZ80 up_spiinitialize() to ez80_spibus_initialize(),
- Rename the STR71xx up_spiinitialize() to str71_spibus_initialize(),
- Rename the i.MX1 up_spiinitialize() to imx_spibus_initialize(),
- Rename the LPC2378 up_spiinitialize() to lpc23_spibus_initialize(),
- Rename the M9S12 up_spiinitialize() to hcs12_spibus_initialize(),
- Rename the x86 up_spiinitialize() to i486_spibus_initialize(),
- Rename the z16f up_spiinitialize() to z16_spibus_initialize().
- 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 earlier in the initialization
- sequence (stm32_rcc.c() in order to avoid disabling LSE during RTC
- initialization. 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
- initialized with correct functions if CONFIG_SERIAL_DMA is set
- (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 overflow. 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_usbinitialize
- up_usbuninitialize 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_initialize or
- in board_app_initialize. 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: Add 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 output 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 output in ceil() API. Ex:for input x = 1.0, the
- output should be 1.0, but the output 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 output has to be
- FILE01, FILE02, ...., FILEZZ. (b) input: "FILEXXXXXX", output:
- "FILE100000", for next invocation "FILE200000" and so on. But it's
- good, if the output 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 multiple 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 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 errors 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 uninitialize 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-03-25 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/stm32/chip: Don't try including stm32l_gpio.h from within
- chip/*.h header files. Not only is bad style for a layered inclusion
- system, but it doesn't always work. From Gregory Nutt (2019-01-19).
- * Initial support for sx127x radio From Mateusz Szafoni (2019-01-20).
- * arch/arm/src/samd2l2: Add RS485 support to SAMD2L2 serial From Alan
- Carvalho de Assis (2019-01-20).
- * include/nuttx/lcd/edid.h: Add extended EDID block IDs From Gregory
- Nutt (2019-01-20).
- * Completes the CC13x2 AUX SYSIF header file. From Gregory Nutt
- (2019-01-20).
- * arch/arm/src/stm32f7/stm32_lse.c: Add configuration of LSE oscillator
- drive capability From Jussi Kivilinna (2019-01-22).
- * tools/convert-comments.c: Fix an error in handling of a blank C++
- comment before a comment block. For example, this testfile:
- 1
- 2 //
- 3 // Multi-line comment
- 4 // The second line
- 5
- Was generating this output:
- 1
- 2
- 3 * Multi-line comment
- 4 * The second line
- 5 */
- 6
- Now correctly generates:
- 1
- 2 /* Multi-line comment
- 3 * The second line
- 4 */
- 5 From Gregory Nutt (2019-01-22).
- * arch/arm/src/tiva/cc13xx: The trim files from the TI DriverLib now
- compile successfully. This merge also brings in the ROM files from the
- TI DriverLib which do NOT year compile correctly. This is still a work
- in progress. There merge also adds unverified support for the
- LaunchXL-CC1310. From Gregory Nutt (2019-01-22).
- * arch/arm/src/samd2l2/sam_serial.c: Add missing RS-485 DIR pin write to
- sam_serial.c From Alan Carvalho de Assis (2019-01-22).
- * crypto/aes.c: When we upgraded our code to NuttX 7.28 crypto/aes.c
- would no longer compile. Attached is a patch which fixes the
- compilation errors. From Gregory Nutt (2019-01-23).
- * arch/arm/src/tiva/cc13xx: Fixes to get a clean build of the
- configs/launchxl-cc1312r1 configuration. Still untested. From Gregory
- Nutt (2019-01-23).
- * arch/arm/src/tiva/hardware: Add CC13xx SMPH and AUX SMPH header
- files. Still need DDI0 OSC header file for CC13x0 compilation. From
- Gregory Nutt (2019-01-23).
- * Improvements for STM32 PWM
- - arch/arm/src/stm32/stm32_pwm: fix polarity and IDLE state configuration
- for advanced timer PWM
- - include/dsp.h: raise error if math.h not present
- From Mateusz Szafoni
- (2019-01-23).
- * arch/arm/src/tiva/hardware: Add CC13x0 DDI0 OSC header file.
- arch/arm/src/tiva/cc13xx: Fix miscellaneous compilation issues. From
- Gregory Nutt (2019-01-23).
- * tools/.gitignore: Ignore new tool binaries. From David Sidrane
- (2019-01-24).
- * arch/arm/src/stm32l4/stm32l4_lse.c: Ports Jussi Kivilinna's recent
- STM32F7 LSE change to STM32L4. From Juha Niskanen (Haltian)
- (2019-01-24).
- * fs/vfs/fs_open.c: Fix not returning failure for block_proxy() call.
- From David Sidrane (2019-01-25).
- * up_initialize(): As noted by Roland Takacs in Bitbucket issue 141,
- there is a compilation error for STM32 if CONFIG_NET and
- CONFIG_NETDEV_LATEINIT are selected. That was due in part to commit
- 19e16cb which extended up_netinitialize() with a
- !defined(CONFIG_NETDEV_LATEINIT) guard but did not add the guard to
- concrete implementations. I say "in part" because I don't think that
- the original intent of commit 19e16cb was to enable an alternative
- initialization of MCU internal Ethernet support but rather to enable
- support of external Ethernet devices that may have dependencies on, for
- example, SPI. However, this is still a proper fix to avoid the
- compilation error that can occur with this combination of configuration
- options. From Gregory Nutt (2019-01-25).
- * arch/arm/src/lpc17xx/lpc17_can.c: The name can_txready clashes with
- Nuttx CAN core global function. LPC178x has only single
- LPC17_SYSCON_PCLKSEL with only single divisor. From Pavel Pisa
- (2019-01-25).
- * arch/arm/src/tiva/cc13xx/cc13x2_v1_trim.c and cc13x2_cc26x2_v1_rom.c:
- Review and modified for coding style. Now pass tools/nxstyle wihout
- complaint. From Gregory Nutt (2019-01-25).
- * arch/xxx/include/: Remove watchdog.h and arm-elf.h because they are
- empty. The arm-elf header file was never used; the empty watchdog.h
- header file was used in only one place. From Xiang Xiao (2019-01-26).
- * arch/arm/include/armv-7m/irq.h and armv6-m/irq.h: Remove redundant
- conditioning on CONFIG_BUILD_PROTECTED From Xiang Xiao (2019-01-26).
- * mm/mm_heap/mm_sbrk.c: Fix backward conditional test. Should call
- mm_initialize() when brkaddr equal zero From Xiang Xiao (2019-01-26).
- * arch/Kconfig and arm/src/armv7-m/Kconfig: ARCH_HIPRI_INTERRUPT
- shouldn't select ARMV7M_USEBASEPRI. First because that is a violation
- of the layered nature of the Kconfig architecture, but also because
- then Kconfig will generated errors when high priority interrupts are
- used with other architectures. From Xiang Xiao (2019-01-26).
- * mm/umm_heap/umm_sbrk.c: Pass ARCH_HEAP_VEND as maxbreak argument From
- Xiang Xiao (2019-01-26).
- * arch/xxx/src/common/up_initialize.c: Move up_pminitialize() after
- timer_initialize() From ligd (2019-01-26).
- * arch/arm/src/include/xxx/syscall.h: Align semi-hosting call style with
- other syscalls From Xiang Xiao (2019-01-26).
- * arch/arm/include/syscall.h: Add missing inclusion of
- arch/armv7-r/syscall.h for CortexR. From Xiang Xiao (2019-01-26).
- * mm/kmm_heap/kmm_kernel.c: Remove unused, duplicated kmm_heapmember().
- From Xiang Xiao (2019-01-26).
- * mm/iob/iob_alloc.c: iob_allocwait should decrease semcount manually.
- From Xiang Xiao (2019-01-26).
- * drivers/sensors/ina3221.c: Fix errors in register field address.
- Signed value was losing its signed-ness due to use of unsigned type for
- register. From Ken Pettit (2019-01-26).
- * mm/iob/iob_notifier.c: Don't check iob_navail in iob_notifier_setup to
- avoid a potential race condition. From Xiang Xiao (2019-01-26).
- * mm/iob/iob_dump.c: Format the whole line before log to avoid the
- multiple timestamp prefix in each line From Xiang Xiao (2019-01-26).
- * drivers/sensors/ina3221.h: Fix errors in register addresses and
- bitfield values. From Ken Pettit (2019-01-26).
- * mm/shm: Convert bytes to pages by MM_NPAGES instead of MM_PGALIGNUP
- From Xiang Xiao (2019-01-26).
- * mm/shm/shmget.c: Should call shm_extend to allocate the physical
- memory From Xiang Xiao (2019-01-26).
- * mm/mm_gran/mm_pgalloc.c: mm/pgalloc: shouldn't just allocate one page
- always. From Xiang Xiao (2019-01-26).
- * mm/mm_gran/mm_graninfo.c: Fix the wrong data in g_1bit_info and make
- the internal function static From Xiang Xiao (2019-01-26).
- * mm/umm_heap: Ensure all user allocation try sbrk before fail From
- Xiang Xiao (2019-01-26).
- * mm/iob/iob_copyin.c: iob_copyin() should wait for each buffer and
- adjust the return value of iob_copyin_internal return to simplify the
- code From Xiang Xiao (2019-01-26).
- * arch/xxx/src/xxx/up_assert.c: Dump CPU0 IDLE stack only when PID
- equals 0. IDLE threads of other CPUs do not need this special check
- From Xiang Xiao (2019-01-26).
- * binfmt/, binfmt/libelf/, include/nuttx, libs/libc/machine,
- libs/libc/modlib, and others: Move elf related arch function to
- include/nuttx/elf.h because the implementation is located in
- libs/libc/machine and in order to avoid the conflict with the 3rd party
- libraries and clean up the file inclusion: (1) Remove redundant
- elf32.h, (2) Remove nuttx/binfmt/elf.h in libs/libc/machine, (2) Remove
- nuttx/binfmt/elf.h in modlib, and (4) Rmove nuttx/module.h in modlib.
- From Xiang Xiao (2019-01-26).
- * Kconfig files, binfmt/libelf, libs/libc/machin, libs/libxx: Correct
- libcxx exception handling by introducing the generic
- config(CXX_EXCEPTION and CXX_LIBSUPCXX) From Xiang Xiao (2019-01-26).
- * binfmt/: If there is an address environment (CONFIG_ARCH_ADDRENV),
- binfmt/elf doesn't need to free ctor/dtor alloc since freeing the
- address environment releases the heap automatically. From Xiang Xiao
- (2019-01-26).
- * binfmt/libelf, libs/libc/modlib: Optimize elf load speed: (1) Don't
- zero out memory, (2) Reduce the initial buffer size to 32 bytes. From
- Xiang Xiao (2019-01-26).
- * binfmt/, binfmt/libelf: binfmt/elf: Call umm_initialize as soon as
- possible otherwise elf_loadctors/elf_loaddtors will fail to allocate
- memory. From Xiang Xiao (2019-01-26).
- * libs/libc/dllfcn: Implement dlerror using strerror. From Xiang Xiao
- (2019-01-26).
- * libs/libc/dllfcn, sched/init: Add LD_LIBRARY_PATH environment variable
- support. From anchao (2019-01-26).
- * libs/libc/machine/arm/armv7-m/arch_elf.c: Add support for the
- R_ARM_THM_JUMP11 relocation type. This relocation type may be
- generated when LTO optimization is enabled. From anchao (2019-01-26).
- * libs/libc/machine/arm: Fix the minor issue in libc arm machine folder;
- MOVW/MOVT should use zero(not sign) extension. From Xiang Xiao
- (2019-01-26).
- * libs/libc/symtab/symtab_findorderedbyvalue.c: Remove unused
- symtab_findorderedbyvalue. From Xiang Xiao (2019-01-26).
- * arch/arm/src/samd2l2 serial: Fix SAMD2L2 serial driver it needs
- sam_usart_enable() to work From Alan Carvalho de Assis (2019-01-26).
- * Remove empty seria.h and all references From Xiang Xiao (2019-01-26).
- * libs/libc/stdio/lib_libvsprintf.c: Correct justification for alternate
- forms of %p and %P From ligd (2019-01-27).
- * libs/libc/misc/lib_utsname.c: Add build date and time to uname output
- (like Linux). From Gregory Nutt (2019-01-27).
- * libs/unistd and other affected files: Hostname support no longer
- depends on CONFIG_NET since the host name is also useful in the
- non-network environment. CONFIG_NET_HOSTNAME changed to
- CONFIG_LIB_HOSTNAME. From Xiang Xiao (2019-01-27).
- * Remove the unused libs/libc/endian/Kconfig From Xiang Xiao (2019-01-27).
- * libs/libxx/Kconfig: Automatically select CONFIG_LIBC_WCHAR and
- CONFIG_TIME_EXTENDED when CONFIG_LIBCXX is selected since libcxx
- compile fails if without these two option From Gregory Nutt
- (2019-01-27).
- * - drivers/timers/oneshot.c: Support signal notification through
- SIGEV_THREAD
- - drivers/timers/rtc.c: Support signal notification through
- SIGEV_THREAD
- - drivers/input/ajoystick.c: Support signal notification through
- SIGEV_THREAD
- - drivers/input/djoystick.c: Support signal notification through
- SIGEV_THREAD
- - drivers/input/button_upper.c: Support signal notification through
- SIGEV_THREAD
- - drivers/sensors/zerocross.c: Support signal notification through
- SIGEV_THREAD
- - drivers/wireless/ieee802154: Support signal notification through
- SIGEV_THREAD
- - drivers/lcd/ft80x.c: Support signal notification through SIGEV_THREAD
- From Xiang Xiao (2019-01-27).
- * drivers/net/phy_notify.c and all network drivers that support PHY
- notifications: Support the signal notification through SIGEV_THREAD
- From Xiang Xiao (2019-01-27).
- * aio_cancel need signal caller after the succeed and fix minor issue in
- the error handler From Xiang Xiao (2019-01-27).
- * drivers/timers/watchdog.c: Support auto-monitor service From Gregory
- Nutt (2019-01-27).
- * drivers/timers/rtc.c: Protect the RTC state with a semaphore. From
- Xiang Xiao (2019-01-27).
- * drivers/timers/rtc.c: Protect the timer state with a semaphore. From
- Xiang Xiao (2019-01-27).
- * Critical Section Monitor (sched/ and fs/procfs: Remove
- SCHED_IRQMONITOR_GETTIME to simplify the clock source selection: (1)
- Use up_critmon_gettime if SCHED_IRQMONITOR, (2) Call clock_systimespec
- if SCHED_TICKLESS, (3) Don't collect timing info for all other cases
- and move up_critmon_* to arch.h avoid the duplicated declaration. From
- Xiang Xiao (2019-01-27).
- * drivers/timers/arch_alarm.c and arch_timer.c: Implement
- up_critmon_gettime and up_critmon_convert and remove the critical
- section from current_usec to infinite recursion. From Xiang Xiao
- (2019-01-27).
- * Improvements in STM32 ADC, PWM and TIM
- - arch/arm/src/stm32/chip/stm32_adc_v2.h: missing T1TRGO2 for JEXTSEL
- - arch/arm/src/stm32/stm32_adc: configure injected channels external
- trigger when ADC enabled
- - arch/arm/src/stm32/stm32_adc: update injected conversion queue of
- context after configuration
- - arch/arm/src/stm32/stm32_adc: fix sample time configuration for
- channels. The array index for channels was missing
- - arch/arm/src/stm32/stm32_adc: support for offset configuration
- - arch/arm/src/stm32/stm32_pwm: fix TRGO/TRGO2 configuration
- - arch/arm/src/stm32/stm32_pwm: support for advanced timers channel 5
- and 6
- From Mateusz Szafoni (2019-01-27).
- * drivers/serial/serial.c: Initialize OPOST and ONLCR in uart_register
- From Xiang Xiao (2019-01-27).
- * drivers/serial/serial.c: Call pm_activity() when characters are
- received on a console device. From Gregory Nutt (2019-01-27).
- * drivers/serial/uart_16550.c: Fix error: 'g_uart0port' undeclared.
- From Xiang Xiao (2019-01-27).
- * drivers/serial/serial.c: Don't reset the circular buffer on close
- since DMA may still be transferring data in the background if the user
- closes the handle too quickly and the handle is opened with
- O_NONBLOCK. From Xiang Xiao (2019-01-27).
- * drivers/serial/uart_16550.c: Fix typo for UART1 flow field
- initialization From Gregory Nutt (2019-01-27).
- * sched/wqueue/kwork_notifier.c and several Kconfig files: Notifier
- should work with either lpwork or hpwork and other minor typo fix.
- From Xiang Xiao (2019-01-27).
- * sched/Kconfig: Change SCHED_NOTE_GET type from int to bool
- From Gregory Nutt (2019-01-27).
- * sched/sched/sched_timerexpiration.c: Fix macro SEC2TICK() 32-bits
- overflow by using uint64_t in calculation. From ligd (2019-01-27).
- * drivers/power/pm_activity.c: Add pm_staycount API for get stay
- numbers. This function is currently not used and a waste of FLASH
- space. From ligd (2019-01-27).
- * include/nuttx/irq.h: Fix enter_critical_section/spin_lock_irqsave
- macro typo error and remove the duplicated inclusion of arch/irq.h
- From Xiang Xiao (2019-01-27).
- * include/stdbool.h: Define bool only when __cplusplus isn't defined.
- From Xiang Xiao (2019-01-27).
- * include/nuttx/fs/fs.h: Move the union inode_ops_u i_mtd field into the
- mount section of inode_ops_u and remove the guard to simplify fs which
- support both block and mtd. From Xiang Xiao (2019-01-27).
- * include/nuttx/list.h: Added a Linux-compatible list implementation.
- From zhuyanlin (2019-01-27).
- * fs/mount and fs/romfs: Add support to mount a ROMFS volume using an
- MTD driver interface using the standard mount() operation. From Xiang
- Xiao (2019-01-27).
- * fs/hostfs/hostfs.c: Remove the unnecessary use of host_stat() in
- hostfs_bind() From ligd (2019-01-27).
- * drivers/syslog/ramlog.c: Fix error: Conflicting types for
- 'ramlog_addchar' From Xiang Xiao (2019-01-27).
- * fs/littlefs: Fix a minor issue found in code review: (1) Replace
- printf to finfo/fwarn/ferr, (2) Replace malloc/free to
- kmm_malloc/kmm_free, (3) define LFS_NAME_MAX to NAME_MAX, (4) Check the
- big endian using CONFIG_ENDIAN_BIG. From Xiang Xiao (2019-01-27).
- * fs/littlefs: VFS wrapper improvement: (1) Support block device
- interface, (2) support ioctl, stat and sync file operation, (3) support
- forceformat and autoformat option, (4) update file->f_pos and
- dir->fd_position, (5) remove the internal struct from dir, and (6)
- remove mtd byte read/write requirement. From Xiang Xiao (2019-01-27).
- * arch/arm/src/am335x/am335x_serial.c: Eliminate an error 'TIOCSBRK
- undeclared. From Gregory Nutt (2019-01-27).
- * Every file that uses serial IOCTLs (TIOC*) must explicity include
- nuttx/fs/ioctl.h. This was included previously via sneak path in the
- now deleted arch/serial.h. From Gregory Nutt (2019-01-27).
- * arch/arm/src/lpc17xx/lpc176x_clockconfig.c: The code preserves
- undocumented reserved bits only if board does not set them to keep
- previous behavior for boards where developers (hopefully) know what
- values should be set into these bits. From Pavel Pisa (2019-01-27).
- * arch/arm/src/lpc17xx/: The enable of EMC clocks has to be preserved
- when already enabled by loader. EMC and related pins configuration has
- to be skipped if the system is run from SDRAM. A region of SDRAM which
- is used by system must not be used for heap. From Pavel Pisa
- (2019-01-27).
- * configs/nucleo-l432kc/src/stm32_appinit.c: Add support for I2C driver
- initialization. From Nikolay Semenov (2019-01-28).
- * drivers/timers/timer.c: Support the signal notification through
- SIGEV_THREAD From Gregory Nutt (2019-01-28).
- * configs/nucleo-144/f767-netnsh/defconfig: Correct one location where
- CONFIG_NET_HOSTNAME was not changed to CONFIG_LIB_HOSTNAME. From
- Gregory Nutt (2019-01-29).
- * arch/arm/src/imxrt: Add XBAR Support From David Sidrane (2019-01-29).
- * arch/arm/src/imxrt/chip/imxrt_tmr.h: Fix addressing and restructure
- using common offset From David Sidrane (2019-01-29).
- * sched/sched/sched_processtimer.c: Add a configurable call out to a
- user-provided function, 'timer hook', on each timer interrupt. From
- Gregory Nutt (2019-01-30).
- * - /arch/arm/src/samv7/sam_spi.c: DMA Tx/Rx timeout issue.
- - /arch/arm/src/samv7/sam_qspi.c: Compile error when set
- CONFIG_SAMV7_QSPI_DLYBCT
- - Fix compiling error when set
- CONFIG_BOARDCTL_IOCTL/CONFIG_BOARDCTL_UNIQUEID
- From Kevin Liu (2019-01-30).
- * arch/arm/src/imxrt/chip/imxrt_gpt.h: Correct register offsets. From
- David Sidrane (2019-01-30).
- * arch/arm/src/samv7/sam_emac.c: The logic for determining the number of
- queues for SAMV71 must be extended. All SAMv7 parts increase the
- number of queues from 3 to 6 at revision B, not just the SAMV71. From
- Gregory Nutt (2019-02-01).
- * arch/arm/src/samv7/sam_emac.c: Fix a compile problem introduced with
- commit cf1e0f79762284da2df372fe80eb3eca09488e24. From Gregory Nutt
- (2019-02-01).
- * arch/arm/src/samv7/sam_emac.c: Fixes rxdesc index logic to handle
- Buffer Not Available (BNA) condition.
- If a SOF is found, but no EOF, don't move past the frame. Instead,
- keep the index at the SOF buffer until the rest of the data is written.
- This fixes a receiver lockup condition where the peripheral and this
- driver get out of sync with there head pointers. In this case the
- driver has moved past buffers it owns, without clearing ownership,
- which results in the peripheral and driver in a deadlock with each
- other.
- From Anthony Merlino (2019-02-02).
- * arch/arm/src/sam34 and sama5: Port Anthony Merlino's fix to similar
- Ethernet drivers for parts in other SAM families. From Gregory Nutt
- (2019-02-02).
- * arch/mips/src/pic32mz: Add support for the PIC32MZ timers (driver,
- lowerhalf, freerun and oneshot) From Abdelatif Guettouche (2019-02-02).
- * sched/signal/sig_deliver.c: Restructure nxsig_deliver() so that the
- signal handler is not called with the pre-emption disabled (or, at
- least no with pre-emption disabled by nxsig_deliver() itself). From
- Gregory Nutt (2019-02-03).
- * sched/sched: Rename all internal, static functions from sched_* to
- nxsched_* to indicate that they are NuttX internal functions. This is
- only a start. Eventually, need to rename all sched_ functions
- prototyped in sched/sched/sched.h and in include/nuttx with nxsched_.
- From Gregory Nutt (2019-02-03).
- * arch/ Signals: The saved return register state is available on the user
- stack. Thic commit reorders some logic so that certain, critical
- registers are preserved in the TCB. This does not make the logic 100%
- secure, but does prevent some obvious things.
- sched/signal/sig_delivery: Add a flag to the TCB to indicate that we
- are in a signal handler. Use this flag to assure that a there a never
- attempts to nest signal handling operations on a thread. This was
- guaranteed before but when locking of pre-emption during signal
- delivering was eliminated in a previous commit, there was a remote
- possibility of an attempt to do nested signal handling. This flag
- assures that there is only one signal handled at a time. From Gregory
- Nutt (2019-02-03).
- * This commit renames all internal OS functions defined under sched/task
- so that they begin with the prefix. For example, nxtask_exit() vs.
- task_exit(). From Gregory Nutt (2019-02-04).
- * - sched/init/nx_bringup.c: Fix a naming collision.
- - sched/init: Rename os_start() to nx_start()
- - sched/init: Rename os_smp* to nx_smp*
- - sched/init: Rename os_bringup to nx_bringup
- - sched/init: rename all internal static functions to begin with nx_
- vs os_
- From Gregory Nutt (2019-02-04).
- * graphics/nxmu/nxmu_start.c: Fix a naming collision introduced with the
- last commit. Ye olde nx_start that started the NX graphics is now
- nxmu_start().
- include/nuttx/nxmu.h: Due the name change, the nxmu_start() belongs
- more appropriately in nxmu.h than nx.h. From Gregory Nutt (2019-02-04).
- * include/nuttx/nx/nxmu.h: This header file could be lethal; it declared
- an #error if CONFIG_DISABLE_MQUEUE=y. From Gregory Nutt (2019-02-04).
- * libs/libc/unistd/lib_getopt.c: Add logic to reinitialize the stale
- context for the FLAT/PROTECTED builds. In these builds getopt() global
- varriables may be shared by many tasks. If any task exits the getopt()
- loop before all command line arguments have been parsed, then getopt()
- global variables will be left in a bad state. The next time getopt()
- is called, this logic should detect the bad state and force the state
- of getopt() to be re-initialized so that it can be reused. This logic
- is not full proof (it would fail, for example, if you tried to parse
- the same command line twice) but should catch the typical misuse
- cases. From Xiang Xiao (2019-02-05).
- * drivers/ioexpander/tca64xx.c: Fix some errors in the TCA64XX driver.
- From Bruno Schwander (2019-02-06).
- * configs/stm32f769i-disco/src/stm32_appinitialize.c: Florian R.
- Hölzlwimmer reports that stm32_appinitialize.c often has missing OK and
- NULL definitions. This should be fixed by including sys/types.h where
- they are defined. From GregoryN (2019-02-06).
- * libs/libc/stdio: Add newlib-nano fprintf as an option. This fprintf
- code was originally adapted from AVR libc and provides improved
- floating point output support, including 'g' mode and making 'f' mode
- include digits past the decimal by default. However, this version does
- not have any long long support. On a demonstration cortex M4 build,
- this version saves about 5kB of ROM. The newlib version can be found
- here: https://salsa.debian.org/electronics-team/toolchains/newlib-nano
- . That project is GPL overall, but the newlib-nano printf portions are
- BSD licensed as described in the COPYING.NEWLIB file. From Keith
- Packard (2019-02-06).
- * - arch/misoc/src/minerva: Add support for the Minerva architecture
- - configs/Kconfig and misoc/nsh/defconfig: Add support for the
- Verilator board.
- From Ramtin Amin (2019-02-07).
- * tools/lowhex.c: Fix an initialization problem that was causing some
- odd behavior at the beginning of lines. From Gregory Nutt (2019-02-07).
- * tools/rmcr.c: Add a tools to remove carriage returns and dangline
- whitespace at the end of lines. From Gregory Nutt (2019-02-07).
- * tools/nxstyle.c: Can now detect if the C comment closing is not on a
- separate line. From Gregory Nutt (2019-02-08).
- * tools/nxstyle.c: Make sure that all files begin with a comment on line
- 1 (which should be the file header). From Gregory Nutt (2019-02-08).
- * include/: Correct naming of standard header file. Should be dlfcn.h,
- not dllfcn.h. From Gregory Nutt (2019-02-09).
- * configs/launchxl-cc1312r1: Add support for on-board LEDs and buttons.
- From Gregory Nutt (2019-02-10).
- * configs/launchxl-cc1310: Clone LED and button support from the
- launchxl-cc1312r1. The number of LEDs and buttons as well as DIO usage
- is identical. From Gregory Nutt (2019-02-10).
- * drivers/usbhost/usbhost_cdcacm.c: Fixes to the IOCTL method in
- recovery of UART pointer and in names of Termios-related field. From
- xhbm (2019-02-11).
- * CONFIG_NFILE_DESCRIPTORS=0 can no longer be used to disable the file
- system. NuttX with no file system does not make sense and is no longer
- supported. From Gregory Nutt (2019-02-11).
- * configs/sama5d2-xult: Move console from FLEXCOM4 to UART1. FLEXCOM4
- does not work for the Arduino serial. UART1 is used with the VCOM
- provided by the EDBG. From Gregory Nutt (2019-02-11).
- * Fix conditional logic: The setup seems to support a network without
- sockets (CONFIG_NSOCKET_DESCRIPTORS == 0). That is not the case; if
- the network is enabled, sockets must be provided. From Gregory Nutt
- (2019-02-11).
- * configs/launchxl-cc1312r1: Correct DIOs used to provide the UART0
- serial console. Board boots to NSH prompt now. But I am not getting
- serial input. Things are probably not very stable in general. From
- Gregory Nutt (2019-02-12).
- * sched/: Remove the option CONFIG_BOARD_INITTHREAD. Now, if
- CONFIG_BOARD_INITIALIZE is selected, then the board_initialize() logic
- will ALWAYS run on an internal kernel thread. This will prevent the
- problems people have had doing inappropriate board_initialization on
- the IDLE thread. From Gregory Nutt (2019-02-12).
- * arch/arm/src/tiva: The LauchXL-CC1312R1 NSH configuration is now fully
- functional. On to bigger and better things. From Gregory Nutt
- (2019-02-13).
- * - Move vscanf logic to lib_sscanf.c Switched to stream interface
- (tricky, because the old implementation used massive read ahead, which
- isn't suitable for streams, chars already read are gone).
- - Added scanf and fscanf
- - Added hh, h, and ll modifiers
- - Fixes for standard compliance in scanf
- - Fixes for standard compliance in strto... function family (don't
- consume single '-' or '+', allow sign in strotul(l))
- From Johannes (2019-02-14).
- * net/tcp/tcp_send_buffered.c: Fix assertion crash when window size is
- zero. From Gregory Nutt (2019-02-14).
- * net/: The value ERROR should never be returned from internal OS
- functions. That is reserved for returning values to appliations with
- the errno value set. Within the OS, errors are returned with a negated
- errno value ALWAYS. From Gregory Nutt (2019-02-14).
- * libs/libc/stdio/lib_libsscanf.c: Initialized the lastc pointer to avoid
- the checks for NULL. Removed a bug in the floating point parsing which
- allowed several signs after each other. From Johannes (2019-02-14).
- * tools/nxstyle.c: Add check for multiple definitions of local variables
- on a line. From Gregory Nutt (2019-02-14).
- * libs/libc/stdio/lib_libvsprintf.c: No precision specifier resulted in
- precision 0 but should be precision 6. From Johannes (2019-02-15).
- * libs/libc/stdio: Add support for %g format which, for these purpose,
- is equivalent to %f except that trailing zeroes are suppressed. From
- Gregory Nutt (2019-02-15).
- * libs/libc/stdio: In the recent changes we lost the implementation of
- vsscanf(). This commit restores vsscanf(). sscanf() is not just a
- front end for vsscanf(). From Gregory Nutt (2019-02-15).
- * libs/libc/stdio: Remove unused, non-standard functions lib_sscanf()
- and lib_sprintf(). From Gregory Nutt (2019-02-15).
- * libs/libc/stdio/nano_libvsprintf.c: Add long long support.
- CONFIG_LIBC_LONG_LONG needs at least CONFIG_NANO_PRINTLEVEL 2. Code
- size for compile without CONFIG_LIBC_LONG_LONG shouldn't be affected.
- From Johannes (2019-02-15).
- * nuttx/sched/mqueue: Change 'int prio' to 'unsigned int prio'.
- According to open group specification, priority field in mq_* functions
- should have unsigned type:
- http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/mqueue.h.html
- From Michał �yszczek (2019-02-15).
- * arch/arm/src/tiva/hardware: Add CC13x0 and CC13x2 I2C header files.
- From Gregory Nutt (2019-02-16).
- * syscall/syscall.csv: Change to mqueue function protothypes must be
- reflected in the KERNEL mode proxies as well. From Gregory Nutt
- (2019-02-16).
- * libs/libc/stdio/Make.defs: lib_dtoa.c is only used in the
- LIBC_CONFIG_NANO_PRINTF=n case. From Johannes (2019-02-16).
- * Restore lib_sprintf(). It was removed because I thought was not used.
- But I was wrong; there is logic in drivers/syslog that depends on
- lib_sprintf(). From Gregory Nutt (2019-02-16).
- * arch/arm/src/tiva/hardware/tiva_wdt.h: Add WDT register definition
- header file for all LM, Tiva, and CC13xx parts. From Gregory Nutt
- (2019-02-16).
- * - arch/arm/src/stm32f0l0: SPI support for F0
- - arch/arm/src/stm32f0l0/Kconfig: L0 parts should select
- STM32F0L0_STM32L0
- - arch/arm/src/stm32f0l0/hardware: unify names for ADC/DAC/DMA/CAN
- - drivers/wireless/lpwan/sx127x/sx127x.c: return immediately when ISR0
- is called but sx127x is not initialized
- - configs/nucleo-f091rc: support for sx127x
- - configs/b-l072z-lrwan1/include/board.h: use HSI as default clock
- source and fix typo in SPI1 pins.
- From Mateusz Szafoni (2019-02-16).
- * libs/libc/stdio/lib_dtoa.c: Lots of risky turmoil to get this file
- closer to the NuttX coding style. Seems to check out, but still
- risky. libs/libc/stdio/lib_libdtoa.c: A fix for the %g format. The
- algorithm will sometimes generate number greater than the precision of
- type double. This adds a check if the precision has been exceeded and
- logic to remove the least significant garbage. From Gregory Nutt
- (2019-02-16).
- * libs/libc/stdio/nano_libvsprintf.c: Added hh type modifier (without
- extending the flag variable). From Johannes (2019-02-17).
- * tools/nxstyle.c: Beef up logic that detects multiple variable
- definitions per line. From Gregory Nutt (2019-02-17).
- * libs/libc/stdio: This commits makes the nano-printf the defualt logic
- for the printf family. The legacy printf is still available via
- CONFIG_LIBC_PRINT_LEGACY. This commit also modifies the nano-prinf
- configure: The PRINT_LEVEL is not long selectable. Instead, a not
- CONFIG_LIBC_PRINT_MINIMAL boolean setting was added and the PRINT_LEVEL
- is derived from a combination of CONFIG_LIBC_PRINT_MINIMAL,
- CONFIG_LIBC_FLOATINGPOINT, and CONFIG_LIBC_LONG_LONG. From Gregory
- Nutt (2019-02-17).
- * libs/libc/stdio: Rename lib_dtoa.c to legacy_dtoa.c; rename
- lib_libvsprint.c to legacy_libvsprintf.c From Gregory Nutt (2019-02-17).
- * libs/libc/stdio: Rename all nano_*.c and nano_*.h files to lib_*.c and
- lib_*.h to emphasize that these are now the defaults, not an optional
- implementation. From Gregory Nutt (2019-02-17).
- * arch/xtensa/src/esp32/esp32_timerisr.c: Fix backward comparison. From
- Gregory Nutt (2019-02-17).
- * libs/libc/stdio/lib_libvsprintf.c: Adds configurable support for
- numbered arguments. From Johannes (2019-02-18).
- * libs/libc/stdio/Kconfig: Need to guard LIBC_NUMBERED_ARGS against
- LIBC_LEGACY_PRINTF From Johannes (2019-02-18).
- * - sched/init/nx_start.c: Add support for
- CONFIG_BOARD_DRIVER_INITIALIZE. If this option is selected then
- nx_start() will call a board-provided function board_early_initialize()
- immediately after calling up_initialize().
- - Rename CONFIG_BOARD_INITIALIZE to CONFIG_BOARD_LATE_INITIALIZE.
- - Rename board_initialize() to board_late_initialize()
- From Gregory Nutt (2019-02-18).
- * include/nuttx/compiler.h: Important fix for C++ users. compiler.h was
- using the value of __STDC_VERSION__ to determine if inline functions
- are supported or not. If not then the keyword inline was defined out.
- Good for C but bad for C++ because C++ does not defined
- __STDC_VERSION__ at all. C++ applications may draw in compiler.h
- indirectly via other head files and this can result in C++ compiler
- problems since 'inline' is defined out. This fix is to ignore the
- (undefined) __STDC_VERSION__ if __cplusplus is defined. From Gregory
- Nutt (2019-02-19).
- * include/nuttx/elf.h: Adds missing extern "C" __cplusplus guard. From
- Anthony Merlino (2019-02-19).
- * libs/libc/stdio/lib_libvsprintf.c: Cleaned naming and allow for leading
- zeros in argument number (which doesn't make sense but should be).
- From Johannes (2019-02-19).
- * arch/arm/src/stm32f7/stm32_i2c.c: Fix another memory access issue on a
- bus error. From David Sidrane (2019-02-19).
- * arch/arm/src/stm32h7 and stm32l4: Apply David Sidrane's fix for the
- STM32F7 to the STM32L4 and STM32H7. The same change might be
- appropropriate to STMF0/LO and STM32, but the patch does not apply
- cleanly. It would have to be manually checked. From Gregory Nutt
- (2019-02-19).
- * libs/libc/stdio/Kconfig: CONFIG_LIBC_NUMBERED_ARGS now depends on
- EXPERIMENTAL. Per Johannes: I tested numbered arguments on i.mx rt
- 1050, and it isn't working. Only on Linux/MSYS 64bit all relevant data
- types are size 8 bytes, and therefore my loop through the arg list is
- working. On 32bit systems, all is 4 bytes except floating point
- variables which is implicit 8 byte double. From Gregory Nutt
- (2019-02-20).
- * libs/libc/stdio/lib_libvsprintf.c: Fix typo: PRINTF_LEVEL, not
- PRINT_LEVEL. From Gregory Nutt (2019-02-20).
- * - libs/libc/stdio/lib_vsprintf.c and Kconfig: Numbered arguments now
- work by using two pass parsing and an argument list. The maximum
- number of numbered args is determined by CONFIG_LIBC_NL_ARGMAX which
- is then copied into NL_ARGMAX. Size of pointer argument ('p') is
- determined before output.
- - include/limits.h: Define NL_ARGMAX (as well as some of the other
- 'invariant values' per
- http://pubs.opengroup.org/onlinepubs/7908799/xsh/limits.h.html)
- From Johannes (2019-02-21).
- * libs/libc/lib_libvsprintf.c and Kconfig: Remove
- CONFIG_LIBC_PRINT_MINIMAL. The output in that configuration is
- unsatisfactory and inappropriate for use with NuttX. For example, the
- output from many NSH commands become corrupted and useless. Doesn't
- belong in this context. From Gregory Nutt (2019-02-21).
- * libs/libc/stdio/Kconfig: Add 'range 9 999999' to
- CONFIG_LIBC_NL_ARGMAX. Per OpenGroup.org, the minimum value for
- NL_ARGMAX is 9. From Gregory Nutt (2019-02-21).
- * include/poll.h: Remove un-named union from 'struct pollfd'. It is not
- required by OpenGroup.org and violates the NuttX C coding standard
- because it is not C89 compatible. From Gregory Nutt (2019-02-21).
- * imxrt_adc: Error in offset From David Sidrane (2019-02-22).
- * drivers/net/tun.c: Re-order all TUN/TAP driver state data. Not only
- was was with wasting memory due to alignement requirements, it was also
- causing network packet buffers to be improperly aligned causing
- problems because the network requires 16-bit packet buffer alignment
- for uint16_t accesses. This alignment problem was discovered by Alan
- Carvalho de Assis. From Gregory Nutt (2019-02-24).
- * drivers/net/tun.c: Packet buffer size should include the configured
- GUARD_SIZE. And, given how the buffers are allocated, the allocation
- size must be an even number of 16-bit values to preserve alignment.
- From Gregory Nutt (2019-02-24).
- * drivers/net/tun.c: Cosmetic changes from review for coding style
- compliance. From Gregory Nutt (2019-02-24).
- * SX127X improvements
- - drivers/wireless/lpwan/sx127x/sx127x: Add TX power configuration
- - drivers/wireless/lpwan/sx127x/sx127x: Discard RX packets with
- unsupported length
- - drivers/wireless/lpwan/sx127x/sx127x: Refactor some logic
- - drivers/wireless/lpwan/Kconfig: Move some hardcoded sx127x
- configuration to Kconfig
- - drivers/wireless/lpwan/Kconfig: Remove EXPERIMENTAL flag
- - configs/b-l072z-lrwan1/sx127x: Board-specific sx127x configuration
- - configs/nucleo-f091rc/sx127x: Board-specific sx127x configuration
- - configs/nucleo-l073rz/sx127x: Board-specific sx127x configuration
- LORA and FSK look fine but there is something missing for OOK and
- communication is not working yet.
- From Mateusz Szafoni (2019-02-24).
- * support for pthread_mutex_timedlock From Leif Jakob (2019-02-24).
- * sched/pthread/pthread_mutexlock.c: Fix an error in last PR. The
- abs_timeout value as not being passed from pthread_mutex_timedlock() to
- pthread_mutex_take(). From Gregory Nutt (2019-02-24).
- * Missing definitions and better organistaion for STM32H7 DMA
- - arch/arm/src/stm32f0l0/hardware/stm32_dma_v1.h: rename DMA channel
- definitions
- - arch/arm/src/stm32h7/chip/stm32_dma: separated files for MDMA, DMA,
- BDMA and DMAMUX
- - arch/arm/src/stm32h7/chip/stm32_dma: missing definitions for MDMA,
- BDMA and DMAMUX
- From Mateusz Szafoni (2019-02-25).
- * Add some sx127x demo configurations
- - configs/b-l072z-lrwan1/sx127x/defconfig: add configuration for sx127x
- demo app
- - configs/nucleo-f091rc/sx127x/defconfig: add configuration for sx127x
- demo app
- - configs/nucleo-l073rz/sx127x/defconfig: add configuration for sx127x
- demo app
- From Mateusz Szafoni (2019-02-25).
- * arch/arm/src/imxrt/chip/imxrt_usb_analog.h: Add USB analog header
- file. From David Sidrane (2019-02-25).
- * libs/libc/pthread, syscall/, and include/sys/syscall.h: Support for
- pthread_mutex_timedlock() was added recently, however no new system
- call was added for the API make is usable only in the FLAT build. With
- a pthread_mutex_timedlock() system call, there is no reason for a
- pthread_mutex_lock() system call since it is now nothing more than an
- wrapper around pthread_mutex_timedlock(), passing NULL for the time
- value. The pthread_mutex_lock() syscall was removed and the
- pthread_mutex_lock() implemented was moved from /sched/pthread to where
- it now belows in libs/libc/pthread. From Gregory Nutt (2019-02-25).
- * configs/nucleo-l073rz/src/stm32_buttons.c: By default button support
- is enabled. This causes errors because button support was not
- implemented for this configuration. Solution: Port button logic from
- nucleo-f072 which appears to be the same. From Gregory Nutt
- (2019-02-26).
- * arch/arm/src/imxrt: Added OCOTP Support. From David Sidrane
- (2019-02-27).
- * tools/.gitignore: Ignore rmcr binary From David Sidrane (2019-02-27).
- * include/pthread.h and libs/libc/pthread/pthread_spinlock.c: Add a very
- preliminary implementation of the new POSIX pthread_spinlock_*
- interfaces. This feature is marked EXPERIMENTAL. There are usage
- model issues to be examined and there are also architectural issues
- that currently limit the implemantion to the FLAT build (that is,
- however, fixable when the APIs are needed. From Gregory Nutt
- (2019-02-28).
- * - arch/xtensa/src/esp32/esp32_serial.c: Fix some backward arguments.
- Correct 2-stop bit setting.
- - sched/sched/sched_waitid.c: Could exit without leaving critical
- section on some error conditions.
- From Gregory Nutt (2019-02-28).
- * imxrt: ocotp Fixed call to undefined function. From David Sidrane
- (2019-02-28).
- * armv7-m: stackcheck allow faulting stack calculation to make it to the
- up_assert reg dump From David Sidrane (2019-02-28).
- * tools/nxstyle.c: Fix logic that detects if an operator is correctly
- delimited with spaces. sched/: Various changes because sched/ C files
- were used as Guinea Pigs to test nstyle.c. From Gregory Nutt
- (2019-03-01).
- * Improvements for H7 towards the DMA support
- - arch/arm/include/stm32h7/stm32h7x3xx_irq.h: fix typos and rename
- DMA1/2 irq names to match those from other STM32
- - arch/arm/src/stm32h7/chip/stm32_bdma.h: add auxiliary definitions
- - arch/arm/src/stm32h7/chip/stm32_dmamux.h: add auxliary definitions
- and fix some typos
- - arch/arm/src/stm32h7/chip/stm32_mdma.h: add auxliary definitions and
- fix some typos
- - arch/arm/src/stm32h7/chip/stm32h7x3xx_dmamux.h: add DMAMAP
- definitions for MDMA, DMA1, DMA2 and BDMA
- - arch/arm/src/stm32h7/chip/stm32h7x3xx_memorymap.h: fix AHB1 base
- adresses and add some address blocks
- - arch/arm/src/stm32h7/chip/stm32h7x3xx_rcc.h: fix some definitions to
- match other STM32 ports
- - arch/arm/src/stm32h7/stm32_allocateheap.c: use SRAM from D2 domain
- (SRAM123) for now
- - arch/arm/src/stm32h7/stm32h7x3xx_rcc.c: enable clock for MDMA and BDMA
- From Mateusz Szafoni (2019-03-01).
- * drivers/wireless/nrf24l01.c: Fix uninitialized irq_work which was
- causing a hard_fault on interrupt handler whenever something was sent
- from nrf24l01_term From Petri Ahonen (2019-03-02).
- * arch/arm/src/stm32h7/stm32_timerisr.c: H7 appears to ignore the
- SysTick CLKSOURCE bit and use the CPU clock in all cases. From Mateusz
- Szafoni (2019-03-02).
- * Initial DMA support for STM32H7
- - arch/arm/src/stm32h7: SPI DMA mode
- - arch/arm/src/stm32h7/chip/stm32h7x3xx_memorymap.h: add base addresses
- for D1, D2 and D3 domain; use 2 bytes to specify memory region
- - arch/arm/src/stm32h7/stm32h7x3xx_rcc.c: add D1 domain core prescaler
- configuration
- From Mateusz Szafoni (2019-03-03).
- * tools/Makefile.unix, .win, and all defconfig files: Modify
- tools/Makefiles to add warning on defconfig files From Alan Carvalho
- de Assis (2019-03-03).
- * arch/arm/src/imxrt and configs/imxrt1050-evk: Adds framebuffer support
- for thje i.MXRT 1050. Includdd DCD initialization for SDRAM to provide
- space for the framebufer. External code I used/ported is from NXP and
- is BSD 3-clause license. From Johannes (2019-03-04).
- * - libs/libc/pthread/pthread_spinlock.c: Resolve several TODO issues by
- accessing up_testset() via the boardctl() interface rather than
- attempting to call it directly.
- - configs/boardctl.c, include/sys/boardctl.h: Add access to
- architecture-specific up_testset() via boardctl().
- - arch/Kconfig's, sched/Kconfig, and include/nuttx/spinlock.h:
- Spinlocks are not available unless the architecture supports the
- up_testset() operation.
- From Gregory Nutt (2019-03-04).
- * tools/nxstyle.c: Add capability to detect CamelCase identifiers. From
- Gregory Nutt (2019-03-05).
- * configs/boardctl.c and include/sys/boardctl.h: Add support for
- BOARDIOC_NXTERM which can be used to create an NxTerm terminal. From
- Gregory Nutt (2019-03-06).
- * graphics/nxterm: Remove the nxterm_unregister interface. The correct
- way to unregister a device is to unlink it. From Gregory Nutt
- (2019-03-06).
- * configs/open1788/knxterm: Add a configuration to test NxTerms in the
- PROTECTED mode. This configuration does not yet link correctly because
- a few NxTerms interfaces are improperly exported from the OS:
- nxterm_redraw() and nxterm_kbdin(). From Gregory Nutt (2019-03-06).
- * configs/boardctl.c: Add boardctl() commands to replace direct calls to
- nxterm_redraw() and nxterm_kbdin(). From Gregory Nutt (2019-03-06).
- * configs/open1788/knxterm/defconfig: Add missing MPU configuration
- option. From Gregory Nutt (2019-03-06).
- * configs/open1788: Re-arrange PROTECTED mode link map to make more
- space for large kernels with debug enabled. From Gregory Nutt
- (2019-03-06).
- * graphics/nxterm and configs/open1788: Various fixes to get the NxTerm
- example working in PROTECTED mode with the Open1788 knxterm
- configuration. Basically works until the screen becomes full and it
- starts scrolling. Then characters are missing from the display. Needs
- more debug and test. From Gregory Nutt (2019-03-07).
- * drivers/sensors/mpu60x0.c: Initial support for TDK InvenSense MPU6000
- and MPU6050 6-axis gyroscope and accelerometers. This commit supports
- SPI media only. From Bill Gatliff (2019-03-07).
- * configs/stm32f429i-disco/nxhello/defconfig: Add an
- apps/examples/examples/nxhello configuration. From Gregory Nutt
- (2019-03-07).
- * configs/omnibusf4: Initial support for the OmnibusF4 family of flight
- management units. "OmnibusF4" is not a product name per se, but rather
- a design spec that many product vendors adhere to. The spec defines the
- major components, and how those components are wired into the
- microcontroller. Airbot is one such vendor, and they publish a
- schematic here: http://bit.ly/obf4pro. Other software that supports
- the OmnibusF4 family include Betaflight, iNAV, and many others. PX4
- recently added support as well, using their own, non-upstreamed,
- bespoke port of NuttX. No code from those resources is included in this
- port. From Bill Gatliff (2019-03-08).
- * libs/libnx/nxfonts: Fix a memory leak in the font cache. With a busy
- NxTerm display, this could drain off all the memory pretty quickly!
- From Gregory Nutt (2019-03-08).
- * configs/stm32f429i-disco/src/stm32_lcd.c: Handle multiple calls to
- up_fbinitialize() From Gregory Nutt (2019-03-08).
- * arch/arm/src/stm32/stm32_otgfsdev.c/stm32_otghsdev,
- stm32f7/stm32_otgdev.c, and stm32l4/stm32l4_otgfsdev.c: Fix a warnings
- due to a function prototype mismatch. From Gregory Nutt (2019-03-08).
- * tools/nxstyle.c: Was confusing hex constants with strings staring with
- 'x'. Added logic to complain about hex constants containing upper case
- characters. From Gregory Nutt (2019-03-09).
- * - graphics/nxterm: Needs to clear display initially. Otherwise,
- garbage from previous display may still be present from preceding
- NxWM window.
- - graphics/nxterm: Back out most of the preceding NxTerm changes
- related to window size. apps/examples/nxterm passed the complete
- NxTK window size. Those changes were needed to make
- aps/examples/nxterm work. But NxWM passes the the size of the NxTK
- main sub-window. So I needed to back out the changes and then change
- the applications so that they passed the same value (the size of the
- NxTK sub-window).
- From Gregory Nutt (2019-03-09).
- * Initial OTG support for STM32H7 and some minor improvements
- - arch/arm/src/stm32h7/stm32h7x3xx_rcc.c: add support for HSI48 clock
- - configs/nucleo-f207zg: add support for USB and initialize CDCACM if
- configured
- - configs/nucleo-h743zi: add support for USB and initialize CDCACM if
- configured
- - drivers/usbdev/Kconfig: fix type for USBDEV_TRACE_INITIALIDSET
- - configs/teensy-3.x/usbnsh/defconfig: update config according to
- change in USBDEV_TRACE_INITIALIDSET
- From Mateusz Szafoni (2019-03-10).
- * arch/arm/src/imxrt/imxrt_clockconfig.c: If SDRAM is actived it was
- only running at 40MHz. This was becaus imxrt_clockconfig.c changed the
- SEMC clock divider after the DCD was configured. This commit corrects
- that. From Johannes (2019-03-10).
- * configs/omnibusf4/README.txt: Add README file for OmnibusFS target.
- From Bill Gatliff (2019-03-10).
- * tools/nxstyle.c: Add logic to detect a blank line following a left
- brace or a blank line preceding a right brace. From Gregory Nutt
- (2019-03-10).
- * graphics/nxmu/nxmu_start.c: Extend nxmu_start so that receives a
- display number as an argument. This makes it possible to have multiple
- instances of the NX server running on boards that support multiple
- displays. Also includes updates to boardctl() to accept display number
- paramters. From Gregory Nutt (2019-03-10).
- * Add three patches about STM32 intherupts and network loopback files
- - Add the missing macro STM32_IRQ_NIRQS used by
- ./arch/arm/src/stm32f7/stm32_irq.c
- - The struct in_addr doesn't have the member sin_addr.
- - The function lib_lo_ipv6match() is for IPv6. Correct the function it
- calls from lib_lo_ipv4matchto() to lib_lo_ipv6match(). Also add
- CONFIG_NET_IPv6 for configuration.
- From Kejun ZHOU (2019-03-11).
- * arch/arm/src/stm32h7: initial support for protected build mode. Not
- functional yet. It compiles without errors and passes initialization
- but after entering the user app strange things happen. From Mateusz
- Szafoni (2019-03-11).
- * tools/nxstyle.c: Fix logic error that prevent detecion of '/' and '/='
- as operators. net/: Minor updates resulting from testing
- tools/nxstyle. From Gregory Nutt (2019-03-11).
- * arch/arm/include/nrf52/ and arch/arm/src/nrf52: 1. Added 52840 family
- support 2. Use common irq and memory layout header file for 52832 &
- 52840. From Levin Li (2019-03-12).
- * binfmt/nxflat.c: Correct a double free debug assertion. This occurs
- when groups are enabled: (1) once via binfmt_exit and unload_module,
- and (2) once via sched_releasetcb(). this was corrected by adding
- logic to free/unload the memory once and nullify the pointer so that
- cannot be freed a second time. This commit resolves Bitbucket issue
- #145. From Valmantas Palikša (2019-03-12).
- * binfmt/nxflat.c: Update to last NxFLAT change: The logic must respect
- the reference count before freeing the dspace memory region. From
- Gregory Nutt (2019-03-12).
- * tools/nxstyle.c: Don't complain about certain lowercase characters in
- otherwise uppercase pre-processor identifers: IPv6, IPv4, ICMPv6,
- IGMPv2, p as a decimal point, d signifying a divisor. It was a bad
- idea to let the door open a crack for there. While they improve
- readability, the inconsistently also causes other problems. From
- Gregory Nutt (2019-03-12).
- * arch/arm/src/nrf52: 1. added RNG device driver 2. added errdata to
- correct temp which will be used by RNG module 3. use general
- task_trigger / event_clear inline api for all driver. From Levin Li
- (2019-03-13).
- * include/nuttx/nx/nxmu.h: Remove prototype of non-existent function.
- From Gregory Nutt (2019-03-13).
- * This commit removes naming associated with and naming for the now
- non-existent NXFE graphics layer.
- - graphics/: Rename nxfe_reportposition to nxmu_reportposition. The
- is no longer an nxfe layer.
- - graphics/: Rename nxfe_redrawreq to nxmu_redrawreq. The is no
- longer an nxfe layer.
- - graphics/nxmu/nxmu.h: Rename nxfe.h to nxmu.h. There is no long an
- nxfe layer.
- - graphics/: Rename nxfe_state_s to nxmu_state_s. There is no longer
- an nxfe layer.
- - graphics/: Rename nxfe_conn_s to nxmu_conn_s. There is no longer an
- nxfe layer.
- From Gregory Nutt (2019-03-13).
- * - graphics/: nx_openwindow() and nxtk_openwindow() now accept an
- additional 'flag' parameter. This argument is not used at present but
- will, eventually enable a RAM backed, per-window framebuffer.
- - graphics/Kconfig: Add configuration to support a rambacked
- framebuffer. Current marked as EXPERIMENTAL because this is a work in
- progress.
- From Gregory Nutt (2019-03-13).
- * A little more progress toward the implementation of per-window
- framebuffers.
- - graphics/: Add logic to allocate the per-window framebuffer.
- - graphics/: A few fragmentary thoughts on how a per-window
- framebuffer could be represented and allocated.
- Still missing:
- - Logic that generates the low lever framebuffer renderers for the
- per-window framebuffers,
- - The logic that picks off the per-window framebuffer updates from
- normal graphics device updates. This logic must update both the
- per-window framebuffer and the graphics device (from the framebuffer).
- From Gregory Nutt (2019-03-14).
- * graphics/nxflig/pwfb: Clone logic for new bit blitters for per-window
- framebuffers. From Gregory Nutt (2019-03-14).
- * configs/teensy-3.x/usbnsh/defconfig: Fix a mismatch in types. From
- Gregory Nutt (2019-03-14).
- * graphics: Extend NXBE data structures to include the per-window
- framebuffer (pwfb) vtable. Add logic to initialize the pwfb vtable.
- From Gregory Nutt (2019-03-14).
- * fs/procfs/fs_procfsuptime.c: Fix procfs typo. From Sebastien Lorquet
- (2019-03-14).
- * arch/arm/src/armv7-a/mmu.h: pdating the cp15_wrttb and cp15_wrdacr
- functions to use inline assembly in the correct way. The incorrect
- method was generating errors as ARMv7-a expects the MCR/MRC
- instructions to provide registers as an argument(MRC p15, 0, <Rt>, c2,
- c0, 0) and the code was providing a constant value(and hence the build
- error). From Bilal Wasim (2019-03-14).
- * This commit brings the per-framebuffer logic to code-complete. Still
- untested.
- - graphics/nxbe: The moverectangle renderer now supports updates to
- the per-window framebuffer (unclipped) as well as the graphics device
- memory (clipped).
- - graphics/nxbe: The filltrapezond renderer now supports updates to
- the per-window framebuffer (unclipped) as well as the graphics device
- memory (clipped).
- - graphics/nxbe: The getrectangle method now returns data from the
- per-window framebuffer if available.
- - graphics/nxbe: The fillrectangle renderer now supports updates to
- the per-window framebuffer (unclipped) as well as the graphics device
- memory (clipped).
- - graphics/nxmu: If a window supports a per-window framebuffer, then
- redraw callbacks are suppressed and the device content is updated
- from the shadow, per-window framebuffer. graphics/nxbe: The
- copyrectangle renderer now supports updates to the per-window
- framebuffer (unclipped) as well as the graphics device memory
- (clipped).
- - graphics/nxbe/nxbe_setsize.c: Reallocate the per-window framebuffer
- when the window size changes.
- From Gregory Nutt (2019-03-15).
- * configs/nucleo-f446re: Add support for the Nucleo F446RE. From
- Sebastien Lorquet (2019-03-15).
- * Fix defconfigs. A few people have been lazy or are perhaps ignorant of
- the procedures. But the have been committing .config files as though
- they were defconfig files. Wrong, wrong, wrong. defconfig files are
- specially formatted files that you create through 'make defconfig'.
- From Gregory Nutt (2019-03-15).
- * configs/open1788/nxlines/defconfig: Enable anti-aliasing. From
- Gregory Nutt (2019-03-15).
- * configs/open1788/pwfb: Add an example for testing per-window frame
- buffers. arch/arm/src/lpc17xx: Add a configuration option to skip
- over the framebuffer when adding DRAM to the heap. graphics: Early
- fixes from testing per-window framebuffer. Still lots of problems.
- From Gregory Nutt (2019-03-16).
- * include/fixedmath.h: Add macros for conversion between types b16_t and
- type double From Gregory Nutt (2019-03-16).
- * app/graphics/nxbe/nxbe_setsize.c: Fix backward source/destination in
- memcpy() in new per-window framebuffer logic. From Gregory Nutt
- (2019-03-16).
- * - graphics/nxbe/nxbe_bitmap.c: Fix another coordinate system problem.
- - graphics/: Review use of device coordinate system with window
- frambebuffer and make fixes accordingly.
- - graphics/nxbe/nxbe_fill.c: Fix a coordinate system bug. Was trying
- to update the window fraembuffer using the device coordinate system.
- Need to use the relative coordinate system.
- - graphics/: Use DEBUGASSERT instead of return an error since the is
- no user to handle the errors within the NX server. Use
- CONFIG_DEBUG_GRAPHICS instead of CONFIG_DEBUG_FEATURES in most cases.
- - graphics/: Nothing under graphics/ should set the errno.
- From Gregory Nutt (2019-03-17).
- * libs/libnx/nxtk/nxtk_setsize.c: Add logic to redraw NXTK borders for
- the case of per-window framebuffers. There are no redraw callbacks in
- this case, so we cannot rely on the callbacks to redraw the borders.
- From Gregory Nutt (2019-03-17).
- * configs/lc823450-xgevk: Remove -nostdinc to avoid build error From
- Masayuki Ishikawa (2019-03-18).
- * libs/libc/libc.csv: Should be locale.h not local.h. From Joao Matos
- (2019-03-18).
- * libs/libnx/nxtk: Add logic to re-draw the frame when the toolbar is
- added or removed. From Gregory Nutt (2019-03-18).
- * libs/libc/libc.csv: Needed logic for correct compilation if not using
- CONFIG_LIBC_WCHAR From Joao Matos (2019-03-18).
- * libs/libnx/nxtk: Fix more cases where we were using the wrong
- coordinate system. From Gregory Nutt (2019-03-18).
- * binfmt/libnxflat/libnxflat_init.c: File descriptor leaks when nxflat
- loading fails From Valmantas Palikša (2019-03-19).
- * configs/lpcxpresso-lpc54628/pwfb: Add per-window framebuffer
- configuration. From Gregory Nutt (2019-03-19).
- * fs/littlefs/lfs_vfs.c: Lookahead should use bit unit not byte unit.
- From Xiang Xiao (2019-03-19).
- * libs/libc/string/lib_strsep.c: Add strsep BSD/Linux function. From
- Xiang Xiao (2019-03-19).
- * fs/mount and fs/unionfs: Support mount unionfs from nsh command. From
- Xiang Xiao (2019-03-19).
- * binfmt/libelf and libs/libc/modlib: Add relocation buffer table to
- reduce filesystem access. From anchao (2019-03-19).
- * binfmt/libelf/ and libs/libc/modlib: Add symbol buffer table to reduce
- filesystem access. From anchao (2019-03-19).
- * net/usrsock: Add mutual exclusion so that only user can perform a
- socket request From zhangyuan7 (2019-03-19).
- * net/icmp and icmpv6: Bind icmp callback from device to connection.
- Resolves the issue that bind() could not be called before send() From
- anchao (2019-03-19).
- * net/udp/udp_callback.c: Initialize address structure to avoid random
- values in padding. From anchao (2019-03-19).
- * net/local/local_connect.c: Initialize lc_result before giving
- lc_waitsem From zhangyuan7 (2019-03-19).
- * net/local: Fixed deadlock issue by replacing nxsem_wait() with
- net_lockedwait() so that we do not wait with the network locked. From
- zhangyuan7 (2019-03-19).
- * libs/libc/netdb: Support the nameserver change notification then we
- can pass dns info from server to client in usrsock case. From Xiang
- Xiao (2019-03-19).
- * include/nuttx/compiler.h: Assume inline support if __STDC_VERSION__
- not defined. From Xiang Xiao (2019-03-19).
- * libs/libxx/Makefile: Always add libxx_cxa_guard.cxx for uclibcxx.
- From zhangyuan7 (2019-03-19).
- * ibs/libc/Makefile, libs/libnx/Makefile, and mm/Makefile: Remove
- obj-path MKDEPS option since make dependency target (MT) is not
- supported by some toolchains. From anchao (2019-03-19).
- * include/nuttx/userspace.h: Add add a new field (us_heapend) to struct
- userspace_s that labels the end of the heap. From Xiang Xiao
- (2019-03-19).
- * arch/Kconfig: Move FPU options to a common place and unify the usage
- by removing ARCH_CORTEXRxF. From Xiang Xiao (2019-03-19).
- * arch/: Unify the cache interface for all architectures From Xiang
- Xiao (2019-03-19).
- * arch/armv7-m: Make the default NVIC_VECTAB_TBLOFF_MASK safer. The
- base address of the new vector table must be aligned to the size of
- the vector table extended to the next larger power of 2. From Xiang
- Xiao (2019-03-19).
- * arch/arm/armv7-a: Support thumb mode and fix interworking issue.
- From zhangyuan7 (2019-03-19).
- * arch/arm/src/armv7-a: Remove inclusion pg_macros.h for armv7-a since
- this header file does not exist. From zhangyuan7 (2019-03-19).
- * arch/arm/src/armv7-a: Guard some assembly files if configuration not
- selected. From zhangyuan7 (2019-03-19).
- * arch/arm/src/armv7-a/arm_head.S: Add weak attribute to
- arm_data_initialize so platform could provide the new implementation as
- needed. From zhangyuan7 (2019-03-19).
- * arch/arm/src/armv7-a: Fix assemble error when including gic.h From
- Xiang Xiao (2019-03-19).
- * arch/arm/src/armv7-a/arm_gicv2.c: Don't use GIC_ICDDCR_ENABLEGRP1 for
- NONSECURE since this bit doesn't exist in this mode. From liuzhuang
- (2019-03-19).
- * arch/arm/src/armv7-a/sctlr.h: Add SCR bit definitions. From Xiang
- Xiao (2019-03-19).
- * arm/armv7-a: Add mmu_l1_map_regions() to remove the code
- duplication. From Xiang Xiao (2019-03-19).
- * arch/arm: Add the initial cortex-a7 architecture support From
- zhangyuan7 (2019-03-19).
- * arch/arm: The last big change that unified the cache interfaces had a
- bad side-effect: It also removed the memory barrier definitions that
- were also in the removed architecture-specific cache.h header files.
- Fixed by adding a new barriers.h header file that provides these
- definitions. From Gregory Nutt (2019-03-19).
- * ARMv7-A/R: Add barriers.h header file for consistency with ARMv7-M.
- From Gregory Nutt (2019-03-19).
- * arch/arm: Fix more errors resulting from universal cache interfaces.
- The old cache-specific head file also provided a sneak way to include
- other necessary header files. With the old cache.h removed, those
- files all fail to build. From Gregory Nutt (2019-03-19).
- * arch/arm/src/armv7-a/arm_scu.c: Another place where universal cached
- control change borked a compile due to missing ARM_DSB() definition.
- From Gregory Nutt (2019-03-19).
- * arch/arm/src/stm32f7/stm32_tim.c: Add OUTTOGGLE mode for STM32f7
- timer From Valmantas Paliksa (2019-03-20).
- * arch/arm/src/stm32f7/stm32_tim_lowerhalf.c: Add timer lowerhalf
- driver for stm32f7. From Valmantas Paliksa (2019-03-20).
- * drivers/can/mcp2515.c: Use kmm_zalloc to allocate device state
- structure. From Valmantas Paliksa (2019-03-20).
- * arch/arm/src/stm32f7/stm32_can.c: Add CAN driver with support for
- three bxCAN interfaces. From Valmantas Paliksa (2019-03-20).
- * arch/arm/src/stm32f7: Add ITM syslog support. From Valmantas Paliksa
- (2019-03-20).
- * arch/arm/src/stm32f7/stm32_can.c: Fix bittiming calculation. From
- Valmantas Paliksa (2019-03-20).
- * drivers/eeprom/spi_xx25xx.c: Add configurable SPI eeprom frequency.
- From Valmantas Paliksa (2019-03-20).
- * arch/arm/src/stm32f7/stm32_qspi.c: Added stm32f7 Quad SPI support.
- From Valmantas Paliksa (2019-03-20).
- * drivers/can/mcp2515.c: Fix MCP2515 compile errors. From Valmantas
- Paliksa (2019-03-20).
- * drivers/can/Kconfig: Add MCP2515 clock input config to KConfig. From
- Valmantas Paliksa (2019-03-20).
- * sched/sched and include/nuttx/arch.h: Rename sched_process_cpuload
- to nxsched_process_cpuload. All internal sched_ functions should be
- prefixed with nx. From Valmantas Paliksa (2019-03-20).
- * arch/arm/src/armv7-a/Toolchain.defs: Correct conditional logic. Was
- mixing C preprocessor and Makefile semantics. From Gregory Nutt
- (2019-03-20).
- * arch/arm/src/stm32/stm32_allocateheap.c: Change 'if
- CONFIG_STM32_HAVE_CCM' to 'ifdef CONFIG_STM32_HAVE_CCM' to avoid a
- warning when CONFIG_STM32_HAVE_CCM is not defined. From Gregory Nutt
- (2019-03-20).
- * binfmt/libelf/libelf_bind.c: Make naming of internal type compliant
- with coding standard. Yes, the ELF32 types do not follow the standard
- for historical reasons (and will be fixed someday), but let's not
- perpetuate the naming violation. From Gregory Nutt (2019-03-20).
- * arch/arm/src/stm32f7/stm32_qspi.c: Update for new universal cache
- conrols. From Gregory Nutt (2019-03-20).
- * arch/arm/src/armv7-m/up_ramvec_initialize.c: Correct bad
- NVIC_VECTAB_TBLOFF_MASK definitions in previous commit. Were missing
- bits in the mask. Raised DEBUGASSERT in
- armv7-m/up_ramvec_initialize.c line: 144. From Mateusz Szafoni
- (2019-03-20).
- * libs/libnx/nxmu/nx_filltrapezoid.c: Fix a coordinate system error.
- When no clipping rectangle is falls, it falls back to use the entire
- window as for the clip. However, that window must then then be in
- window relative coordinates, not in absoute device coordinates. From
- Gregory Nutt (2019-03-20).
- * configs/lpcxpresso-lpc54628: Add a configuration for
- apps/examples/pwlines. From Gregory Nutt (2019-03-20).
- * configs/stm32f769i-disco/netnsh/defconfig: Remove
- CONFIG_STM32F7_QUADSPI=y from the configuration. This was apparently
- set before the implementation was added. Now that the implementation
- was added, the configuration will not build because it requires that
- QSPI GPIO pin definitions be provided in the board.h header file.
- From Gregory Nutt (2019-03-20).
- * arch/arm/src/stm32f7/stm32_qspi.c: Fix a warning about QSPI_DMA_PRIO
- being redefined. From Gregory Nutt (2019-03-20).
- * arch/arm/src/stm32f7/stm32_qspi.c: Fix a warning about ARM_DSB()
- being implicitly defined. From Gregory Nutt (2019-03-20).
- * arch/ and configs/: Fix more errors related to cache interface
- changes. From Gregory Nutt (2019-03-20).
- * arch/arm/src/armv7-a/arm_addrenv_utils.c: Fix a new cache interface
- related warning. From Gregory Nutt (2019-03-20).
- * Backs out part of a commit. When CONFIG_SCHED_CPULOAD_EXTCLK is
- defined, the prototype must still be available in nuttx/arch.h From
- Gregory Nutt (2019-03-20).
- * Rename sched_process_timer to nxsched_process_timer. That is the
- appropriate name for an internal sched/ function (still many named
- incorrectly). From Gregory Nutt (2019-03-20).
- * Rename sched_timer_expiration to nxsched_timer_expiration. That is
- the appropriate name for an internal sched/ function (still many named
- incorrectly). From Gregory Nutt (2019-03-20).
- * Rename sched_alarm_expiration to nxsched_alarm_expiration. That is
- the appropriate name for an internal sched/ function (still many named
- incorrectly). From Gregory Nutt (2019-03-20).
- * arch/arm/src/stm32f7/stm32_qspi.c: Fix QuadSPI priority constants.
- From Valmantas Paliksa (2019-03-21).
- * drivers/ioexpander/gpio.c: Support reading and writing gpio pins
- using cat and echo. From Valmantas Paliksa (2019-03-21).
- * arch/arm/src/stm32/stm32_dfumode.c: Add logic to reboot the STM32 in
- DFU mode. Current implementation only works for STM32F2 and F4. From
- Bill Gatliff (2019-03-21).
- * drivers/ioexpander/gpio.c: Return EINVAL if written value is not 0
- nor 1. From Valmantas Paliksa (2019-03-22).
- * arch/arm/src/stm32/stm32_oneshot.c: Corrects error introduced by
- and earlier commit: Also affects stm32_oneshot.c (I noticed that ps
- on my STM32F4 did not show any CPU load in nuttx-7.27 onward). From
- Maximilian Kriegleder (2019-03-22).
- * arch/arm/src/stm32/stm32_tickless.c and
- arch/arm/src/stm32/stm32_freerun.c: Apply Max's stm32_oneshot.c fix
- to the tickless implementation and to the freerunning time. From
- Mateusz Szafoni (2019-03-22).
- * drivers/video/max7456.c: Support for the Maxim MAX7456
- on-screen-display chip. From Bill Gatliff (2019-03-24).
- * configs/omnibusf4: Add MAX7546 support. From Bill Gatliff (2019-03-24).
- * arch/arm/src/stm32/stm32_pwm.c: Set CCPxP and CCPxNP bits if polarity
- is negative. From Mateusz Szafoni (2019-03-24).
- * arch/arm/src/stm32/stm32_pwm.c: Missing commas in initializers can
- break compilation in certain configurations. From Mateusz Szafoni
- (2019-03-24).
- 7.30 2019-05-19 Gregory Nutt <gnutt@nuttx.org>
- * arch/ and config/ files: All board interfaces (those starting with
- board_) must be defined in board-specific logic. Otherwise, they cannot
- be customized for specialized usage by different boards. The
- board_reset() interface was defined in architecture-specific logic that
- only called up_systemreset(). That is useless! This change removes the
- board_reset() implementation from the architecture-specific code and
- re-implements it in the src/ directory of each board that has
- CONFIG_BOARDCTL_RESET enabled. That is the correct functional
- partitioning. From Gregory Nutt (2019-03-25).
- * configs/omnibusf4/src/stm32_reset: Add boardctl() reset logic. From
- Bill Gatliff (2019-03-25).
- * arch/arm/src/stm32f7/stm32_qspi.c: Fix QuadSPI interrupts. This commit
- essentially replaces wrongly named configuration variables
- STM32F7_QSPI_INTERRUPTS into CONFIG_STM32F7_QSPI_INTERRUPTS. Also fixes
- some getreg/putreg where register addresses were used instead of
- register offsets From Pierre-Olivier Vauboin (2019-03-25).
- * graphics/nxmu, include/nuttx/nx/nxmu.h, libs/libnx: Add new
- server->client callback to notify the window client of server events.
- Remove the old 'blocked' callback and just make it one case of an 'event'
- callback. From Gregory Nutt (2019-03-25).
- * graphics/ and libs/libnx: Implement new interfaces nx_synch() and
- nxtk_synch(). This are used to synchronize the NX server with the window
- client. Currently most of the logic is equivalent to nx_block() and
- nxtk_block(), but with slightly different semantics. They are separate
- now because they are likely to diverge in the future. From Gregory Nutt
- (2019-03-25).
- * configs/stm32f103-minimum/src/: USB reset was not working appropriately
- since the pin connected to D+ was incorrectly defined and the pullup/down
- logic was reversed. From Matias N (2019-03-25).
- * configs/omnibusf4: Add board_ioctl() which is needed only if
- CONFIG_BOARDCTL_IOCTL=y is selected; Update NSH configuration to enable
- board IOCTLs and DFU mode reset. From Bill Gatliff (2019-03-26).
- * include/limits.h: Remove the duplicate TMP_MAX definitions. The
- standard requires that TMP_MAX defines be in stdio.h. From Xiang Xiao
- (2019-03-26).
- * include/sys/select.h: Fix compiler error when CONFIG_NSOCKET_DESCRIPTORS
- is undefined. From Xiang Xiao (2019-03-26).
- * arch/arm/src/armv7-a/Toolchain.defs: Fix 'cc1: warning: switch
- -mcpu=cortex-a7 conflicts with -march=armv7-a switch' From Xiang Xiao
- (2019-03-26).
- * drivers/usbdev/cdcacm.c: This fixes a problem where the host sent a "get
- descriptor" message of type "standard" with a recipient of type
- "interface". Since the composite driver would only pass messages to the
- child interfaces when a message was not "standard", this message was not
- handled. I changed the condition so that the composite driver checks not
- only if this is a "standard" message but if it is also directed to the
- device. Otherwise, the handling is delegated to the children of the
- composite device. From Matias N (2019-03-26).
- * drivers/video/max7456.c: Adds a read-only (for now) /dev/osd0/CM
- interface for obtaining the chip's onboard NVM character map data. Use
- seek() to position the cursor over a desired subset of bytes, or request
- a large read to obtain the entire EEPROM memory contents. Values are
- returned in binary form. Use hexdump, etc. to format them for viewing.
- From Bill Gatliff (2019-03-26).
- * configs/nucleo-l476rg/src/stm32_gpio.c,
- configs/stm32f103-minimum/src/stm32_gpio.c, and
- drivers/sensors/zerocross.c: Fix some errors when debug assertions are
- enabled. From Matous Pokorny (2019-03-29).
- * configs/boardctl.c, include/sys/boardctl.h: Add a command to start the
- VNC server. From Gregory Nutt (2019-04-02).
- * drivers/syslog/syslog_stream.c: In syslog buffered mode, avoid IOB alloc
- lock-up with heavy network activity. This change alters the buffered
- syslog logic to use 'iob_tryalloc' instead of blocking 'iob_alloc' to
- avoid syslog printing from getting stuck when all IOBs are depleted by
- network activity. An issue was seen when large incoming TCP transfer
- uses free IOB buffers and processing threads try to use syslog which then
- block at iob_alloc. From Jussi Kivilinna (2019-04-03).
- * arch/stm32f7: Support bypassing the input clock divider on the SDMMC
- interface. This enables using the full clock speed provided to the SDMMC
- interface with no dividing. From Anthony Merlino (2019-04-03).
- * arch/arc/stm32f7: Add support for using the HSE in bypass mode,
- configured by board.h From Anthony Merlino (2019-04-03).
- * arch/arm/stm32f7: Fixes some macros related to OTGFS/OTGHS preventing
- OTGHS from working. From Anthony Merlino (2019-04-03).
- * arch/arm/src/nrf52/nrf52832_errdata.c: Fix compiler error when following
- C89. From Erik Englund (2019-04-03).
- * PIC32MZ: The commit corrects the gpioirq when mismatch mode is selected
- and add support for edge detect mode. Slew Rate was also added for
- completeness. From Abdelatif Guettouche (2019-04-03).
- * libs/libc/stdio/lib_libvsprintf.c: Restore support for printing NULL
- string as "(null)". Legacy printf supported printing "(null)" in place
- for NULL string: printf("null: %s\n", NULL); => null: (null). This
- commit restores this functionality for new printf library. From Jussi
- Kivilinna (2019-04-04).
- * fs/littlefs/lfs.c: Fix lfs_format bug. In superblock disk root-block
- assignment, the second must be root[1]. From YanLin Zhu (2019-04-04).
- * sched/pthread: Added non-standard pthread_get_stackaddr_np() and
- pthread_get_stacksize_np(). From Joao Matos (2019-04-04).
- * include/pthread.h and libs/libcpthread: Fixed
- pthread_attr_get/setstacksize param type to size_t. From Joao Matos
- (2019-04-04).
- * Fixed R_OK/X_OK definitions to match POSIX. From Joao Matos (2019-04-04).
- * libs/libc/locale/lib_setlocale.c: Improved error handling in
- setlocale(). From Joao Matos (2019-04-04).
- * libs/libc/misc/lib_utsname.c: Fixed return code in uname(). From Joao
- Matos (2019-04-04).
- * include/sys/syscall.h and syscall/: Added support for munmap() syscall.
- From Joao Matos (2019-04-04).
- * include/alloca.h: Add alloca.h. Included limited implementation of
- alloc() that is only available for GCC versions 3 and above. From Joao
- Matos (2019-04-04).
- * configs/nucleo-144/include/board.h: Added STM32_RCC_DCKCFGR2_DSISRC
- definition. From Joao Matos (2019-04-04).
- * include/signal.h: Add commented out definition of the si_addr field.
- From oao Matos (2019-04-04).
- * arch/arm/src/stm32f7/stm32_fmc.h: Updated stm32_fmc.h with more FMC
- definitions. From oao Matos (2019-04-04).
- * Added support for KSZ8081RNA PHY to LPC17xx Ethernet driver. From
- jjlange (2019-04-04).
- * Refresh configurations. Remove CONFIG_NXWM_UNITTEST=y, no longer in
- Kconfigs. From Gregory Nutt (2019-04-04).
- * syscall/syscall.csv: Fix a warning due to inconsistencies in return
- type. From Gregory Nutt (2019-04-04).
- * syscall/syscall.csv: Correct an error in creating the munmap() proxy if
- CONFIG_FS_RAMMAP is not defined. From Gregory Nutt (2019-04-04).
- * graphics/, lib/libnx, include/nutt/nx: Add support for modal windows.
- From Gregory Nutt (2019-04-05).
- * drivers/contactless/mfrc522.c: Fixes for MFRC522. In mfrc522_read
- uid.sak must be different from 0x04 not as before from 0x00. SAK == 0x00
- is a valid PICC type. Add interface to read MIFARE Ultralight data From
- Mateusz Szafoni (2019-04-05).
- * configs/nucleo-l073rz: add mfrc522 support From Mateusz Szafoni
- (2019-04-05).
- * graphics/nxbe: Implement hooks that will eventually support software
- 'sprites', i.e., things like OSD functionality, a software cursor,
- selection rectangles, window resize preview, etc. From Gregory Nutt
- (2019-04-05).
- * Added support for Ethernet PHY ioctl() on LPC17xx. From jjlange
- (2019-04-05).
- * include/nuttx/nx/nxcursor.h: Add a header file describing the
- implementation of an NX cursor interface. From Gregory Nutt (2019-04-06).
- * libs/libnx/nxmu: Add front-end, client, message handling needed for
- cursor support. Still actual cursor logic yet, just message handling.
- graphics/nxmu and graphics/nxbe: Add back-end message handling needed
- for cursor support. No actual cursor logic yet, just message handling.
- From Gregory Nutt (2019-04-06).
- * graphics: Extend the definition of the cursor image structure. From
- Gregory Nutt (2019-04-07).
- * arch/arm/src/stm32f7: USB High speed for STM32F7 series From Ramtin
- Amin (2019-04-07).
- * I2C1 config on stm32f746g-disco. Typo in stm32f7/stm32_i2c.c From
- Matthew Koch (2019-04-08).
- * Kconfig warnings: defaults for choice values not supported From Matthew
- Koch (2019-04-08).
- * arch/arm/src/stm32f7: Ported the PWM from F4 to F7. From Eduard Niesner
- (2019-04-08).
- * graphics/nxbe: Correct some experimental cursor drawing algorithms.
- From Gregory Nutt (2019-04-08).
- * grahics/nxglib/nxglib.h: Move internal function prototypes from
- include/nuttx/nx/nxglib.h to graphics/nxglib/nxglib.h. From Gregory Nutt
- (2019-04-08).
- * Support for STM32L071X and a few improvements for STM32F0L0:
- arch/arm/src/stm32f0l0: add peripherals configuration for STM32L0
- arch/arm/src/stm32f0l0: a few fixes for USART
- arch/arm/include/stm32f0l0/stm32f0_irq.h: use names as in other STM32
- arch/arm/include/stm32f0l0/chip.h: use names as in other STM32
- From Mateusz Szafoni (2019-04-09).
- * Adds support for software cursors with differing pixel depths on multiple
- displays. This bring the software cursor to code complete. Still
- untested. From Gregory Nutt (2019-04-09).
- * graphics/nxbe: Add some missing checks: Don't permit the software
- cursor to be enabled until it has been assigned an image; don't perform
- any cursor operations while the cursor is disabled. From Gregory Nutt
- (2019-04-10).
- * include/nuttx/usb/hid.h: The usbhid_descriptor_s struct defined in hid.h
- included some optional fields that should not be hard-defined as part of
- that structure. An arbitrary number of optional entries could be
- included in the descriptor, but that is not properly represented. No
- code on NuttX currently depends on the structure definition with an
- optional descriptor so it is safe to remove. From Matias N (2019-03-30).
- * arch/arm/src/stm32f7/stm32_otgdev.c: Correct hard-coded FIFO size that is
- wrong for OTG FS. From Ramtin Amin (2019-04-11).
- * /graphics/nxglib/cursor: Correct two locations where y was used but
- where x was intended. From Gregory Nutt (2019-04-11).
- * Documentation/NXGraphicsSubsystem.html: Update documentation to describe
- blocking, synchronization, and cursor interfaces. From Gregory Nutt
- (2019-04-11).
- * arch/arm/src/stm32f: Added support for TICKLESS mode. From Valmantas
- Paliksa (2019-04-12).
- * arch/arm/src/stm32f7/stm32_spi.c: Add SPI DMA threshold configuration.
- From Valmantas Paliksa (2019-04-12).
- * arch/arm/src/stm32f7/stm32_ethernet.c: Auto-generate Ethernet MAC
- address from device unique ID. From Valmantas Paliksa (2019-04-12).
- * arch/arm/src/stm32f7/stm32_flash.c: Add flash block mapping support for
- progmem. From Valmantas Paliksa (2019-04-12).
- * arch/arm/src/stm32f7/stm32_uid.c: Add UID access. From Valmantas
- Paliksa (2019-04-12).
- * drivers/can/can.c: Support multiple readers of the same port From
- Valmantas Paliksa (2019-04-12).
- * drivers/can/mcp2515.c: mcp2515 driver optimizations. From Valmantas
- Paliksa (2019-04-12).
- * arch/arm/src/stm32f7/stm32_can.c: CAN fixes. From Valmantas Paliksa
- (2019-04-12).
- * graphics/nxbe: More work cursor coordinates. Still at least one big bug
- in the logic. From Gregory Nutt (2019-04-13).
- * arch/arm/src/stm32: As noted by Matias N, the FLASH base address used
- was incorrect. It was using the address of the FLASH data, not the
- address of the FLASH registers. From Gregory Nutt (2019-04-13).
- * arch/arm/src/stm32/stm32f10xxf30xx_flash.c: RCC register access should
- not be offset by FLASH register base. From Matias N (2019-04-13).
- * graphics/nxbe: This seems to fix the last of software cursor bugs. On
- the LPC54, it looks pretty clean. Not flickery as I feared. Probably
- not so good on low end displays. Possible transient artifacts? Not
- sure, maybe. Or maybe my eyes are playing tricks from staring at this
- too long. From Gregory Nutt (2019-04-13).
- * configs/stm32f103-minimum/src: Add PROCFS automount support From Alan
- Carvalho de Assis (2019-04-14).
- * net/utils: net_lock() and net_restorelock() now return a value. That
- values is the standard zero on success; negated errno value on failure.
- This return value is only needed for -ECANCELED. That cancellation
- indication needs to ripple all the way back to the highest levels where
- the cancellation can be acted on. This commit only adds the return
- value; it does not add checking for the return values of net_lock() and
- net_restorelock() at higher levels. That is required too. From Gregory
- Nutt (2019-04-14).
- * configs/stm32ldiscovery/src: Add support for board_late_initialize(),
- Move common initialization logic out of board_app_initialize() into new
- file stm32_bringup.c From Gregory Nutt (2019-04-15).
- * drivers/leds/userled: Fix ledset validity check in ULEDIOC_SETALL
- ioctl. From Jussi Kivilinna (2019-04-15).
- * arch/arm/src/stm32/Kconfig: It seems one option in the timer
- configuration was lost at some point. From Matias N (2019-04-15).
- * stm32f7: I2C Interrupt storm fix From David Sidrane (2019-04-16).
- * arch/arm/src/stm32l4/stm32l4_pwm.c Fix register addr, en_bit and resetbit
- for pwm timers From Fabian Justi (2019-04-17).
- * configs/nucleo-l476rg/src/nucleo-l476rg.h Fixed naming stm32l4_pwm_setup
- configs/nucleo-l476rg/src/stm32_appinit.c Fixed naming stm32l4_pwm_setup
- From Fabian Justi (2019-04-17).
- * stm32f7: I2C track bad state. The previous commit was true draconian.
- Now we track bad state and so the SW reset only when it occurs. From
- David Sidrane (2019-04-17).
- * arch/arm/src/stm32f7: stm32f76xx77xx_pinmap.h: Adds additional pin
- alternate function for SPI2 From Anthony Merlino (2019-04-17).
- * include/cxx/cstdlib: Add std::random() From Gregory Nutt (2019-04-21).
- * arch/arm/src/cxd56xx and arch/arm/include/cxd56xx: Add initial CXD56xx
- chip sources. From Nobuto Kobayashi (2019-04-22).
- * configs/spresense: Add Spresense board support. From Nobuto Kobayashi
- (2019-04-22).
- * drivers/usbhost/usbhost_storage.c: Correct typo "const const" to "const".
- arch/arm/src/stm32/stm32_i2s.c: In debug assertions, it on a sample rate
- of 0, but based on other code comments this value implies disabling the
- i2s master clock.
- arch/arm/src/stm32/stm32_usbhost.h and arch/arm/src/stm32/Kconfig: Allow
- vbus monitoring for the OTG_HS host driver.
- From Jason Harris (2019-04-23).
- * drivers/serial: The upper half serial driver configuration
- CONFIG_SERIAL_DMA used to enable DMA on both RX and TX streams. This was
- replaced with CONFIG_SERIAL_RXDMA and CONFIG_SERIAKL_TXDMA which will
- permit supporting DMA on only one or both streams. From Gregory Nutt
- (2019-04-24).
- * configs/stm32f103-minimum/src/stm32_mcp2515.c: Patch up more breakage
- found in build testing. Looks like fields were added and removed by
- commit eb7373cedfa, but the implementation that uses the structure were
- not updated. From Gregory Nutt (2019-04-24).
- * arch/arm/src/stm32h7/stm32_start.c: Inclusion of nvic.h should not be
- conditioned on CONFIG_ARCH_FPU. From Mateusz Szafoni (2019-04-25).
- * arch/arm/src: Remove dependency on CONFIG_ARCH_FPU for inclusion of
- nvic.h in all other *_start.c files. From Gregory Nutt (2019-04-25).
- * nucleo-144: Regenerate f767-netnsh/defconfig. It appear that
- CONFIG_NET_SOCKOPTS, is no more explicitly needed. From Phil Coval
- (2019-04-25).
- * configs/nucleo-h743zi/nsh/defconfig: Enable the FPU. From Jason Harris
- (2019-04-25).
- * Revert "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."
- This reverts commit 2bc709d4b99447f8decdc7580fdabab6dd8939b1. Commit
- 2bc709d4b99447f8decdc7580fdabab6dd8939b1 was intended to handle the case
- where up_timer_gettime may not start from zero case. However, this
- change has the side-effect of breaking every implementation of tickless
- mode: After this change the tickless timer structures are used before
- they are initialized in clock_inittime(). Initialization happens later
- when up_initialize is called() when arm_timer_initialize().
- Since the tickless mode timer is very special, one solution might be to:
- (1) Rename xxx_timer_initialize to up_timer_initialize, (2) Move
- up_timer_initialize to include/nuttx/arch.h, and (3) Call it from clock
- subsystem instead up_initialize. Basically, this change make timer
- initialization almost same as rtc initialization(up_rtc_initialize). For
- now, however, we just need to revert the change. From Gregory Nutt
- (2019-04-26).
- * nucleo-144: Mount sysfs for ifconfig for f767-netnsh/defconfig. Even if
- ifconfig is working to set IP, it will not work to display NICs (without
- args) From Phil Coval (2019-04-26).
- * nucleo-144: Update mbed URL and fix mistakes From Phil Coval (2019-04-26).
- * stm32f7: Add basic PWM support to nucleo-144 board. More PWMs and multi
- channels support may be investigated and added later. Tested on
- nucleo-f767zi. From Phil Coval (2019-04-27).
- * configs/nucleo-h743zi: Add support for I2C devices: ssd1306, pca9635,
- i2ctools From Mateusz Szafoni (2019-04-28).
- * Documentation/NuttxPortingGuide.html & drivers/syslog/README.txt: vsyslog
- returns nothing. From Mateusz Szafoni (2019-04-28).
- * configs/same70-xplained/twm4nx: Add a configuration for test Twm4Nx
- using VNC. From Gregory Nutt (2019-04-28).
- * configs/nucleo-l476rg/src: Make naming of functions consistent:
- stm32l4_ no stm32_. Inconsistency noted by Phil Coval in Bitbucket PR
- 864. This commit takes a different approach to resolving the naming
- inconsistency, however. From Gregory Nutt (2019-04-29).
- * arch/arm/src/stm32l4: Add USB FS device support. From Juha Niskanen
- (2019-04-29).
- * configs: Update all configurations to account for the configuration
- changes resulting from the separation of network initialization logic
- from NSH. From Gregory Nutt (2019-04-29).
- * configs/same70-xplained/twm4nx/defconfig: Updated to correctly
- initialize network. I am getting a VNC display. It is incomplete and
- crashes thereafter. But that is a start. From Gregory Nutt (2019-04-29).
- * In many files: Remove references to CONFIG_DISABLE_SIGNALS. Signals can
- no longer be disabled. From Gregory Nutt (2019-04-29).
- * net/socket/getsockname.c: Fix addrlen check in socket debug features.
- Getsockname checked erroneously a pointer agains 0, where the intention
- was to dereference the pointer and to check the length. This causes also
- a compilation failure if the code is compiled with CONFIG_DEBUG_FEATURES
- and with -Werror flag set. From Jukka Laitinen (2019-04-30).
- * drivers/net/phy_notify.c: Change sprintf to strncpy in phy_notify. On
- some platforms, the sprintf doesn't accept a const char* as a format
- argument. From Jukka Laitinen (2019-04-30).
- * arch/arm/src/stm32h7: Add STM32H7 SDMMC driver. This is the initial
- SDMMC driver for STM32H7. It is mostly copied from STM32F7, with
- modified register addresses and bits, and IDMA added. This is still WIP;
- it only works with IDMA. From Jukka Laitinen (2019-04-30).
- * configs/nucleo-h743zi/include/board.h: Add default clock configuration
- for SDMMC for nucleo-h743zi. From Jukka Laitinen (2019-04-30).
- * arch/arm/src/stm32h7/chip/stm32h7x3xx_rcc.h: Fixes for STM32H7 RCC
- definitions: (1) Fix compilation for UART7, UART8 and I2C4, (2) Add
- backup domain control registers. From Jukka Laitinen (2019-04-30).
- * arch/arm/src/stm32h7/stm32h7x3xx_rcc.c: Set the STM32H7 default HSI
- pre-divider to 4. The I2C driver currently assumes HSI clock to be
- 16MHz. From Jukka Laitinen (2019-04-30).
- * arch/arm/src/stm32h7/chip/stm32h7x3xx_memorymap.h: Add the STM32H7
- SYSTEM_UID and DEBUGMCU_BASE register definitions. From Jukka Laitinen
- (2019-04-30).
- * arch/arm/src/stm32h7/chip/stm32h7x3xx_pinmap.h: Add the
- GPIO_ETH_RMII_RXD1 pinmap definition for STM32H7. From Jukka Laitinen
- (2019-04-30).
- * arch/arm/src/stm32h7/stm32_i2c.c: Fix I2C4 compilation for STM32H7. From
- Jukka Laitinen (2019-04-30).
- * arch/arm/src/stm32h7/: Add stm32h7 Ethernet driver. This is the initial
- push for the Ethernet driver. The driver has been tested to be working
- on a nucleo board. This is still WIP, it doesn't for example do MAC
- filtering on HW level, but just receives all ethernet packets. From
- Jukka Laitinen (2019-04-30).
- * arch/arm/src/stm32h7/: Add timer devices driver for STM32H7. This is
- mostly a forklift from stm32f7 with some h7 specific modifications. From
- Jukka Laitinen (2019-04-30).
- * - Mostly arch/arm/src/imxrt and include/imxrt: This commit gets imx1020
- family support started. It is pretty similar, but subtly different, to
- 1050/60 (less PLLs, less GPIO banks, differently numbered ports etc.
- etc.). I think it's time to at least look at what needs to be done
- before we can get these into the mainline kernel even though they're not
- properly mature yet. Core memory functions, PLLs, serial and networking
- are all working, but there's no stress-testing or similar been done...I'm
- not aware of anything broken, but there again I haven't looked too hard.
- I want to go through and start moving each of the imxrt family-specific
- files into its own subdirectory to tidy things up a bit, and remove the
- vast majority of ifdefs from the mainline code...but I think it's
- appropriate to separate the cleanup steps from the new-chip-support
- steps to keep things a bit more compartmentalized. Next week is a travel
- week so it's possible I'll get time on the cleanup side of the house.
- I can't be 100% certain I didn't inflict casualties on the imxrt1050/60
- code in the process of doing this, but nsh for 1050 and netnsh and nsh
- for the 1060 both compile correctly, so if I did break anything it's
- going to be properly evil and difficult to find.
- - Directory re-arrangement and splitting of each imxrt family variant
- - Prevent intermittent SDCard timeouts by increasing timer in line with
- spec.
- - Support data dump on Hardfault
- - Fix missing ccm definitions and wrong iomux offset
- - Prevent hardfault when can't read from ENET PHY
- - More consistent Ethernet pinmux.
- From Dave Marples (2019-04-30).
- * include/nuttx/usb/hid.h: The usbhid_descriptor_s struct defined in
- hid.h included some optional fields that should not be hard-defined as
- part of that structure. An arbitrary number of optional entries could be
- included in the descriptor, but that is not properly represented. No
- code on NuttX currently depends on the structure definition with an
- optional descriptor so it is safe to remove.
- * Documentation/NuttShell.html: Command date is misspelled as data in
- chapter 2.12 Show or set the date and time (date). From Michał �yszczek
- (2019-05-01).
- * configs/same70-xplained/twm4nx/defconfig: Increase packet MTU to 1500.
- From Gregory Nutt (2019-05-03).
- * Fix build for battery gauge From Tom Kopriva (2019-05-03).
- * configs/same70-xplained/twm4nx/defconfig: Switch to 8BPP. That is the
- negotiated size requested by the VNC client anyway. From Gregory Nutt
- (2019-05-03).
- * graphics/vnc/server/vnc_color.c: Fix an error in color conversion. From
- Gregory Nutt (2019-05-03).
- * configs/lpcxpresso-lpc54628: Add a Twm4Nx configuration. From Gregory
- Nutt (2019-05-04).
- * arch/arm/src/common/up_initialize.c: up_initialize.c needs to know about
- ramlog_consoleinit() From Jason Harris (2019-05-04).
- * NX graphics: This commit adds support for hiding windows. This features
- is needed by Twm4Nx: When a window is iconified, the icon should appear
- on the background and the window should disappear (i.e., be hidden). The
- windows needs to remain healthy and to be updated in all ways, but it
- cannot affect the display content.
- Conversely, when the icon is clicked, the icon needs to be hidden on
- the background and the window needs to be restored in its current state
- (which may be different than the state of the window at the time it
- was iconified.
- From Gregory Nutt (2019-05-05).
- * arch/arm/src/stm32h7: Add missing parts for timer driver: Add the
- missing header files, add the driver Kconfig, and add it to make
- system. From Jukka Laitinen (2019-05-05).
- * configs/nucleo-h743zi/include/board.h: Add the input clock frequency
- definitions for all the drivers. Assumes internal clock source for all
- the timers. From Jukka Laitinen (2019-05-05).
- * arch/arm/src/stm32h7/stm32_tim.c: don't use hardcoded UIF interrupt
- From Mateusz Szafoni (2019-05-06).
- * Add missing files of BMP180 example for nucleo-l476rg From Fabian Justi
- (2019-05-06).
- * drivers/sensors/apds9960.c: Initial state of allocated structure was not
- being set. Noted by Leif Jacob. From Gregory Nutt (2019-05-06).
- * graphics/nxbe/nxbe_setvisibility.c: Fix a missed redraw command in last
- NX visibility changes. From Gregory Nutt (2019-05-06).
- * graphics/: Windows can now be created in the hidden state. This can be
- used to clean up initial window presentation which may involve several
- steps. This makes those steps all invisible until nx[tk]_setvisibility()
- is called to make the windows visible. From Gregory Nutt (2019-05-07).
- * libs/libnx/nxtk/nxtk_events: Fix an error in handling mouse events for
- framed windows. When drawing, NX may report mouse positions outside of
- the Window. The is only for NX windows, but the outside-the-side
- positions were being discarded by nxtk_events(). From Gregory Nutt
- (2019-05-07).
- * net/sixlowpan/sixlowpan_hc06.c: Correct an endian-ness problem in HC06
- decompression. From Ivan Ucherdzhiev (2019-05-08).
- * arm/src/lpc54xx/: Bring in the USB FS OHCI driver from LPC17. This is a
- quick'n'dirty port that I will finish sometime later (I hope).
- Currently, it is missing hardware clocking setup and is not even hooked
- into the build system yet. Needless to say it does not yet even
- compile. From Gregory Nutt (2019-05-08).
- * Documentation/NXGraphicsSubsystem.html: Add documentation for new
- nx[tk]_modal() and nx[tk]_setvisibility() interfaces. From Gregory Nutt
- (2019-05-08).
- * arch/arm/src/stm32f0l0: Initial ADC support and some improvements for
- the STM32 M0 From Mateusz Szafoni (2019-05-09).
- * configs/b-l072z-lrwan1: add ADC example From Mateusz Szafoni (2019-05-09).
- * graphics/: Add new NX interfaces to query if a window is hidden or not.
- From Gregory Nutt (2019-05-09).
- * libs/libnx/nxtk/nxtk_opentoolbar.c: Refuse to open a toolbar of height
- zero or less. From Gregory Nutt (2019-05-10).
- * graphics/nxbe/nxbe_getrectangle.c: Fix an error in coordinate system
- usage. Expected rectangle in device coordinate frame, but was passing
- the rectangle in window-relative coordinate frame. From Gregory Nutt
- (2019-05-10).
- * nrf24l01: don't block in read if file descriptor is O_NONBLOCK. Add
- support for "multicast" TX mode - no waiting for ACK (needs to be enabled
- with fcntl SETTXPAYLOADNOACK) From Leif Jakob (2019-05-11).
- * libs/libnx/nxmu/: Add a few bad input parameter checks.
- configs/lpcxpresso-lpc54628/twm4nx/defconfig: Need to enable the NX
- library. From Gregory Nutt (2019-05-12).
- * libs/libnx/nxglib/nxglib_intersecting.c: Correct bogus logic in
- nxgl_interesting. Good to know I was stupid then too and that is it not
- just a recent thing. From Gregory Nutt (2019-05-13).
- * arch/arm/src/stm32l4/stm32l4_usbdev.c: Add missing PWR USBV enable,
- correct two USB register bits From Juha Niskanen (2019-05-14).
- * arch/arm/src/stm32l4: Port HSI48 and CRS from STM32F0L0 From Juha
- Niskanen (2019-05-14).
- * arch/arm/src/stm32 and arch/arm/src/stm32f0l0: Port STM32F7 I2C to
- STM32F3 and STM32F0L0 From Mateusz Szafoni (2019-05-15).
- * configs/b-l072z-lrwan1: Add nxlines_oled example (ssd1306). Add support
- for the I2C tool From Mateusz Szafoni (2019-05-15).
- * configs/nucleo-f303ze: nxlines_oled example (ssd1306) From Mateusz
- Szafoni (2019-05-15).
- * graphics/: Fix an oversight in the implementation of per-window
- framebuffers. It is true that redraw callbacks can be suppressed for all
- cases ... EXCEPT ONE: When the window is resized to a larger size, then
- the newly exposed territory must be drawn for the first time. From
- Gregory Nutt (2019-05-16).
- * graphics/nxterm and configs/boardctl.c: Replace specific interfaces
- between boardctl and nxterm with a generalized IOCTL interface. From
- Gregory Nutt (2019-05-16).
- * graphics/nxterm: Add a new IOCTL that can be used to inform NxTerm that
- the size of a window has changed. From Gregory Nutt (2019-05-16).
- * configs/stm32f4discovery: Keep c++ global constructor symbols From
- Masayuki Ishikawa (2019-05-17).
- * arch/arm/src/stm32/Kconfig: simplify ARCH_HAVE_FPU selection and remove
- redundant options for F207 From Mateusz Szafoni (2019-05-17).
- * drivers/usbmisc: Add FUSB303 driver From Juha Niskanen (2019-05-17).
- * sched/signal/sig_default.c: The abnormal termination handler was just
- calling exit() conditionally when, for example, Ctrl-C is sent to a
- task. The abnormal termination handler must obey the rules of
- cancellation points: If cancelation is disabled, then the abnormal
- termination logic must wait for cancelation to be re-enabled; If
- cancellation is deffered then the abnormal termination logic may have to
- wait for the victim task to enter or exit a cancellation point. From
- Gregory Nutt (2019-05-17).
- * arch/arm/src/stm32f0l0: Add support for AES, RND, and HS148 for L0.
- Move HSI48 enable from stm32_usbdev.c to stm32xx_rcc.c From Mateusz
- Szafoni (2019-05-17).
- 7.31 2019-07-21 Gregory Nutt <gnutt@nuttx.org>
- * drivers/net/telnet.c: Handle ctrl events (SIGINT, SIGSTP). From
- Valmantas Paliksa (2019-05-21).
- * arch/arm/src/stm32/Kconfig: Correct some typos in conditional logic.
- From Maximilian Kriegleder (2019-05-21).
- * configs/stm32l476vg-disco and configs/stm32l4r9ai-disco: Fix an error in
- defconfig files because a line in the rcS file was longer than the
- configured NSH command line. From Juha Niskanen (2019-05-21).
- * arch/arm/src/stm32l4: Make STM32L4 CRS synchronization source board
- configurable.
- configs/nucleo-l432kc: Add new configuration settings to board.h
- configs/nucleo-l452re: ditto
- configs/nucleo-l496zg: ditto
- configs/stm32l476vg-disco: ditto From Juha Niskanen (2019-05-21).
- * configs/lpcxpresso-lpc54628: Add another Twm4Nx configuration for
- working out the new CONTEMPORARY theme. From Gregory Nutt (2019-05-21).
- * Removed all references to CONFIG_DISABLE_POLL. The standard POSIX poll()
- can no longer be disabled. From Gregory Nutt (2019-05-21).
- * Documentation/: Applies a stylesheet to static HTML files. I've also
- tried to put the TOC of each document to the side, where it made sense
- (in some documents the TOC was actually inside a section so it wasn't
- possible). In some cases the TOC is built with a table, in others with a
- <ul> element, so I had to accommodate for this. I also didn't go into
- collapsing, although this could really help for some long TOCs. From
- Matias N (2019-05-21).
- * configs: Change CONFIG_NSH_MACADDR to CONFIG_NETINIT_MACADDR From
- Masayuki Ishikawa (2019-05-22).
- * drivers/net/telnet.c: I/O thread now offloads reading from socket from
- client thread to the I/O thread. From Valmantas Palikša (2019-05-22).
- * arch/mips/src/mips32/up_vfork.c: Fix a copy-paste error. On vfork, the
- GP register was being set to the new SP value vs. the context GP value.
- NOTED in Bitbucket issue 155. From Gregory Nutt (2019-05-22).
- * graphics/nxbe/nxbe_raise.c: Fix a critical list handling bug in the
- graphics system. When a lower-level window was raised while a model
- window was in place, then list corruption could occur. From Gregory Nutt
- (2019-05-23).
- * Rename all arch/<family>/src/<chip>/chip to
- arch/<family>/src/<chip>/hardware. This eliminates a name collision that
- is usually harmless but does cause problems at the time. The problem is
- because the include path includes '.' and 'chip/.', therefore an
- inclusion like '#include <chip/mcu_header.h' can be ambiguous if a file
- named mcu_header.h exists in both at both arch/<family>/src/<chip>/chip
- and at arch/<family>/src/chip/chip From Gregory Nutt (2019-05-24).
- * arch/mips/src: Previous commit used CP0 register definitions that were
- not defined in the cp0.h header file. Probably these were from the
- Microchip hacked up GCC toolchain but are not generally available. Fix:
- Add definitions to NuttX cp0.h header file. From Gregory Nutt
- (2019-05-25).
- * mm/iob: Eliminate some warnings about testing the value of an undefined
- pre-processor variable. From Gregory Nutt (2019-05-25).
- * STM32F7 DTCM add procfs register From Daniel Agar (2019-05-25).
- * fs/procfs/fs_procfs.c: procfs_initialize() is used only within
- fs/procfs/fs_procfs.c and, hence, should be marked 'static'. From
- Gregory Nutt (2019-05-25).
- * configs/lpcxpresso-lpc54628: Modify the TWM configurations to properly
- inject keyboard data. This way, in the case of multiple NxTERMs, only
- the NxTerm at the top of the hierarchy gets the keyboard input.
- Otherwise, it is not possible to use multiple NxTerms with each the
- keyboard input going to a different NxTerm window. From Gregory Nutt
- (2019-05-26).
- * arch/arm/src/stm32f0: Initial support for STM32G0. From raiden00pl
- (2019-05-27).
- configs/: initial support for nucleo-g071rb. From raiden00pl (2019-05-27).
- * Here's a patch to split the STM32 FMC/FSMC functionality (FSMC = flexible
- static memory controller, FMC = flexible memory controller = FSMC + sdram
- support). This commit makes FMC it's own thing rather than piggy backing
- on the FSMC code. The peripherals have a few utility functions and this
- commits lets you have a common function in the arch/arm/src/stm32 rather
- than having duplicate functions in the board code. From Jason Harris
- (2019-05-27).
- * Rename STM32F0L0 to STM32F0L0G0 since it now also supports the STM32G0
- thanks to Mateusz Szafoni's contribution From Gregory Nutt (2019-05-27).
- * arch/arm/src/stm32/stm32_fsmc.h: Fix the include file guarding name in
- stm32/stm32_fsmc.h. From Jason Harris (2019-05-27).
- * Improvements for STM32 PWM
- arch/arm/src/stm32/stm32_pwm: add support for all PWM modes
- arch/arm/src/stm32/stm32_pwm: add interface to change PWM mode
- arch/arm/src/stm32/stm32_pwm: refactor pwm_mode_configure()
- arch/arm/src/stm32/stm32_pwm: STM32_PWM_CHANx corresponds to the timer
- channel and STM32_PWM_OUTx corresponds to the timer channel output
- arch/arm/src/stm32/stm32_pwm: add CHAN5 and CHAN6 to PWM_TIMx_NCHANNELS
- arch/arm/src/stm32/stm32_pwm: calculate the PWM_TIMx_NCHANNELS if
- CONFIG_STM32_PWM_MULTICHAN is selected From raiden00pl (2019-05-28).
- * arch/arm/src/stm32l4/stm32l4xrxx_rcc.c: Use Range 1 Boost mode if SYSCLK
- is higher than 80 MHz From Juha Niskanen (2019-05-28).
- * arch/arm/src/stm32l4/stm32l4_i2c.c: Add support for 16 and 120 MHz
- timings, board can use HSI16 clock for I2C From Juha Niskanen
- (2019-05-28).
- * configs/stm32l4r9ai-disco: Add ksh config, some updates for I2C, SPI and
- DFSDM support. From Juha Niskanen (2019-05-28).
- * This commit implements RS485 RX/TX switching and RTS/CTS flow control for
- the IMXRT family. It has been tested on 1020 but I don't see any reason
- for issues on any other family member. From Dave Marples (2019-05-30).
- * Make sure sections are aligned to 32-bits in all LD linker scripts. This
- fixes and issues noted specifically for the SAMD21 by Bernd Walter, but
- should be applicable to all other LD scripts as well.
- configs/: Add . = ALIGN(4); before every .data section
- configs/: Add . = ALIGN(4); before every ARM.extab section
- configs/: Add . = ALIGN(4); before every definition of __exidx_start
- configs/: Add . = ALIGN(4); before every .init_section.
- configs/: Convert TABs to spaces in all ld linker scripts. This just
- makes things easier to modify with scripts because the files are more
- consistent. From Gregory Nutt (2019-05-30).
- * arch/arm/src/stm32l4/stm32l4_hsi48.c: Enable CRS_CR_CEN with
- CRS_CR_AUTOTRIMEN From Jussi Kivilinna (2019-05-29).
- * arch/arm/src/stm32l4/stm32l4_pwr.c: Enable PWR peripheral for setting
- USV From Jussi Kivilinna (2019-05-29).
- * arch/arm/src/stm32l4/: Fix USB device PMA accesses. USB PMA accesses are
- done as 16-bit words on STM32L4 instead of 32-bit words on STM32L1. From
- Jussi Kivilinna (2019-05-29).
- * net/tcp/tcp_send_buffered.c: Fix deadlock in iob_copyin when iob buffers
- are exhausted and network lock is taken. From Valmantas Paliksa
- (2019-05-29).
- * arch/arm/src/stm32/Kconfig: Add MEDIUM_DENSITY selection. From Dave
- Marples (2019-05-31).
- * arch/arm/src/stm32/stm32_adc.c: The attached patch fixes a compilation
- error when verbose analog debugging is enabled for the stm32 adc: not all
- stm32s have an SQR4 register. From rajan gill (2019-05-31).
- * configs/lpcxpresso-lpc54628: Enable DATE command in twm4nx1 and twm4nx2
- configurations. From Gregory Nutt (2019-06-01).
- * Integrate support for the newest eZ80 ZDSII 5.3.0 toolchain. From
- Gregory Nutt (2019-06-02).
- * include/nuttx/net/bluetooth.h: Ignore content if CONFIG_NET_BLUETOOTH is
- not set. This is necessary because bt_hci.h content was previously
- commented out because it uses several compiler specific things include
- zero-dimensioned arrays and uint64_t. Neither are supported by the C89
- ZiLOG ZDS-II compiler. From Gregory Nutt (2019-06-02).
- * configs/axoloti: Adds initial support for the Axoloti sound/music
- synthesizer board. Board is based on STM32F427 SoC. See
- http://www.axoloti.com/. From Jason Harris (2019-06-02).
- * arch/z80/src: Fix eZ80 compile problems due to New ZDS-II toolchain and
- ongoing bit rot due to non-C89 code creeping into the core OS. From
- Gregory Nutt (2019-06-02).
- * configs: Fix included path used in all arch/z80 XDS-II builds (eZ80 and
- z8). From Gregory Nutt (2019-06-02).
- * arch/z16/src: Replicate build changes make for eZ80 and z8 for zneo.
- From Gregory Nutt (2019-06-02).
- * arch/z16/src/z16f/Kconfig and configs/z16f2800100zcog/scripts/Make.defs:
- Add support for the latest 5.2.1 version of the ZDS-II toolchain. From
- Gregory Nutt (2019-06-02).
- * net/usrsock: Fix debug logs and remove DEBUGASSERT from
- usrsockdev_do_request(). In a client mode, socket() will be the first
- request for usrsockdev_do_request(). However, in a server mode, the
- first request to accepted sockets will be recv() or others which depend
- on applications. So I think we should remove this DEBUGASSERT from
- usrsockdev_do_request(). From Masayuki Ishikawa (2019-06-03).
- * arch/arm/src/STM32H7: Port PWM from STM32 From raiden00pl (2019-06-03).
- * arch/arm/src/common/up_lwl_console.c: Add support for a 'Lightweight
- Link' protocol between a target and debugger for use when you need a
- console but the target doesn't have a spare serial port or other
- available resource. From Dave Marples (2019-06-03).
- * include/nuttx/signal.h: Fix a C89 compliance problem that cause the eZ80
- build to fail. Empty structure and unions are not accepted by the
- compiler. From Gregory Nutt (2019-06-03).
- * drivers/net/telnet.c: Fix a C89 non-compliance that was breaking the
- eZ80 build. From Gregory Nutt (2019-06-03).
- * libs/libc/stdio: Fix long long usage in all of the newer printf-related
- logic: The selection CONFIG_LIBC_LONG_LONG must be ignored if the
- architecture does not support long long types. From Gregory Nutt
- (2019-06-03).
- * mm/mm_heap/mm_sem.c: Fix error that occurs when CONFIG_CPP_HAVE_VARARGS
- is not defined. In that case, the arguments to the debug macro will all
- be evaluated even though they are not used any variables that are
- references must at least be defined. From Gregory Nutt (2019-06-03).
- * udp\udp_callback.c: Fix another C89 compatibility problem. Empty
- initializers are not permitted. Caused eZ80 build failure. From Gregory
- Nutt (2019-06-03).
- * configs/: Update configurations for changes to apps/netutils/netinit
- configuration. MAC address configuration was represented by type long
- long. That is a problem for architectures that do not support type long
- long. Replaces by two long configuration items. From Gregory Nutt
- (2019-06-03).
- * Fix several ZNeo compile issues. There are more. Pthreads: Fix a could
- of places where FAR was added when it is not appropriate. This matters to
- ZNeo which depends on definitions of NEAR and FAR points. From Gregory
- Nutt (2019-06-03).
- * include/nuttx/wqueue.h: Allow definitions even if work queues are not
- enabled. This solves build failures when work queues are not enabled.
- From Gregory Nutt (2019-06-03).
- * More ZNeo compile fixes: include/stdio.h: Another place where misuse of
- FAR makes a difference. include/nuttx/sched.h: Be consistent in use of
- WDOG_ID type. ZDS-II doesn't like auto-conversions of struct wdog_s * to
- WDOG_ID (which is type struct wdog_s *). From Gregory Nutt (2019-06-03).
- * Various fixes to get a clean compile with the SDCC compiler. Compile is
- 'almost' clean. From Gregory Nutt (2019-06-03).
- * Add initial support for the MakerLisp eZ80 board. Ref:
- https://makerlisp.com/ From Gregory Nutt (2019-06-04).
- * arch/arm/src/cxd54xx: Adds (1) the HW pin configuration, (2) GPIO
- support for cxd56xx, (3) GPIO interrupts, (4) clock support, (5) PMIC
- (Power management integrated circuit) support (6) add a simple FIFO
- scheduler that minimizes overhead, (6) Inter Core Communication. From
- Alin Jerpelea (2019-06-05).
- * arch/arm/src/cxd54xx: Add Package Configuration. The CXD56xx can come in
- FCBGA 185 pin or WLCSP 100 pin package. For each package we have to pick
- the right pin setup. The default configuration is set to FCBGA 185 pin
- package From Alin Jerpelea (2019-06-05).
- * drivers/sensor, include/nuttx/sensors: Add support for AS726X spectral
- sensor From Fabian Justi (2019-06-05).
- * configs/nucleo-l476rg/src/stm32_appinit.c: (1) Add I2C tool to board
- init, (2) Add support for AS726X spectral sensor From Fabian Justi
- (2019-06-05).
- * arch/arm/src/cxd54xx: (1) Add basic support for USB connectivity, (2) add
- SDHCI driver for the cxd56xx From Alin Jerpelea (2019-06-05).
- * configs/makerlisp/src/ez80_spi.c: Add hooks needed by SPI driver. Move
- SPI MMC/SD chip selected configuration from ez80_lowinit.c to here as is
- done in other NuttX architectures. This enables support for multiple
- devices on the SPI bus. From Gregory Nutt (2019-06-05).
- * configs/: Rename ZDS-II start files from xxx_lowinit.c to xxx_boot.c;
- rename board initialization logic from xxx_lowinit() to
- xxx_board_initialize(). These changes make the ZDS-II configurations
- more similar to board initialization conventions to used for other
- architectures. From Gregory Nutt (2019-06-05).
- * Documentation/NuttXCCodingStandard.html: Add a brief section summarizing
- the major differences between the NuttX C and C++ coding standards. This
- is a stop-gap measure in lieu of having a real C++ coding standard. From
- Gregory Nutt (2019-06-05).
- * drivers/sensors/as726x.c Fix little change from tools/indent.sh From
- Fabian Justi (2019-06-06).
- * arch/z80/src/eZ80/Make.defs: Fix some backward conditional logic From
- Gregory Nutt (2019-06-07).
- * arch/z80/src/eZ80: Integrate and verify the RTC driver From Gregory
- Nutt (2019-06-08).
- * nuttx/arch/z80/src: To properly follow the coding standard, the z80
- architecture common should up_mmuinit should be called
- z80_mmu_initialize; the z80 architecture common should up_loweserialinit
- should be called z80_lowserial_initialize; the z80 architecture common
- should up_serialinit should be called z80_serial_initialize; the z80
- architecture common should up_doirq should be called z80_doirq. From
- Gregory Nutt (2019-06-08).
- configs/z80sim/src/z80_serial.c: Remove unused function
- up_earlyserialinit(). From Gregory Nutt (2019-06-08).
- arch/z80/src/common: up_addregion() must be prototyped in
- nuttx/mm/mm.h, not up_internal.h. From Gregory Nutt (2019-06-08).
- * arch/z80/src: Rename up_doirq.c and up_internal.h to z80_doirq.c and
- z80_internal.h for better consistency with the naming conventions From
- Gregory Nutt (2019-06-09).
- * arch/arm/src/stm32/hardware/stm32f1xxx_pinmap.h: fix names for
- complementary PWM outputs From raiden00pl (2019-06-10).
- * libs/libc/time/lib_gmtimer.c: Spurious reorganization of a loop to work
- around and ZDD-II internal compiler error. Might be a little bigger now,
- but is also probably a more structured use of C. From Gregory Nutt
- (2019-06-10).
- * arch/arm/src/cxd56xx: add Power Management support From Alin Jerpelea
- (2019-06-10).
- * configs: Fix mac address settings for RNDIS. Recently
- CONFIG_NETINIT_MACADDR_2 and CONFIG_NETINIT_MACADDR_1 were newly
- introduced instead of CONFIG_NETINIT_MACADDR. This PR conforms to this
- change. From Masayuki Ishikawa (2019-06-11).
- * arch/arms/src/cxd56xx: (1) Add syscontrol, (2) Add the function to change
- the clock speed, (3) Add pinctrl and clock ctrl functionality. From Alin
- Jerpelea (2019-06-11).
- * stm32/stm32_pwm.c, STM32H7/stm32_pwm.c: fix pulsecount for the number of
- counts greater than 128 From raiden00pl (2019-06-12).
- * configs/spresense: (1) We are using the framework to initialize the CPU,
- (2) Enable PowerManager on spresense board, (3) Initialize the UART
- interfaces, (4) Enable clock management using the cxd56 framework, (5)
- Use timerisr on the spresense board, (6) Enable USBDEV on Spresense
- board, (7) Enable SD Card support on spresense board, (8) Enable Mass
- Storage on Spresense board From Alin Jerpelea (2019-06-12).
- * configs/makerlisp: Add Smart Flash Programmer project. From Gregory
- Nutt (2019-06-12).
- * ina3221: Adds INA3221_I2C_ADDRx macro helpers. From Anthony Merlino
- (2019-06-13).
- * drivers/mmcsd: Fixes bug where thread gets deadlocked due to recursive
- call and addresses comment regarding events. When initializing the
- MMCSD, if we are being told there is a card, but we fail to initialize
- it, we should not re-register for an insertion event as this will
- immediately cause us to call in again. Instead, we should register for a
- removal event and wait for the card to be removed and re-inserted. From
- Anthony Merlino (2019-06-13).
- * arch/arm/src/cxd56xx: Fix ep0 out packet handling in cxd56_usbdev.c. This
- change fixes to handle ep0 out packet which exceeds EP0_MAXSIZE. For
- example, 76 bytes of out packet is sent from RNDIS host during RNDIS
- negotiation and finally the packet is split into two out packets (64
- bytes out packet + 12 bytes out packet). To handle these packets, actual
- ep0reqlen is stored during ep0 out setup stage, and if all out packets
- are received, it dispatches to cxd56_ep0setup(), otherwise, it sets up
- the internal USB DMA to receive remaining out packets. From Masayuki
- Ishikawa (2019-06-13).
- configs/spresense: Add support for RNDIS configuration. From Masayuki
- Ishikawa (2019-06-13).
- * arch/arm/src/cxd56xx: Add SPI, DMA, and RTC support
- configs/spresense: Enable RTC functionality on spresense board From
- Alin Jerpelea (2019-06-13).
- * arch/arm/src/stm32l4: if SRAM3 is used as heap, do not power it off in
- stop 2 mode. From Juha Niskanen (2019-06-13).
- * configs/nucleo-l432kc: Shorten some long lines, fix i2c pinout in
- l432kc, add support for testing the ina219 current sensor. From
- Sebastien Lorquet (2019-06-13).
- * configs/spresense: Enable SPI Flash
- arch/arm/src/cdx56xx: (1) Group all CXD56xx Options in one menu, (2) Add
- Storage Options menu and Peripheral Support comment, (3) Add SPI Flash
- support From Alin Jerpelea (2019-06-13).
- * configs/stm32f4discovery/src/stm32_romfs_initialize.c: Missing colon in
- declaration of local variable. From Phil Coval (2019-06-13).
- * configs/nucleo-144: Add ROMFS support. Image was generated using
- genromfs tool. Tested on Nucleo-f767zi. From Phil Coval (2019-06-13).
- * STM32H7 Serial: Fix error when SINGLEWIRE or
- CONFIG_STM32H7_SERIALBRK_BSDCOMPAT defined. From David Sidrane
- (2019-06-13).
- * STM32H7 Timer: Fixed compile errors with TIM13, TIM14, TIM7. From David
- Sidrane (2019-06-13).
- * STM32H7 ADC: Added ADC Driver, ADC clocking. From David Sidrane
- (2019-06-13).
- * STM32H7x3: Added ADC pins to pin map. From David Sidrane (2019-06-13).
- * configs/nucleo-h743zi: Add ADC support. From David Sidrane (2019-06-13).
- * drivers/serial/serial.c: Limit the number of times that the poll
- semaphore is incremented. From Dave Marples (2019-06-13).
- * arch/arm/src/cxd56xx: Change cxd56_gpioint_config to handle argument.
- From Masayuki Ishikawa (2019-06-14).
- * configs/spresense: Apply API change of cxd56_gpioint_config(). From
- Masayuki Ishikawa (2019-06-14).
- * arch/arm/src/cxd56xx: Add support for PWM. Add Power Management PROCFS
- support. Add Timer driver. Add watchdog timer support.. From Alin Jerpelea (2019-06-14).
- * configs/spresense: Add SPI configuration for spresense board. Enable PWM
- support on spresense board; The powermanager procfs is disabled by
- default and need to be enabled by the CONFIG_CXD56_PM_PROCFS option.
- Timers can be used on the spresense board. Watchdog timer support also
- added. From Alin Jerpelea (2019-06-14).
- * configs/omnibusf4/src/stm32_bringup.c: Correct naming of a configuration
- variable for ROMFS. From Phil Coval (2019-06-15).
- * configs/stm32f4discovery/src/stm32_bringup.c: Correct naming of a
- configuration variable for ROMFS. From Phil Coval (2019-06-15).
- * stm32f4discovery/scripts/Make.defs: Fix .ARM.exidx section overlap
- Source: https://stackoverflow.com/questions/30778614/arm-none-eabi-ld-section-arm-exidx-overlaps-section-data
- From Alan Carvalho de Assis (2019-06-15).
- * configs/Board.mk: Cannot call $(AR) directly. That works only with
- GCC. It must, instead use the ARCHIVE command from Config.mk as do other
- Makefiles. From Gregory Nutt (2019-06-15).
- * configs/makerlisp: Use .ztgt files from MakerLisp. From Gregory Nutt
- (2019-06-15).
- * tools/ocdconsole.py: Fix small typo on ocdconsole.py script From Alan
- Carvalho de Assis (2019-06-15).
- * arch/arm/src/stm32f0l0g0: Fix STM32G0 error when SINGLEWIRE or
- SERIALBRK_BSDCOMPAT defined (it reflects previous changes in STM32H7)
- From raiden00pl (2019-06-16).
- * arch/z80/src/eZ80/ez80_vectors.asm: Fix a logic error in vector
- initialization From Gregory Nutt (2019-06-16).
- * configs/makerlisp/nsh/defconfig: Enable Procfs, RTC, SPI-based SD
- support, task name, NSH data command. Various fixes under
- arch/z80/src/eZ80 for a clean compile. From Gregory Nutt (2019-06-16).
- * arch/arm/src/cxd56xx: Fix cxd56_wdt.c in debug build From Masayuki
- Ishikawa (2019-06-17).
- * include/nuttx/wireless: Fix NRF24L01_NCMDS in ioctl.h. The last one in
- nrf24l01.h is _WLCIOC(NRF24L01_FIRST + 15) From Masayuki Ishikawa
- (2019-06-17).
- * arch/z80/src/eZ80/ez80_spi.c: Fix to SPI baud rate calculation. Driver
- now has timeouts so that at least it does not hang the system on
- startup. From Gregory Nutt (2019-06-17).
- * configs/makerlisp/nsh/defconfig: Enable STACKDUMP on assertion. From
- Gregory Nutt (2019-06-17).
- * configs/makerlisp/src/ez80_bringup.c: Fix an error that was causing
- MMC/SD to fail to initialize. From Gregory Nutt (2019-06-17).
- * arch/z80/src/eZ80: Add an RTC lower half driver. From Gregory Nutt
- (2019-06-17).
- * configs/pnev5180b: Minimal support for NXP Semiconductors' PN5180 NFC
- Frontend Development Kit. This board is based on the NXP LPC1769 MCU.
- At the moment there is just support for a minimal nsh configuration via
- UART0. From Michael Jung (2019-06-17).
- * arch/arm/src/cxd56xx: Add support to be able to read the HW UID. From
- Alin Jerpelea (2019-06-17).
- * configs/spresense: Add USERLED for spresense board. From Alin Jerpelea
- (2019-06-17).
- * drivers/wireless: Add support for Telit GS2200M Wi-Fi module From
- Masayuki Ishikawa (2019-06-18).
- * arch/arm/src/cxd56xx: Add Sensor Control Unit (SCU); Add I2C support;
- Add ADC interface support; Use DMAC for reading sensing data from SCU on
- cxd56xx chip,
- configs/spresense: Enable I2CDEV for spresense board. Add useful
- diagnostic LEDs on the speresense board. From Alin Jerpelea (2019-06-18).
- * tools/ocdconsole.py: OCD TCL interface changed after version 0.10 of
- OpenOCD. This change allows the script to work with both the older and
- newer TCL interface. From Dave Marples (2019-06-18).
- * arch/z80/src/eZ80: Correct setting of RTC time. From Gregory Nutt
- (2019-06-18).
- * arch/z80/src/eZ80/ez80_spi.c: Fix a poorly constructed loop that would
- lead to hangs. From Gregory Nutt (2019-06-18).
- * configs/spresense: Add support for Tilt GS2200M Wi-Fi module From
- Masayuki Ishikawa (2019-06-18).
- * configs/spresense: Remove SPI MMC/SD support and enable ADC support for
- spresense board, From Alin Jerpelea (2019-06-19).
- * drivers/usbhost: Remove duplicate const in usbhost files. From Adam
- Porter (2019-06-20).
- * STM32,F7,H7,L4 OTG FS/HS: Fix constant using in comparison to determine
- endpoint is interrupt type. From Adam Porter (2019-06-20).
- * drivers/sensors: Add driver support for the Bosch BMI160 Inertial
- Measurement sensor. This driver can be used with the BMI160 sensor
- connected over SPI or I2C bus
- configs/spresense: enable BMI160_I2C sensor over I2C on spresense board.
- From Alin Jerpelea (2019-06-20).
- * drivers/usbhost/usbhost_composite.c: I'm working on a CDC/ECM driver
- and in my driver's usbhost_cfgdesc() function I need access to the
- class-specific descriptors. Currently these are not available if the
- interface is part of a composite device, since only interface and
- endpoint descriptors are copied by usbhost_copyinterface(). This commit
- will also copy any class-specific interface descriptors for use in
- downstream class drivers. NOTE: There's one change that might be
- incorrect, where I skip interfaces with zero endpoints. I did this
- because my device has two consecutive interface descriptors with the same
- interface number, one for altsetting 0 with no endpoints, and another for
- altsetting 1 with 1 endpoint. The loop was aborting due to finding two
- interface descriptors back-to-back. From Adam Porter (2019-06-21).
- * STM32F7 GPIO: Add GPIO driver. Code is inspired from stm32f3discovery
- and nucleo-l476rg platforms. Tested on Nucleo-F767ZI. From Phil Coval
- (2019-06-21).
- * drivers/usbhost/usbhost_composite.c: The cfgdesc pointer was initialized
- after the buffer had been advanced, so it was not pointing where it
- should. The totallen operations at the end of the function ended up
- overwriting memory belonging to the first copied interface descriptor.
- From Adam Porter (2019-06-22).
- * configs/pnev5180b: Add usbnsh configuration. This is basically the same
- as the 'nsh' defconfig, but uses CDC/ACM as the NuttShell console
- device. From Michael Jung (2019-06-22).
- * STM32 USB OTG FS/HS Host: In stm32_ctrlout() in the HS and FS host
- drivers, the data buffer isn't sent. This patch passes the buffer and
- buflen to the stm32_ctrl_senddata() function. With this change, I am
- able to send MBIM control messages to my USB modem, and read the
- response. From Adam Porter (2019-06-23).
- * configs/makerlisp/src/sd_main.c: Add a tiny FLASH-resident loader that
- will load and start applications in Intel HEX format from an SD card.
- From Gregory Nutt (2019-06-23).
- * configs/spresense: Add I2CTOOL support and extend GPIO for future use;
- add delay support for cxd56xx chip; for development is useful to
- register I2C busses when the I2CTOOL is built; Enable GPIO interface on
- spresense board. From Alin Jerpelea (2019-06-24).
- * arch/arm/src/efm32/efm32_usbhost: Apply Adam Porter's STM32 fix to EFM32
- which has the same IP. From Gregory Nutt (2019-06-24).
- * arch/arm/src/cxd56xx: Add I2C character driver support. For testing
- purposes, we use the CXD56_I2C_DRIVER to register the /dev/i2c[]
- character devices. Add battery gauge and battery charger drivers. Add
- SPI-based SP card support. From Alin Jerpelea (2019-06-25).
- configs/spresense: Add use o the CXD56_I2C_DRIVER to register the
- /dev/i2c character devices. Enable battery gauge and battery charger
- support. From Alin Jerpelea (2019-06-25).
- * configs/makerlisp/src/sd_main.c: Correct some backward conditional
- compilation. From Gregory Nutt (2019-06-25).
- * configs/lc823450-xgevk: Remove CPU assignment for lpwork. This change
- will reduce audio underrun when running dvfs auto mode. From Masayuki
- Ishikawa (2019-06-26).
- * configs/spresense: Enable UID functionality. To enable the UID
- functionality for spresense board set BOARDCTL_UNIQUEID in menuconfig.
- From Alin Jerpelea (2019-06-26).
- * configs/spresense: Add USBDEV_SETNOTIFYSIG signal ID. Set signal ID for
- notify USB device connection status and supply current value. From Alin
- Jerpelea (2019-06-26).
- * configs/makerlisp: Bring in a new configuration to support execution
- entirely out of external SRAM. From Gregory Nutt (2019-06-26).
- * arch/arm/src/samd2l2/hardware/samd_tc.h: Correct register bit field
- definitions used with TC_CTRLBCLR and TC_CTRLSET registers. From Bernd
- Walter (2019-06-26).
- * libs/libc/misc/Make.defs: For platforms whose CPP tool does not support
- a variable number arguments to pre-processor macros, we may still need to
- build the debug functions even when CONFIG_DEBUG_FEATURES is not
- selected. For example, __alert() may be needed if CONFIG_ARCH_STACKDUMP
- is set. From Gregory Nutt (2019-06-26).
- * configs/makerlisp: Add an sdboot configuration that will load .hex files
- from the SD card. From Gregory Nutt (2019-06-26).
- * configs/spresense/wifi: App config for gs2200m has been changed From
- Masayuki Ishikawa (2019-06-27).
- * arch/arm/src/cxd56xx: Add EMMC support for cxd56xx chip From Alin
- Jerpelea (2019-06-27).
- * arch/arm/src/STM32H7: Ported the QEncoder from F7 to H7. From Eduard
- Niesner (2019-06-27).
- * configs/makerlisp/scripts: Add a linker script to support copying the
- NuttX image from FLASH into external SRAM. From Gregory Nutt (2019-06-27).
- * configs/pnev5180b/nsh-cdcecm: Adds NSH configuration with UART0 and eth0
- via CDC/ECM on USB device. From Michael Jung (2019-06-28).
- * arch/arm/src/STM32H7/hardware/stm32_ethernet.h: Correct ETH_MACMDIOAR.
- Correct the physical layer address bits in ETH_MACMDIOAR register. From
- Jukka Laitinen (2019-06-28).
- * arch/mips/src/pic32mz/pic32mz-gpio.c: Use LAT instead of PORT when
- writing. From Ouss4 (2019-06-28).
- * arch/mips/src/pic32mz: Add DMA support. From Abdelatif Guettouche
- (2019-06-28).
- * configs/olimex-stm32-e407/src: Change initialization to match the way it
- is done with other boards. From Gregory Nutt (2019-06-28).
- * sched/semaphore/sem_holder.c: Fix a bad assertion. The comments state
- correctly that we cannot make any assumptions about the number of holders
- of the semaphore, yet the code asserts if there are any holders. This
- makes the code behave closer to what the comments say. From Gregory Nutt
- (2019-06-28).
- * configs/pnev5180b/nsh-cdcecm/defconfig: CDC/ECM requires SCHED_LPWORK
- From Gregory Nutt (2019-06-29).
- * Various Kconfig files: Kconfig files should not select SCHED_WORKQUEUE
- since that is really only is only the logical OR if SCHED_LPWORK and
- SCHED_HPWORK. Selecting it has no effect other than to produce an
- erroneous configuration. From Gregory Nutt (2019-06-29).
- * nrf24l01: Fix PIPENO/PKTLEN bitmask in rx fifo header. In RX fifo
- header, the first byte should use 5 lsb to store PKTLEN and 3 msb to
- store PIPENO. However, FIFO_PIPENO_SHIFT was set to 4 which causes the
- lsb of pipe number to interfere with the received packet size stored in
- the fifo. This fix rx corruption when using pipe number > 0. From
- Federico Braghiroli (2019-06-29).
- * configs/pnev5180b/usbnsh-cdcecm: This new configuration includes a USB
- Composite Device with both CDC/ACM and CDC/ECM. NuttShell provides a
- terminal via CDC/ACM. A network interface (eth0) is provided via
- CDC/ECM. From Michael Jung (2019-06-29).
- * tools/nxstyle.c: Tool depends on the file under test containing "Private
- Functions" or "Public Functions" block comments. Emit an error is
- neither are present in a C source. From Gregory Nutt (2019-06-29).
- * tools/nxstyle.c: Bandaid-up logic that detects left brackets on the same
- line in global structure/enumeration types and initializers. From
- Gregory Nutt (2019-06-29).
- * arch/arm/src/imxrt/imxrt_ehci.c: Add i.MXRT ECHI driver. From Dave
- Marples (2019-06-29).
- * include/nuttx/net/netconfig.h: Fix warning '__MAX_UDP_MSS macro
- redefined' From Adam Porter (2019-06-30).
- * configs/stm32f4discovery/kernel/Makefile: Fix a problem with undefined
- symbol 'abort' from GCC library. Fix by moving libgcc into recursive
- archive group between --start-group and --end-group. Other
- kernel/Makefiles suffer from this same issue From Gregory Nutt
- (2019-06-30).
- * tools/nxstyle.c: Fix error in conditional logic that was preventing
- detection bad brace alignment. Add logic to handle alignment of braces
- in data initializators which following slightly different indentation
- rules. From Gregory Nutt (2019-06-30).
- * tools/nxstyle.c: No warning for declarations that begin in column 1
- within 'extern "C"'. This is because the 'extern "C"' is conditioned on
- __cplusplus so the declarations are not normally indented. From Gregory
- Nutt (2019-06-30).
- * libs/libc/netdb: Implemented the netdb functions getnameinfo(),
- getservbyport(), and getservbyport_r(). From Michael Jung (2019-06-30).
- * configs/pnev5180b/src/lpc17_romfs: pnev5180b/src/lpc17_romfs: Automount
- baked-in ROMFS image. Includes support for linking a binary ROMFS image
- into the nuttx executable and for mounting it during board bringup. From
- Michael Jung (2019-06-30).
- * drivers/usbdev/usbmsc: Fix usbmsc_exportluns declaration. Fixes the
- following error "...undefined reference to `usbmsc_exportluns'". From
- Alin Jerpelea (2019-07-01).
- * configs/spresense: Register the procfs in the NSH configuration. This
- is a configuration change in sync with the other ones. Enable
- READLINE_CMD_HISTORY, enable by default SPI 4 and 5, and enable SPI to
- keep all configurations in sync. From Alin Jerpelea (2019-07-01).
- * net/inet: Fix tcp active close in inet_close.c. In previous
- implementation, FIN packet was not sent when a socket is actively closed
- (e.g. telnetd or webserver) without SO_LINGER. This issue happens
- because the socket closing sequence waits for the status.cl_sem only if
- lingering timeout is set. However, in many server use-cases, SO_LINGER is
- not usually set and even in these cases, FIN packet must be sent
- correctly. This changes the logic in inet_close.c so that it can wait
- for status.cl_sem regardless of SO_LINGER. Instead, if SO_LINGERis set,
- it waits for the semaphore with timeout option. From Masayuki Ishikawa
- (2019-07-01).
- * net/inet/inet_close.c: Last change removed SO_LINGER socket option
- functionality. SO_LINGER was always enabled is CONFIG_NET_SOLINGER was
- selected. This change implements a proper version of SO_LINGER. It is
- based on new logic to drain the buffered TX data, integrated with network
- event notification system. Supports notification when UDP or TCP write
- buffer becomes empty. From Gregory Nutt (2019-07-01).
- * configs/spresense: Add support for MSC and USB Composite device. Adds
- usbmsc configuration. Spresense board does not have buttons and but a
- template for gpio buttons that can be connected on the external header
- From Alin Jerpelea (2019-07-02).
- * drivers/wireless: Fix a passive close when sending a packet in gs2200m.c
- From Masayuki Ishikawa (2019-07-03).
- * arch/arm/src/tiva: Add a workaround for tiva with qemu. With qemu,
- tiva_ifup() hangs because ethernet link status can not be set correctly.
- This PR is a workaround to avoid this issue. From Masayuki Ishikawa
- (2019-07-03).
- * arch/arm/src/cxd56xx: Add driver for hardware image processor device to
- enable the hardware image processor set CXD56_GE2D=true. From Alin
- Jerpelea (2019-07-03).
- * drivers/lcd: Add ILI9340 LCD Single Chip Driver. Required LCD driver
- settings: LCD_MAXCONTRAST should be 255, but any value >0 and <=255 will
- be accepted. LCD_MAXPOWER should be 1: 0=off, 1=on. From Alin Jerpelea
- (2019-07-03).
- * drivers/lcd: Add JDI LPM013M091A LCD Driver. From Alin Jerpelea
- (2019-07-03).
- * configs/spresense: Add support for lpm013m091a LCD, add support for
- ili9340 LCD, add a new configuration to support an LCD. From Alin
- Jerpelea (2019-07-03).
- * arch/arm/src/stm32f7/stm32_serial.c: This adds the ability to invert and
- swap RX/TX on STM32F7 UARTs. I added the TIOCGINVERT as well to reserve
- the IOCTL number, but did not implement it. This is the same as for
- TIOCGSINGLEWIRE. From Beat Küng (2019-07-03).
- * arch/arm/src/imxrt/imxrt_usdhc.c: Implements SDIO and Multi-card support
- for i.MX RT. From Dave Marples (2019-07-03).
- * STM32H7 Serial: Add TIOCSINVERT and TIOCSSWAP ioctls. Ensure
- TIOCSSINGLEWIRE is atomic and UE disabled. From Beat Küng (2019-07-03).
- * STM32L4 Serial: Add TIOCSINVERT and TIOCSSWAP ioctls
- * i.MX RT: Add TIOCSINVERT ioctls. From Beat Küng (2019-07-03).
- * arch/arm/src/am335x: Add clock module registers definition. Switch to
- DMTIMER1 for systick. From Petro Karashchenko (2019-07-03).
- * arch/arm/src/cxd56xx: Fix DMA initialization in cxd56_dmac.c.
- up_dma_initialize() must be used instead of up_dmainitialize(). From
- Masayuki Ishikawa (2019-07-04).
- * drivers/wireless: Introduce CONFIG_WL_GS2200M_SPI_FREQUENCY. Also,
- changed usleep(100) to up_udelay(100) to avoid invalid response. From
- Masayuki Ishikawa (2019-07-04).
- * configs/spresense/wifi: Improve performance for webserver: (1) Enable
- SPI DMA for both TX and RX, (2) Increase SPI clock speed from 4MHz to
- 10MHz, (3) Increase buffer size for sendfile() from 512B to 1KBm abd (4)
- Enable sendfile() for webserver. From Masayuki Ishikawa (2019-07-04).
- * tools/mkexport.sh: The mcu sub-directory chip/ was renamed to hardware/
- in late May of 2019. The mkexport.sh script that copies these files was
- not updated, however, until now. Noted by Alin Jerpelea. From Gregory
- Nutt (2019-07-04).
- * drivers/video: Add basic Video Stream and Capture implementation based
- on the spresense SDK code release From Alin Jerpelea (2019-07-04).
- * drivers/video: Add support for ISX012 Image sensor.
- arch/arm/src/cxd56xx: Add cisif support to be able to use cameras. From
- Alin Jerpelea (2019-07-04).
- * arch/arm/src/imxrt: Fix serial TIOCSINVERT From David Sidrane
- (2019-07-04).
- * arch/arm/src/imxrt: USDHC Stopgap Fix for build breakage From David
- Sidrane (2019-07-04).
- * configs/spresense: add mpy defconfig From Alin Jerpelea (2019-07-05).
- * arch/arm/src/STM32H7/stm32_spi.c: Correct a typo in condition
- compilation. From Jonathan Richner (2019-07-05).
- * arch/arm/src/kinetis: Add uart signal inversion support From Beat Küng
- (2019-07-05).
- * Documentation/NuttXCCodingStandard.html: Update requirements for
- indenting C pre-processor statements. From Gregory Nutt (2019-07-05).
- * arch/arm/src/am335x/hardware: Add register description files for DCAN
- and LCD. From Petro Karashchenko (2019-07-06).
- * net/icmpv6/icmpv6_autoconfig.c: Use ntohs() to convert IPv6 address from
- network to host order int network debug output. From Bernd Walter
- (2019-07-06).
- * configs/spresense: Update defconfigs RNDIS and wifi. Enable RTC and
- webserver with directory listing support. Also, changed start
- year/month/day for NuttX 2019. From Masayuki Ishikawa (2019-07-06).
- * arch/arm/src/am335x/hardware: Add register description files for I2C
- (plus various improvements to the WDOG register definitions) From Petro
- Karashchenko (2019-07-06).
- * arch/arm/src/am335x/hardware: Add register description files for MCSPI.
- From Petro Karashchenko (2019-07-06).
- * Documentation/NuttXCCodingStandard.html: Another small change
- discouraging the practice of enclosing the value argument of 'return'
- statements in parentheses. From Gregory Nutt (2019-07-06).
- * configus/nucleo-144: Add reset feature. Code is derives from
- configs/stm32f4discovery/src/stm32_reset.c. It can be enabled using
- CONFIG_BOARDCTL_RESET From Phil Coval (2019-07-07).
- * video/edid/: Add some initial EDID logic ported from FreeBSD. From
- Gregory Nutt (2019-07-07).
- video/: Add basic configure and build support for a video subsystem.
- From Gregory Nutt (2019-07-07).
- * arch/arm/src/am335x/hardware/am335x_cm.h: Fix a typo in a macro name.
- From Gregory Nutt (2019-07-07).
- * arch/arm/src/imxrt: Implements USDHC1 & 2 selection on the imxrt. If
- only one port is active (either 1 or 2) it will always be numbered as 0,
- if both are active then USDHC1 will be number 0, USDHC2 will be 1. From
- Dave Marples (2019-07-07).
- * video/edid/edid_sort.c: Add logic to sort video modes by how close they
- are to the preferred mode. This is part of the logic to pick the best
- possible video mode. From Gregory Nutt (2019-07-07).
- * tools/: Add spk binary format. The .spk binary format is used on
- spresense and other boards based on the cxd56 arch. to enable this
- binary format please set in your config CONFIG_CXD56_BINARY=y. From Alin
- Jerpelea (2019-07-08).
- * config/spresense: Build nuttx.spk images. Enable nuttx.spk binary image
- that can be flashed on spresense board. From Alin Jerpelea (2019-07-08).
- * configs/spresense: Add entry point for mpy. The entry point is needed
- for the downstream projects based on spresense. From Alin Jerpelea
- (2019-07-08).
- * configs/nucleo-h743zi/src/stm32_spi.c: Correct typos in function
- naming. From Jonathan Richner (2019-07-08).
- * arch/arm/src/am335x/hardware/am335x_lcd.h: Fix a few typos. Add things
- needed by the LCDC driver. From Gregory Nutt (2019-07-08).
- * This change brings in an initial LCD driver sof the AM335x architecture.
- This is a work in progress and so depends on EXPERIMENTAL. The code is
- nearly compete, missing some clock configuration settings. It does yet
- even compile properly. From Gregory Nutt (2019-07-08).
- * arch/arm/src/am335x: Add logic to map the framebuffer to a non-cached,
- non-buffered memory region. From Gregory Nutt (2019-07-08).
- arch/arm/src/am335x: Remove struct am335x_fbinfo_s. Replaced with
- configuration settings that provide the same information. From Gregory
- Nutt (2019-07-08).
- * arch/arm/src/am335x/am335x_sysclk.c: Add a function to return a
- frequency of the system clock. From Gregory Nutt (2019-07-08).
- * arch/arm/src/am335x/am335x_lcdc.c: Add logic to get/set the module
- reference clock. Still one more clocking interface to do. From Gregory
- Nutt (2019-07-08).
- * configs/beaglebone-black/lcd/defconfig: Add a configuration for bringing
- up the LCDC driver. From Gregory Nutt (2019-07-08).
- * tools/: Add flash_writer for cxd56 boards. This flash writter is using
- the xmodem for firmware transfer for flashing please use:
- 'tools/flash_writer.py -s -c /dev/ttyUSB0 -d -b 115200 -n nuttx.spk'
- From Alin Jerpelea (2019-07-09).
- * Update COPYING file. Tools in the tools/ directory are not intended for
- binary redistribution and may not all conform to BSD licensing. From
- Gregory Nutt (2019-07-09).
- * On the LPC1769 there are two 16 KiB AHB SRAM blocks, which are mapped
- back to back at physical address 0x2007C000 and 0x20080000 (i.e. right
- below and right above a 512 KiB boundary). Memory from those two blocks
- is considered continuous when assigned to a heap. In the protected build
- mode, when the memory protection unit is used, though, it must be split
- into two MPU regions. This is because MPU regions must be naturally
- aligned, and the 32KiB continuous address space of the two 16KiB AHB SRAM
- blocks does not start at an address divisible by 32KiB. The only other
- configurations that use protected build mode on lpc17xx are currently
- open1788/knsh and open1788/knxterm. The LPC1788 has the AHB SRAM blocks
- mapped more sanely (from an MPU region point of view), which is probably
- why no problems emerged here. Both still compile with my change and
- other than wasting an MPU region (which would otherwise remain unused)
- should work fine. That said, I have no hardware to confirm. From
- Michael Jung (2019-07-09).
- * configs/pnev5180b/knsh: Add PROTECTED mode configuration with
- NuttShell. From Michael Jung (2019-07-09).
- * configs/beaglebone-black/src/am335x_lcd.c: Framework (only) for TDA19988
- and LCD support for Beaglebone Black. Can't use TDA19988 yet because
- there is no I2C driver. In the mean time, support LCD initialization
- using a fixed, configurable video mode. From Gregory Nutt (2019-07-09).
- * arch/arm/src/am335x/hardware/am335x_prcm.h: Rename am335x_cm.h to
- am335x_cm.h. From Petro Karashchenko (2019-07-09).
- * arch/arm/src/am335x: Changes related to Control Module From Petro
- Karashchenko (2019-07-09).
- * arch/arm/src/am335x/Kconfig: Remove unused configuration settings left
- over from original copy-paste. From Gregory Nutt (2019-07-09).
- * drivers/wireless: Add channel parameter for AP mode in gs2200m.c From
- Masayuki Ishikawa (2019-07-10).
- * drivers/sensors: Add Bosch BMP280 Barometic pressure sensor connected
- over I2C bus
- drivers/sensors: Add Asahi AK09911/AK09912 compass sensor over I2C bus
- From Alin Jerpelea (2019-07-10).
- * syscall/: Adapt the conditional compile logic on when to include the
- vfork() syscall proxy and stub to the logic used for vfork() itself.
- From Michael Jung (2019-07-10).
- * configs/olimex-stm32-e407/src/stm32_spi.c: Add SPI initialization
- logic. From uan Flores (2019-07-10).
- * drivers/sensors/vl53l1x.c: Added support for VL53L1X TOF sensor. From
- Juan Flores (2019-07-10).
- * drivers/lcd/tda19988.c: Now uses the new common videomode structure of
- include/nuttx/video/videomode.h as do other video components. From
- Gregory Nutt (2019-07-10).
- * video/, include/nuttx/video/videomode.h: Separate EDID and from
- videomode management. They really are separate things. From Gregory
- Nutt (2019-07-10).
- * video/edid: Add debug functions to dump the EDID and videomode content.
- From Gregory Nutt (2019-07-10).
- * viedo/videomode: Rename video/edid to video/videomode. There is more
- there than just EDID but it is all basically videomode stuff. From
- Gregory Nutt (2019-07-10).
- * video/videomode/vesagtf.c: Bring VESA Generalized Timing Formula (GTF)
- from FreeBSD. From Gregory Nutt (2019-07-10).
- * video/videomode/videomode_lookup.c: At some additional lookups from
- FreeBSD. Not currently used in NuttX so ifdef'ed out for now. From
- Gregory Nutt (2019-07-10).
- * configs/spresense: Enable internal flash storage for spresense boards.
- The smartfs flash is mounted under /mnt/spif folder. From Alin Jerpelea
- (2019-07-11).
- * configs/spresense: For compatibility with SDK we need to change the
- USER_ENTRYPOINT in all configurations to spresense_main(). From Alin
- Jerpelea (2019-07-11).
- * include/cxx/cstddef: Add C11++ std::nullptr_t From junmin-kim
- (2019-07-11).
- * configs/olimex-stm32-e407: Added BMP180 initialization and a
- configuration to test the BMP180. From Juan Flores (2019-07-11).
- * include/nuttx/spi/spi.h: Added standard definitions for ADC SPI device
- ID. From Daniel P. Carvalho (2019-07-11).
- * arch/arm/src/lpc17xx_40xx and configs/: Add support for LPC40xx family
- chips. Renamed LPC17XX to LPC17XX_40XX in directory, configuration, file
- names, etc., as appropriate. Corrected a few peripheral definitions and
- pin functions for the LPC17xx family. Added configuration options, chip
- definitions, and additional pin functions for the LPC40xx family.
- configs/lpc4088-devkit/: Added board configuration for Embedded Artists
- LPC4088 Developer's kit. From jjlange (2019-07-11).
- configs/lpc4088-devkit/: Added board configurations for Embedded Artists
- LPC4088 Quickstart board. From jjlange (2019-07-11).
- * include/fixedmath.h: Regarding the single precision float to/from fixed
- point conversions in fixedmath.h, I believe the floating point literals
- should be appended with the letter 'f' to avoid (expensive) conversions
- from single to double precision, and thereby also avoid (expensive if
- done in SW) double point arithmetic (which is what is happening upon
- inspection of my disassembly). From rajan gill (2019-07-11).
- * arch/arm/src/lpc11xx, arch/arm/include/lpc11xx,
- configs/lpcxpresso-lpc1115: Support for the LPCXpresso-LPC1115 and for
- the LPC1115 architecture in general was removed after NuttX-7.30. The
- LPC11 port was never really used (to my knowledge) and was no longer
- supported. A snapshot of the port is still available in the Obsoleted
- repository. It can be brought back into the main repository at any time
- if anyone is willing to provide support for the architecture. From
- Gregory Nutt (2019-07-11).
- * configs/spresense: Fix and refactor cxd56_leds.c From Masayuki Ishikawa
- (2019-07-12).
- * arch/arm/src/cxd56xx: Add GNSS device, add Geofence Support, add UART0
- interface. UART0 is an interface with hardware flow control in the
- application subsystem. From Alin Jerpelea (2019-07-12).
- * configs/spresense: path correction. From Alin Jerpelea (2019-07-12).
- * configs/olimex-stm32-e407: Add DAC support, add IN219 support, add timer
- driver support. From Juan Flores (2019-07-12).
- * arch/arm/src/stm32/Kconfig: Add the missing STM32 LCD Clock Source
- Selections. From Alan Carvalho de Assis (2019-07-13).
- * include/sys/syscall.h: Fixed SYS_mount syscall define when
- CONFIG_FS_READABLE is undefined. From Joao Matos (2019-07-13).
- * configs/stm32f769i-disco/src/stm32_pwm.c: Enable PWM support for
- stm32f769i-disco board. From Gregory Nutt (2019-07-13).
- * arch/arm/src/imxrt: Fix compiler error for CONFIG_IMXRT_USDHC1 &&
- !CONFIG_IMXRT_USDHC2 From David Sidrane (2019-07-13).
- * arch/arm/src/STM32H7/stm32_ethernet.c: Fix typo in define. From
- Pierre-Olivier Vauboin (2019-07-16).
- * tools/flash_writer: license change. license update for project
- compliance From Alin Jerpelea (2019-07-17).
- * configs/stm32ldiscovery/: Add button support for stm32Ldiscovery. Add
- chronometer board config. From Alan Carvalho de Assis (2019-07-17).
- * configs/olimex-stm32-e407: Add support for MRF24J40 radio. From Gregory
- Nutt (2019-07-18).
- * configs/makerlisp/src/ez80_boot.c: The VGA display controller and
- keyboard controller come up by default emulating a terminal with 'newline
- mode' on. That is newlines expance to carriage-return, newline. This
- patch turns that mode off. From Gregory Nutt (2019-07-20).
- * configs/tm4c1294-launchpad/tools/oocd.sh: Fix syntax error. From Nathan
- Hartman (2019-07-20).
- * sched/sched/sched_waitpid.c: In waitpid, remember to grab the exited
- child ptr. After being unblocked in waitpid, the child pointer might be
- NULL. Modify to use group_exitchild to get the pointer of recent exited
- child. From Yang ChungFan (2019-07-20).
- 8.1 2019-09-14 Gregory Nutt <gnutt@nuttx.org>
- * arch/arm/src/sam34/Kconfig: Add missing DMA configuration setting.
- From Bernd Walter (2019-07-21).
- * arch/mips/src/pic32mz/pic32mz-spi.c: Fix SPI Mode selection. CKE is
- the inversion of the CPHA. From Ouss4 (2019-07-21).
- * drivers/mtd/sst26.c: Accept the 16MBit Flash when reading the JEDEC-ID
- at init. From Ouss4 (2019-07-21).
- * arch/mips/src/pic32mz/pic32mz-config.h: Make the PLL input clock
- configurable. From Ouss4 (2019-07-21).
- * STM32F7: Fixes bad preprocessor logic preventing USB OTG HS to work
- when used without external ULPI. From Anthony Merlino (2019-07-22).
- * arch/arm/src/imxrt/imxrt_lpi2c.c: Slave addresses are now correctly
- shifted when sending start. TX/RX FIFOs now discarded on error to
- prevent FIFO underflow errors. Fixes error checking to use priv
- structure and removes checking of BBF flag as it is not an error. From
- Nicholas Chin (2019-07-23).
- * configs/nucleo-l432kc/src/stm32_gpio.c: Added GPIO drivers for use
- with /apps/examples/gpio. From Daniel P. Carvalho (2019-07-23).
- * configs/nucleo-l432kc: Added Zero Cross sensor to nucleo-l432kc. From
- Daniel P. Carvalho (2019-07-23).
- * drivers/usbdev/rndis: Fixes issue with DEBUGASSERT when using composite
- device and endpoint numbers not being the default. From Anthony
- Merlino (2019-07-23).
- * libs/libc/stdio/lib_libvsprintf.c: Add support for the size_t integer
- qualifier 'z'. This is kind of tricky due the variety of
- sizeof(size_t) on different platforms. From David Sidrane (2019-07-24).
- * gs2200m with udp
- - include/nuttx/wireless: Add udp support to gs2200m.h
- - drivers/wireless: Add WL_GS2200M_DISABLE_DHCPC to Kconfig
- - drivers/wireless: Add udp support to gs2200m.c
- - configs/spresense/wifi: Enable smartfs and udp support
- From Masayuki Ishikawa (2019-07-25).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_i2c.c: Abort I2C transfers if a
- timeout has occurred. If a timeout has occurred in the middle of a I2C
- transfer, the next I2C interrupt should abort any transfers and send a
- stop condition to the corresponding I2C bus. Failure to do so will result
- in memory corruption / undefined behavior as priv->msgs points to a
- region of memory it doesn't owns anymore after lpc17_40_i2c_start
- returns. From Augusto Fraga Giachero (2019-07-25).
- * configs/tm4c1294-launchpad/src/tm4c_bringup.c: Enables /dev/userleds
- for tm4c1294-launchpad by calling userled_lower_initialize() in
- tm4c_bringup(). From Nathan Hartman (2019-07-25).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_i2c.c: Calculate the appropriate
- timeout for I2C transfers. Depending on the bus frequency and transfer
- size, I2C transactions can take quite a bit, so a fixed timeout is not a
- good solution. Calculating the timeout at run time poses some overhead
- but still better than aborting long transactions. From Augusto Fraga
- Giachero (2019-07-25).
- * net/udp: Remove net stack dependency from CONFIG_NET_BROADCAST. This
- change allows us to use CONFIG_NET_BROADCAST without network stack. (i.e.
- usrsock application can use broadcast) From Masayuki Ishikawa
- (2019-07-26).
- * STM32F7: If there is only one SDMMC it is slot 0 From David Sidrane
- (2019-07-26).
- * drivers/mtd/mx25rxx.c: add support for 512B sectors
- - Fix for mx25rxx driver as it does not work properly
- - Add mx25rxx memory chip and smartfs support in b-l475e-iot01a/nsh
- config
- - Update smartfs smart_scan() function From Simon Piriou (2019-07-26).
- * configs/nucleo-l432kc: ADC: Change analog pins definitions and
- correct DMA related issue. From Daniel P. Carvalho (2019-07-27).
- * net/tcp and udp: Fix errors in the new implementation of SO_LINGER.
- The tcp_drain() and udp_drain() functions were casting the working
- argument to the wrong type, resulting in hangs and abnormal behavior.
- There is a complexity in the tcp drain logic when the remote peer
- closes the socket before all Tx data has been flushed. Sometimes we
- are not notified of this case and wait the entire timeout
- unnecessarily. There is a workaround in place in tcp_txdrain(), but
- this really should be revisited. From Gregory Nutt (2019-07-27).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Set speed back to
- 10Mbps if 10Mmbps link negotiated. From Augusto Fraga Giachero
- (2019-07-27).
- * i.MXRT USDHC: This change completes SDIO support for IMXRT, and also
- adds support for WiFi using the AP6212A module based on Simon Piriou's
- rather excellent work. The patch should also address DavidS's concern
- about width setting for USDHC1 and 2. Testing of the WiFi is minimal
- so far but functionality is proven. I'm specifically not happy that
- the driver doesn't recover elegantly from a DMA data checksum failure,
- but that is an issue that can be dealt with in due course ... I'm
- trying to get the rest of the interfaces fleshed out and the hardware
- proven so it can go for pre-production build. I _think_ there's only
- Bluetooth and USB-device left to implement now. From Dave Marples
- (2019-07-28).
- * arch/arm/src/imxrt/imxrt_clockconfig.c: Enable TRACE clocks if the
- divider has been defined in the board's board.h file. From Dave
- Marples (2019-07-28).
- * net/udp/udp_txdrain.c: Add missing header file. From David S. Alessio
- (2019-07-29).
- * sched/semaphore/sem_holder.c: Fix a race in telnet with
- PRIORITY_INHERITANCE and SCHED_HPWORK. Sometimes causes an assertion
- to fire incorrectly. From David S. Alessio (2019-07-29).
- * include/netinet/in.h: Rename __pad member to sin_zero in struct
- sockaddr_in. Libwebsockets initializes the 'sin_zero' member of
- sockaddr_in objects to zeros. Apparently, judging from mailing list
- entries, there are platforms on which not doing this causes undefined
- behavior. On NuttX compiling respective code is broken, as the
- corresponding member variable is called '__pad'. Neither in the
- 'nuttx' nor in the 'apps' repository did I find any reference to this
- identifier. Thus, I believe its a safe bet to just rename it. UNIX
- Network Programming states in this regard: "The POSIX specification
- requires only three members in the structure: sin_family, sin_addr, and
- sin_port. It is acceptable for a POSIX-compliant implementation to
- define additional structure members, and this is normal for an Internet
- socket address structure. Almost all implementations add the sin_zero
- member so that all socket address structures are at least 16 bytes in
- size." From Michael Jung (2019-07-29).
- * arch/arm/src/tiva: Rename TM4C123GH6PMI identifiers to TM4C123GH6PM.
- Rationale: In terms of firmware programming, there is no functional
- difference between these parts: TM4C123GH6PMI7, TM4C123GH6PMI7R,
- TM4C123GH6PMT7, and TM4C123GH6PMT7R. From a programming standpoint,
- all of the above parts are TM4C123GH6PM, which means it doesn't make
- sense to differentiate between PM and PMI. (The PM means 64-LQFP. The I
- means temperature range -40C to +85C. It could be T meaning -40C to
- +105C. The R means it ships in Tape and Reel packaging as opposed to
- Tray.) From Nathan Hartman (2019-07-29).
- * Only use PCLKSEL0 for ADC on LPC176x family. From jjlange (2019-07-29).
- * arch/arm/src/tiva: Rename TM4C1294NC identifiers to TM4C1294NCPDT.
- Rationale: TM4C1294NC is ambiguous: TM4C1294NCPDT is a 128-TQFP,
- TM4C1294NCZAD is a 212-NFBGA. The TM4C1294NC part currently supported
- by NuttX is the TM4C1294NCPDT used on the TI EK-TM4C1294XL "Connected
- LaunchPad" (see configs/tm4c1294-launchpad). To ensure the correct
- part is fully specified, this commit updates all TM4C1294NC identifiers
- to TM4C1294NCPDT. From Nathan Hartman (2019-07-29).
- * libs/libc/machine/arm/armv7-m: Add Cortex M4F mach optimized fabsf and
- sqrtf. From David S. Alessio (2019-07-29).
- * gs2200m with dhcp:
- - include/nuttx/wireless: Add GS2200M_IOC_IFREQ to gs2200m.h
- - drivers/wireless: Add GS2200M_IOC_IFREQ to gs2200m.c
- - configs/spresense/wifi: Enable NuttX's DHCP client instead of GS2200M's
- - configs/spresense: Add descriptions on wifi in README.txt
- From Masayuki Ishikawa (2019-07-30).
- * libs/libc/machine/arm/armv7-m: Fix build error for elf From Masayuki
- Ishikawa (2019-07-30).
- * Documenation/, configs/: Fix typos and one HTML syntax error. Fix
- HTML syntax error in Documentation/NfsHowto.html: <coce> -> <code>
- html tag. From Nathan Hartman (2019-07-30).
- * fs/dirent/fs_opendir.c: Fix typo and style. opendir() did set errno
- to a negative value in one error case. Fixed some coding style issues
- found by nxstyle. From Michael Jung (2019-07-31).
- * libs/libc/dirent/: Added alphasort() implementation, scandir()
- implementation and DT_* definitions to include/dirent.h. Apparently
- those definitions are not required by POSIX, but are part of 4.3BSD and
- available in glibc as well. From Michael Jung (2019-07-31).
- * libs/libc/dirent/lib_scandir.c: Do not build in PROTECTED or KERNEL
- mode builds. Add FAR to some pointers. Minor comment updates. From
- Gregory Nutt (2019-07-31).
- * STM32F7: Serial add HW HS on UART 4 & 5 From David Sidrane
- (2019-08-01).
- * sched/task/task_exithook.c: nxtask_signalparent() in task_exithook.c
- may invalidate the group's parent task ID (tg_ppid) too soon. The
- tg_ppid field is use only to remember the parent tasks ID so that it
- can send the SIGCHLD signal to it. So it must stay valid until SIGCHLD
- has been sent. In nxtask_signalparent(), it calls nxtask_sigchild() to
- send SIGCHLD to the parent, then invalidates tg_ppid. That would be
- okay, except that the SIGCHLD is only sent when the last member of the
- group terminates. That is incorrect; tg_ppid can be invalidated too
- soon and, as a consequence, SIGCHLD would never be sent. Noted by
- Jeongchan Kim in the Google group:
- https://groups.google.com/forum/#!topic/nuttx/SXd8fVwVKBk From Gregory
- Nutt (2019-08-01).
- * confgs/z80sim/src/z80_serial.c: Fix uart_dev_t initializer: pollfds
- is a array of pointers and, hence, the NULL initializer must be
- included in braces. Noted by Paul Osmialowski in Issue #160. From
- Gregory Nutt (2019-08-01).
- * z80sim/src/z80_irq.c: Missed a name change
- up_irqinitialize->z80_irq_initialize. From Gregory Nutt (2019-08-01).
- * - STM32{L4|F4|H7}: Serial add HW HS on UART 4 & 5
- - STM32: Serial add HW HS on UART 4 & 5
- - STM32F7: Serial update copyright date
- - STM32H7: Serial add HW HS on UART 4 & 5
- - STM32L4: Serial add HW HS on UART 4 & 5
- From David Sidrane (2019-08-01).
- * STM32H7 RCC: Fix RCC register definitions and typos in ADC/UART
- STM32H7 ADC: Fix internal channel numbers
- STM32H7 UART: Fix typo in UART8 configuration From Markus Bernet
- (2019-08-02).
- * sched/: Correct some naming. The NuttX task groups have been using
- the acronym 'gid' and also the type 'gid_t' for the the task group ID.
- That is incorrect. Than naming is reserved for use with group
- permissions. So these were all named to grpid and grpid_t so that it
- is clearer that these refer to NuttX task group IDs, and not to group
- permissions. From Gregory Nutt (2019-08-02).
- * arch/arm/src/tiva, include/nuttx/sensors: Reinstate TM4C qencoder
- driver and expand its ioctls.
- arch/arm/src/tiva/Kconfig:
- - Add TIVA_HAVE_QEI0, TIVA_HAVE_QEI1 as applicable to each
- ARCH_CHIP_TM4C12*.
- - Add config TIVA_QEI, TIVA_HAVE_QEI0, TIVA_HAVE_QEI1.
- - Add config TIVA_QEI0, config TIVA_QEI1.
- arch/arm/src/tiva/common/tiva_qencoder.c:
- - Rewrite tiva_qe_setup().
- - Replace tiva_qe_ppr() with tiva_qe_resetatppr().
- - Add tiva_qe_resetatmaxpos(), tiva_qe_resetatindex().
- arch/arm/src/tiva/hardware/tiva_qencoder.h:
- - Add missing definitions: SIGMODE_QUADRATURE, SIGMODE_CLK_AND_DIR,
- SWAP_NO_SWAP, SWAP_PHA_PHB.
- arch/arm/src/tiva/tiva_qencoder.h:
- - Rename TIVA QEI ioctl QEIOC_PPR to QEIOC_RESETATPPR.
- - Add TIVA QEI ioctl identifiers QEIOC_RESETATMAXPOS, QEIOC_RESETATINDEX.
- include/nuttx/sensors/qencoder.h:
- - Increase QE_TIVA_NCMDS from 3 to 5. From Nathan Hartman (2019-08-02).
- * libs/libc/grp: Added stubbed implementations of getgrgid, getgrgid_r,
- getgrnam, getgrnam_r, and initgroups. These functions are essentially
- stubs pretending that NuttX supported groups and that the only
- configured group in the system was 'root' with gid 0. The intend is
- not to provide meaningful new features, but to ease porting of foreign
- source code to NuttX. From Michael Jung (2019-08-03).
- * libs/libc/grp/lib_grp.c: Fix a warning when compiling on a 64-bit
- simulation. Cannot cast a pointer to unsigned in that case because
- unsigned (int) is only 32-bits, but the pointer is 64-bits. From
- Gregory Nutt (2019-08-03).
- * configs/sim/include/etc.tar.gz, nsh_romfsimg.h: Improve the format of
- the /etc/passwd format. It is now a little more similar to other
- systems. Add an /etc/group file to support future testing. From
- Gregory Nutt (2019-08-03).
- * libc/pwd: Added stubbed implementations. Added stubbed implementations
- of getpwuid, getpwuid_r, getpwnam, and getpwnam_r. These functions are
- essentially stubs pretending that NuttX supported users and that the
- only configured user in the system was 'root' with uid 0. The intend
- is not to provide meaningful new features, but to ease porting of
- foreign source code to NuttX. From Michael Jung (2019-08-04).
- * Rename the arch/risc-v/src/gap8/gap.h to arch/risc-v/src/gap8/gap8.h
- From Kejun ZHOU (2019-08-04).
- * libs/libc/pwd and libs/libc/grp: Modify to get user/group data from
- /etc/passwd and /etc/group if so configured.
- libs/libc/pwd/lib_find_pwdfile.c: Add logic to look up user
- information in /etc/passwd file, if available.
- libs/libc/grp/lib_find_grpfile.c: Add logic to look up group
- information in /etc/group file, if available.
- From Gregory Nutt (2019-08-04).
- * arch/arm/src/tiva: LM3S, LM4F, TM4C: Fix GPIO IRQ error, ports R, S,
- T. Preprocessor logic for CONFIG_TIVA_GPIOx_IRQS was setting/clearing
- port Q defines when it should act on ports R, S, T. gpioport2irq() was
- missing handling for port T. From Nathan Hartman (2019-08-04).
- * Move board-related files to new boards/ folder. This effectively
- renames the configs/ directory to boards/. This is the first step in a
- much larger effort. This is the proposed layout after all of the change:
- boards/: - folder containing board folders
- <board>: - name of each board
- drivers/: - extra drivers specific for platform
- include/: - header files for the boars
- scripts/: - extra scripts specific for platform
- src/: - board specific code
- tools/: - extra tools specific for platform
- configs/: - board specific configuration(s)
- Replaced configs/ with boards/ in: Kconfig, Makefile, tools/Makefile.*,
- all Make.defs, tools/*.sh, tools/*.bat, tools/*.mk, .c and .h files
- under boards/ From Alin Jerpelea (2019-08-05).
- * Change naming configs/ to boards/ in comments, Documentation, etc.
- From Gregory Nutt (2019-08-05).
- * net/udp/udp_psock_sendto_buffered.c: Fixes a copy-paste error in the
- new SO_LINGER code: CONFIG_TCP_NOTIFIER to CONFIG_UDP_NOTIFIER. From
- Juha Niskanen (2019-08-05).
- * Move board/ configuration directories to configs/ folder. This effects
- all board directories under boards/. From Alin Jerpelea (2019-08-05).
- * tools/configure.sh and configure.c. Update to preserve backward
- compatibility in usage after the move of board configuration
- directories under board/configs/. From Gregory Nutt (2019-08-05).
- * tools/testbuild.sh: Fixes needed for changes to boards/ directory
- structure. From Gregory Nutt (2019-08-05).
- * Change references to boards/<board>/<config> to
- boards/<board>/configs/<config> in comments, Documentation, URLs. From
- Gregory Nutt (2019-08-05).
- * tools/refresh.sh: Fix the configuration refresh script for changes to
- configuration paths. From Gregory Nutt (2019-08-05).
- * boards/: Fix more comments related to the reorganization of the board
- configuration directories. From Gregory Nutt (2019-08-05).
- * kinetis: i2c transfer ensure correct result returned.
- kinetis_i2c_transfer released the mutex then fetched the state, this
- resulted in returning the correct results. From David Sidrane
- (2019-08-05).
- * tools/configure.sh and .c: When dumping available configurations, omit
- the 'config/' in the path. From Gregory Nutt (2019-08-05).
- * tools/: Change preferred argument of configurations tools to use ':'
- as the delimiter between <board-name> and <config-name>. This is to
- emphasize that this is not a path; it is configuration specification.
- The legacy '/' delimiter is still supported but not recommend and not
- advertised. Updated configurations instructions in README.txt files to
- show ':' delimiter vs '/' delimiter. Update all configuration-related
- tools to accept ':' separator between board and configuration name.
- From Gregory Nutt (2019-08-05).
- * sched/mqueue/mq_desclose.c: Add a test to verify that message queue is
- closed by the same task group that opened it. If not, then list
- corruption would result. This test is only performed if
- CONFIG_DEBUG_FEATURES is enabled since it should not normally be an
- issue: It would be a strange programming practice to open a message
- queue in open task group, then close it in another. From ê¹€ì •ì°¬
- (2019-08-05).
- * libs/libc/unistd: Stubs for setuid and setgid. Added stubbed
- implementations of setuid and setgid. These functions are essentially
- stubs pretending that NuttX supported users and groups and that the
- only configured user and group in the system were both 'root' with a
- uid and a gid of 0, respectively. The intent is not to provide
- meaningful new features, but to ease porting of foreign source code to
- NuttX. From Michael Jung (2019-08-06).
- * drivers/pipes: Use inode reference counter instead of device reference
- counter to handle dup(). I found that if I dup() a pipe, the reference
- counter d_refs is not increased. If I close any of the fd, backed by
- the same pipe, the pipe will be freed. This causes any further usage
- on the fd referencing a non existent pipe. This change uses the inode
- reference counter, which is properly maintained during dup(). From
- Yang ChungFan (2019-08-06).
- * arch/arm/src/stm32h7: Fix UART7/8 typos. Fix bug in ETH_MACQTXFCR
- configuration. From Markus Bernet (2019-08-06).
- * tools/configure.sh: Restore support for custom, out-of-tree
- configurations that was broken in a previous commit. From Gregory Nutt
- (2019-08-06).
- * Group boards by architecture. All boards that share the same
- architecture are moved to the same arch folder following the SoC
- layout. For example, all ARM board configurations moved from
- boards/board to boards/arm/board. From Alin Jerpelea (2019-08-06).
- * tools/: Update configuration-related tools for last change to boards/
- directory organization. From Gregory Nutt (2019-08-06).
- * tools/configure.sh: Needs to be able to run from the tools
- sub-directory. From Gregory Nutt (2019-08-06).
- * defconfigs: paths assigned to CONFIG_PASS1_BUILDIR must now include
- the architecture. From Gregory Nutt (2019-08-06).
- * boards/arm: Update paths to linker scripts in kernel/Makefile files.
- From Gregory Nutt (2019-08-06).
- * libs/libc/unistd.h: Add getuid() and getgid() to match Michael Jung's
- setuid() and setgid(). From Gregory Nutt (2019-08-06).
- * sched/group and syscall/: Implement 'real' setuid, getuid, setgid, and
- getgid interfaces. These will be inheritance by all child task
- groups. From Gregory Nutt (2019-08-06).
- * arch/arm/src/armv7-m: Add ARMv7-M setjmp/longjump functions. From
- David S. Alessio (2019-08-06).
- * arch/arm/src/tiva/common/tiva_timerlib.c: Fix minor errors in
- tiva_timerlib
- Fix incorrect preprocessor conditionals related to Kconfig defines:
- - CONFIG_TIVA_TIMER32_EDGECOUNT -> CONFIG_TIVA_TIMER16_EDGECOUNT
- - CONFIG_TIVA_TIMER32_TIMECAP -> CONFIG_TIVA_TIMER16_TIMECAP
- - CONFIG_TIVA_TIMER32_PWM -> CONFIG_TIVA_TIMER16_PWM
- From Nathan Hartman (2019-08-06).
- * Tiva: Fix errors in low-level timer support
- arch/arm/src/tiva/common/tiva_timerlib.c:
- - tiva_gptm_configure() and tiva_gptm_release(): Fix error: Was calling
- tiva_emac_periphrdy() instead of tiva_gptm_periphrdy().
- arch/arm/src/tiva/tiva_timer.h:
- - Fix error in "abcde" description of bit flag defines.
- From Nathan Hartman (2019-08-07).
- * arch/arm/src/lpc17xx_40xx/Kconfig: Add missing
- LPC17_40_PHY_CEMENT_DISABLE config to the lpc17xx Kconfig file. For
- some reason this config wasn't referenced anywhere else except in
- arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c. From Augusto Fraga
- Giachero (2019-08-07).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Follow the procedure
- listed in the LPC176x/5x User Manual when reading from and writing to
- the PHY's registers (section 10.11.14). I couldn't see any behavioral
- change after this commit, but nonetheless is a good practice to follow
- the manufacturer's recommended procedure. From Augusto Fraga Giachero
- (2019-08-07).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Fix the initialization
- for DP83848x PHYs. The DP83848x requires the RMII mode to be manually
- enabled through the MII_DP83848C_RBR register. Before querying the
- speed and mode it should wait for the link to be established. From
- Augusto Fraga Giachero (2019-08-07).
- * Group boards based on chip. All boards based on the same chip are
- moved to the same folder. For example, all STM32 configurations moved
- from boards/arm/board to boards/arm/stm32/board. From Alin Jerpelea
- (2019-08-07).
- * Add defconfig files must include CONFIG_ARCH_CHIP= to break and
- chicken-and-egg problem. From Gregory Nutt (2019-08-07).
- * arch/sim: Even though the simulation has no "chips", it needs to have
- CONFIG_ARCH_CHIP and chip sub-directories. Otherwise, we would have to
- treat it as a special case in the build system. From Gregory Nutt
- (2019-08-07).
- * tools/: Update and verify all configuration related tools with new,
- boards directory layout. From Gregory Nutt (2019-08-07).
- * defconfigs: All paths assigned to CONFIG_PASS1_BUILDIR must include
- the chip name. From Gregory Nutt (2019-08-07).
- * arch/arm/src/tiva/common/tiva_timerlib.c: Fix one code error and some
- comment errors. tiva_timer16_setinterval(): Was DEBUGASSERTing on mode
- != TIMER16_MODE. Fixed to DEBUGASSERT on mode == TIMER16_MODE. From
- Nathan Hartman (2019-08-07).
- * boards/Board.mk: Correct a simulator inclusion path problem introduced
- by reorganization of arch/sim/src. From Gregory Nutt (2019-08-08).
- * drivers/sensors/sht3x.c: Add Sensirion SHT3x driver. From Markus
- Bernet (2019-08-08).
- * Beginning to update comments to reflect new organization of the boards/
- sub-directory. From Gregory Nutt (2019-08-08).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: hc, mips. From Alin Jerpelea (2019-08-08).
- * Update more comments and README.txt files to reflect new organization
- of the boards/ sub-directory. From Gregory Nutt (2019-08-08).
- * Documentation: Update some documents affected by the change in the
- organization of the boards/ sub-directory. From Gregory Nutt
- (2019-08-08).
- * boards/arm/lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig: Remove
- stray character in defconfig file. From Gregory Nutt (2019-08-08).
- * STM32F7: Ethernet add timeout on MAC reset From David Sidrane
- (2019-08-08).
- * tools/testbuild.sh: Remove some recently introduced echo's that
- clutter the build test output From Gregory Nutt (2019-08-08).
- * Documentation/README.html: Update for new boards/ sub-directory
- layout. From Gregory Nutt (2019-08-08).
- * README.txt: Update for new boards/ sub-directory layout. From Gregory
- Nutt (2019-08-08).
- * arch/arm/include/armv7-m/nvicpri.h: In the 'normal' case, the priority
- of the SVCALL interrupt was the same as the priority of the high
- priority interrupt. This means that SVCALL interrupt processing can
- defer the high priority interrupt and result in the jitter in that
- interrupt response. Fix is to raise the priority of the high priority
- interrupt above the priority of the SVCALL interrupt. Suggested by
- Nathan Hartman. From Gregory Nutt (2019-08-09).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: misoc, or1k, renesas, risc-v, sim, x86, xtensa, z16, z80 From
- Alin Jerpelea (2019-08-09).
- * Documentation/NuttX.html: Adjust URLs to board README.txt files to
- account for changes in boards/ sub-directory reorganization. From
- Gregory Nutt (2019-08-09).
- * This commit removes CONFIG_ARCH_INT_DISABLEALL. In the normal course
- of things, interrupts must occasionally be disabled using the
- up_irq_save() inline function to prevent contention in use of resources
- that may be shared between interrupt level and non-interrupt level
- logic. Now the question arises, if we are using BASEPRI to disable
- interrupts and have high priority interrupts enabled
- (CONFIG_ARCH_HIPRI_INTERRUPT=y), do we disable all interrupts except
- SVCall (we cannot disable SVCall interrupts). Or do we only disable
- the "normal" interrupts? If we are using the BASEPRI register to
- disable interrupts, then the answer is that we must disable ONLY the
- "normal interrupts". That is because we cannot disable SVCALL
- interrupts and we cannot permit SVCAll interrupts running at a higher
- priority than the high priority interrupts (otherwise, they will
- introduce jitter in the high priority interrupt response time.) Hence,
- if you need to disable the high priority interrupt, you will have to
- disable the interrupt either at the peripheral that generates the
- interrupt or at the NVIC. Disabling global interrupts via the BASEPRI
- register cannot effect high priority interrupts. From Gregory Nutt
- (2019-08-09).
- * Tiva GPTM timers: Implement 16-bit PWM mode
- arch/arm/src/tiva/Kconfig:
- - Remove EXPERIMENTAL dependency on TIVA_TIMER16_PWM.
- arch/arm/src/tiva/common/tiva_timerlib.c:
- - Fix wrong 32/16-bit ifdef checks.
- - Add tiva_pwm16_sel_event() to choose GPTMCTL.TnEVENT value.
- - Implement tiva_pwm_mode16().
- - tiva_timer16_setinterval(): Fix wrong check for TIMER16_MODE_ONESHOT
- and TIMER16_MODE_PERIODIC. Was comparing to config->cmn.mode which
- can never have those values. This prevented interrupts being enabled.
- Compare to timer->mode instead.
- - Add tiva_timer16pwm_setperiodduty() to set initial period, duty
- cycle, and enable interrupts if requested in GPTM peripheral.
- Interrupts are not enabled in NVIC until tiva_timer16_start() is called.
- - Add tiva_timer16pwm_setduty() to update duty cycle at any time.
- arch/arm/src/tiva/hardware/lm/lm3s_timer.h,
- arch/arm/src/tiva/hardware/lm/lm4f_timer.h,
- arch/arm/src/tiva/hardware/tm4c/tm4c123_timer.h,
- arch/arm/src/tiva/hardware/tm4c/tm4c129_timer.h:
- - Add missing defines; make surrounding defines consistent.
- arch/arm/src/tiva/tiva_timer.h:
- - Add new TIMER_FLAG_* configuration flags to enable configuring
- the16-bit PWM feature. Extend type of "flags" in tiva_timer32config_s
- and tiva_timer16config_s from 8- to 32-bits to allow more flags.
- From Nathan Hartman (2019-08-09).
- * boards/arm/efm32/olimex-efm32g880f128-stk/src/.gitignore: Restore
- .gitignore file that was lost in the boards/ directory reorganization.
- From Nathan Hartman (2019-08-09).
- * STM32F7: USART1_RXDMA is dependent on STM32F7_DMA2 not STM32F7_DMA1
- From Anthony Merlino (2019-08-09).
- * arch/arm/include/cxd56xx/chip.h: The NVIC priority correction of
- commit c300f271303e04d5a7a1e42973a02115ed062cb0 must be applied to the
- CXD56xx too. From Gregory Nutt (2019-08-10).
- * - arch/arm/src/{stm32/stm32f7/stm32h7/stm32l4}/stm32_pwm.c: Configure
- multi-channel duty only if channel specified. This allows you to
- update duty cycle for a single channel
- - nucleo-f303re/configs: add basic NSH configuration
- - nucleo-f303re/configs/pwm: enable console on UART2 and set entry
- point to nsh_main
- From raiden00pl (2019-08-10).
- * Change all occurrences of /bin/(ba)sh to /usr/bin/env bash which
- appears more portable From Manuel Stühn (2019-08-10).
- * sched/group/group_setuid.c and group_setguid.c: Verify that the
- UID/GID is within range. From Gregory Nutt (2019-08-10).
- * wireless/ieee802154/mac802154_netdev: Allow 64-bit prefix to be
- configurable when auto-configuring the IPv6 address during bring-up.
- Previously, the link-local prefix fe80::/64 was used. Also, put the
- network in the DOWN state at the end of initialization. From Anthony
- Merlino (2019-08-10).
- * wireless/ieee8021254: Adds support for energy detect. Adds support
- for energy detect by introducing a new radio call/callback, as the PHY
- layer is required to perform the energy detect. From Anthony Merlino
- (2019-08-10).
- * MAC attributes
- - wirelesss/ieee802154/mac802154: Makes comment more clear that it's
- related to an outbound frame, not an incoming frame.
- - wireless/ieee802154: Adds support for getting/setting
- macMaxFrameRetries via IOCTL
- - wireless/.ieee802154/mac802154: Add get support for rxonidle
- attribute
- From Anthony Merlino (2019-08-10).
- * wirelesss/ieee802154/mac802154: Moves iobuffer into macnet struct so
- that more than one macnet dev can exist. From Anthony Merlino
- (2019-08-10).
- * drivers/usbdev/rndis: Expose option to change number of write requests
- that can be in flight. From Anthony Merlino (2019-08-10).
- * net/ipforward: Check if interface is up early on when forwarding to
- avoid extra work. As noticed in a previous wireless commit, when
- forwarding is enabled and a packet comes in, the packet is attempted to
- be sent on each other netdev without regard for whether it is in the UP
- state. Of course this is eventually caught, but it can be caught
- earlier to avoid unnecessary work, especially in the 6LoWPAN case where
- a useless packet conversion will occur. From Anthony Merlino
- (2019-08-10).
- * clock.h: Copies in missing function documentation from C file. From
- Anthony Merlino (2019-08-10).
- * ieee802154: Support dynamic FCS length. Adds
- IEEE802154_ATTR_PHY_FCSLEN. This change introduces
- IEEE802154_ATTR_PHY_FCSLEN which the radio layer can support to set/get
- the FCS length that's added to the end of the frame. One use case, in
- promiscuous mode, is to add back in the FCS of the received frame by
- increasing the iob->io_len by the FCS length. From Anthony Merlino
- (2019-08-10).
- * wireless network devices: Attach radio to d_buf before registering
- device to handle forwarding case. When CONFIG_NET_IPFORWARD is
- enabled, and CONFIG_NET_6LOWPAN is being used, a packet that attempts
- to get forwarded on the 6LoWPAN interface will require that the radio's
- buffer be attached to d_buf. Otherwise the below exception will be
- hit. ~line 542 of sixlowpan_framelist.c:
- ...
- /* Recover the reassembly buffer from the driver d_buf. */
- reass = (FAR struct sixlowpan_reassbuf_s *)radio->r_dev.d_buf;
- DEBUGASSERT(reass != NULL);
- ...
- The underlying "radio" in this case is the mac802154_netdev. This
- behavior has probably not been observed because the buffer is normally
- attached in the periodic txpoll worker. However, in my case, the
- 6LoWPAN interface was not UP yet, and therefore the worker hadn't run
- yet. From Anthony Merlino (2019-08-10).
- * mac802154: Fixes issues with extended address. 1) Extended address
- should be read-only. 2) Extended address should be placed in frame in
- "reverse-canonical" order. The extended address is a read-only
- attribute and thus an attempt to write the extended address should be
- denied. Instead, the extended address should really be either set by
- the PHY/radio itself, or provided at board bring-up time to the radio
- layer. The MAC layer now pulls in the extended address from the radio
- any time the MAC is reset. The extended address is also supposed to be
- sent in the frame in reverse-canonical order. This is very confusing in
- the standard and it wasn't until I realized it was backwards in
- Wireshark that I researched this further. Searching online I find
- documents from the committee for suggestions/feedback on the future
- standard. It isn't in the 2015 standard but a newer version of the
- standard will presumably clarify this. It says that the extended
- address should be written in reverse-canonical form, meaning the OUI
- comes last, not first inside the frame. From Anthony Merlino
- (2019-08-10).
- * mac802154: Fixes issue where the txdesc's ackreq flag was not being
- set, despite the frame containing a Frame Control field with ACKREQ bit
- set. From Anthony Merlino (2019-08-10).
- * arch/arm/src/stm32f7: Exposes stm32_flash_xxx functions. From Anthony
- Merlino (2019-08-10).
- * libs/libc/grp and pwd: Revisit file locks. Use uintptr_t vs void * to
- encode mixed pointers and integer values. From Gregory Nutt
- (2019-08-11).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part I From Alin Jerpelea (2019-08-12).
- * This commit brings the initial files for a port to the NXP S32K1xx
- family. This is very much a work in progress and is little more that a
- partial configuration/build environment and some S32K1xx register
- definition header files
- - Basic configuration logic for the S32K1 family.
- - arch/arm/src/s32k1xx: Add initial Make.defs files.
- - arch/arm/src/s32k1xx/hardware/s32k1xx_scg.h: Add SCG register
- definition file.
- - arch/arm/src/s32k1xx/hardware/s32k1xx_pcc.h: Add PCC register
- definition file.
- - arch/arm/src/s32k1xx/hardware/s32k1xx_cmu.h: Add CMU register
- definition file.
- - arch/arm/src/s32k1xx/hardware/s32k1xx_memorymap.h: Add memory map
- definition file.
- - arch/arm/src/s32k1xx/hardware/s32k1xx_mcm.h: Add MCM register
- definition file.
- From Gregory Nutt (2019-08-12).
- * boards/arm/timva/tm4c123g-launchpad: Update paths for boards/
- restructuring. Update paths to board directories in documentation and
- scripts. From Nathan Hartman (2019-08-12).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_sim.h: Add SIM register
- definition file. From Gregory Nutt (2019-08-12).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_port.h: Add PORT register
- definition file. From Gregory Nutt (2019-08-13).
- * libs/libc/math.csv: Correct format of some function entries. From
- Pavel Pisa (2019-08-13).
- * libs/libc/libc.csv: Correct dependency of setlocale on
- CONFIG_LIBC_LOCALE. From Pavel Pisa (2019-08-13).
- * symtab/, tools/: NuttX provides lists of available syscalls and
- library functions and tools to process them. The lists can be used to
- build symbol table which allows runtime program loading which can reuse
- functions already compiled into NuttX system image. List processing,
- compilation and linking to the final system image has been possible
- only under manual control until now. Provided changes add option
- (CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYMTAB) to build complete list of
- available functions and syscalls automatically. The symbolic table is
- generated in form libsymtab.a which can be reused by application or
- directly pull in when "g_symtab" and "g_nsymbols" variables are
- requested by EXECFUNCS configuration. I have tried to follow
- mechanisms for library compilation in different kernel protection modes
- but tested only flat no-MMU build. The basic assumption is that this
- library and libraries providing syscall stubs and C-library functions
- are available in user-space context and initial application (usually
- NSH) registers the symbol table through IOCTL. The table can be reused
- then by another applications in their address space as kernel allows.
- Simple for flat or protected mode, I am not sure if really support in
- MMU mode. It is highly probable that I have made some mistake,
- overlooked something, but functionality is optional (should not cause
- troubles in any mode if disabled) and main purpose is to lower memory
- overhead when more applications are loaded on memory constrained system
- which usually use direct kernel calling without protection or address
- space separation. If the table should be provided by kernel to
- applications then makefiles has to be adjusted. From Pavel Pisa
- (2019-08-13).
- * symtab/Makefile: The OS symbol table should not be generated in the
- PROTECTED and KERNEL build modes. In those modes, the applications
- should link with libproxy which will provide symbol-compatible access
- to OS functions via a call gate. From Gregory Nutt (2019-08-13).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_gpio.h: Add GPIO register
- definition file. From Gregory Nutt (2019-08-13).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part II From Alin Jerpelea (2019-08-13).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_dmamux.h: Add DMAMUX register
- definition file. From Gregory Nutt (2019-08-13).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_wdog.h and s32k1xx_ewm.h: Add
- WDOG and EWM register definition file. From Gregory Nutt (2019-08-13).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_crc.h: Add CRC register
- definition file. From Gregory Nutt (2019-08-13).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_rcm.h: Add RCM register
- definition file. From Gregory Nutt (2019-08-13).
- * arch/arm/src/imxrt: Fix some errors in the LPUART register definition
- files. Correct naming of a function: up_earlyserialinit() should be
- imxrt_earlyserialinit(). Remove prototypes for non-existent serial
- initialization functions. From Gregory Nutt (2019-08-13).
- * arch/arm/src/s32k1xx: Bring in the LPUART from i.MXRT. It is the same
- IP. From Gregory Nutt (2019-08-13).
- * symtab/Makefile: Fix an error in the clean target. From Gregory Nutt
- (2019-08-13).
- * include/sys/syscall.h: Correct some typos. From Pavel Pisa (2019-08-13).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_can.c: If BOARD_CCLKSEL_DIVIDER is
- not equal to 1 on LPC178x or LPC40xx then base clock rate is calculated
- incorrectly because CCLK frequency does not correspond to PLL0 clock
- which is used for PCLK. This is partially workaround solution. It
- would be probably better to define BOARD_PCLK_FREQUENCY even for
- LPC176x targets and use that to replace divisor by base_clock in
- up_dev_s. From Pavel Pisa (2019-08-13).
- * arch/arm/src/s32k1xx: Fix some sub-directory names. From Gregory Nutt
- (2019-08-13).
- * arch/arm/src/s32k1xx: Bring in Cortex-M0+ Systick and interrupt
- handling from samd2l2; bring in Cortex-M4F Systick and interrupt
- handling from LPC54xx. From Gregory Nutt (2019-08-13).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part III From Alin Jerpelea (2019-08-14).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part IV From Alin Jerpelea (2019-08-14).
- * This commit adds initial board support for the NXP S32K118EVB. This
- configuration is intended, initially, to support development of the
- architecture support. This is VERY much a work in progress and you
- should not use this configuration unless you are interested in
- assisting with the bring-up.
- - boards/arm/s32k1xx/s32k118evb: Add initial support for the NXP
- S32K118EVB.
- - boards/: Hook the S32K118EVB board into the configuration system.
- - boards/arm/s32k1xx/s32k118evb/scripts: Add linker scripts and
- Make.defs.
- - boards/arm/s32k1xx/s32k118evb/configs/nsh: Add a basic NSH
- configuration. From Gregory Nutt (2019-08-14).
- * Flesh out a few more things needed to compile and build the S32K118EVB
- board configuration.
- - arch/arm/include: Add interrupt IRQ numbers.
- - tools/: Add support for the S32K1XX family.
- From Gregory Nutt (2019-08-14).
- * symtab/Makefile: When system wide locale is set (i.e. en_US.UTF-8)
- then 'read' is ordered after 'readdir' even if separator is set to
- quotation mark and key set to 2. When C locale is used result is
- correct. From Pavel Pisa (2019-08-14).
- * arch/arm/src/lpc17xx_40xx/Make.defs: Cortex-M system reset is
- applicable to LPC17_40 too. From Pavel Pisa (2019-08-14).
- * arch/arm/src/s32k1xx: A few fixes. The build progresses further but
- still fails. From Gregory Nutt (2019-08-14).
- * boards/arm/s32k1xx/s32k118evb: More build fixes. From Gregory Nutt
- (2019-08-14).
- * - stm327f: Kconfig add depends on BBSRAM
- - STM32H7: memorymap fix BBSRAM name
- - STM32H7: Add BBSRAM support
- From David Sidrane (2019-08-15).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part V From Alin Jerpelea (2019-08-15).
- * arch/arm/src/s32k1xx/s32k1xx_clockconfig.h: Add data structures that
- will eventually be used to configure clocking. From Gregory Nutt
- (2019-08-15).
- * arch/arm/src/tiva, arch/arm/include: Add support for Tiva
- TM4C123AH6PM. From Nathan Hartman (2019-08-15).
- * libs/libc/libc.csv: Add some missing C library functions. From Pavel
- Pisa (2019-08-15).
- * binfmt/: Change debug macro from berr() to binfo() when dumping module
- data. The report of problems is important during development but when
- it enables complete informative output about load binaries then the
- important information can be easily overlooked. The huge output sent
- to serial terminal slows loading significantly as well. From Pavel
- Pisa (2019-08-15).
- * Serial single-wire: add possibility to specify pull-up instead of open
- drain From Beat Küng (2019-08-15).
- * boards/arm/s32k1xx/s32k118evb/src/s32k118_clockconfig.c: Add clock
- configuration data for the S32K118EVB. From Gregory Nutt (2019-08-15).
- * arch/arm/src/tiva/common/tiva_irq.c: Add handling for IRQs 128 thru
- 159. Handling was missing for these IRQs, resulting in compiler
- warning(s) for 'Missing logic' and/or 'Missing output.' From Nathan
- Hartman (2019-08-15).
- * arch/arm/src/s32k1xx/Kconfig: Break out some feature configurations
- instead of relying on MCU selections for conditional logic. From
- Gregory Nutt (2019-08-15).
- * arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: First feeble fragments of
- clock configuration logic. From Gregory Nutt (2019-08-15).
- * arch/arm/src/tiva: Modify preprocessor logic to support configs with
- no UART. Now similar to logic for other archs, such as
- arch/arm/src/a1x/a1x_lowputc.c and
- arch/arm/src/am335x/am335x_lowputc.c. This change eliminates compiler
- errors and warnings that were breaking the build with "No
- CONFIG_UARTn_SERIAL_CONSOLE Setting" when no UARTs / console were
- configured. From Nathan Hartman (2019-08-15).
- * ieee802154/sixlowpan: Removes unnecessary conversions that were
- happening due to a misunderstanding of byte ordering with EUI-64.
- Conflicts: drivers/wireless/ieee802154/xbee/xbee_netdev.c From
- Anthony Merlino (2019-08-16).
- * Mac802154 fixes
- - wireless/ieee802154/mac802154: Frame Version should have been 1, but
- was being set to 3 when payload exceeds version 0 capabilities.
- - wireless/ieee802154/mac802154: Corrects function reference in warning
- print-out
- - wireless/ieee802154/mac802154/sixlowpan: Adds warning to build to
- indicate what is noted in the menu for CONFIG_MAC802154_NTXDESC
- From Anthony Merlino (2019-08-16).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part VI From Alin Jerpelea (2019-08-16).
- * drivers/wireless/ieee802154/xbee: Fix logic to prevent deadlock
- scenario when there are no available IOBs From Anthony Merlino
- (2018-12-21).
- * drivers/wireless/ieee802154/xbee: Change assumption about destination
- address mode for incoming frames. If a short address has been assigned
- to our radio, then assume we were addressed using that. Otherwise we
- were addressed using our extended address. From Anthony Merlino
- (2019-01-10).
- * drivers/wireless/ieee802154/xbee: Initialize the short address to the
- unspecified address and query for the extended address on init. From
- Anthony Merlino (2019-01-10).
- * drivers/wireless/iee802154/xbee: Support "WR" AT command for writing
- parameters to non-volatile memory. From Anthony Merlino (2019-01-10).
- * drivers/wireless/ieee802154/xbee: Adds CONFIG_XBEE_LOCKUP_WORKAROUND
- option and corresponding logic to workaround an issue where the XBee
- locks up and stops responding. This typically happens when there is a
- lot of data being received over the link. When the XBee stops
- responding, many times, querying the XBee kicks it out of this state.
- However, occasionally the XBee is completely locked up and the XBee has
- to be reset. This change handles these conditions by periodically (if
- not naturally occurring) querying the XBee. If during any query, the
- XBee does not respond within a certain number of attempts, the XBee is
- reset. From Anthony Merlino (2019-01-10).
- * drivers/wireless/ieee802154/xbee: Cancel query timeout upon receiving
- the expected response. Add protection for race condition that can
- cause association timeout to continue firing repeatedly From Anthony
- Merlino (2019-01-11).
- * drivers/wireless/ieee802154/xbee: Detect lockup and reset XBee in
- xbee_req_data From Anthony Merlino (2019-01-16).
- * - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Finishes the
- implementation of the core clock configuration logic.
- - arch/arm/src/s32k1xx/hardware/s32k1xx_smc.h: Add SMC register
- definition header file.
- - arch/arm/src/s32k1xx: Bring in GPIO logic from Kinetis. Looks like
- the same IP.
- From Gregory Nutt (2019-08-16).
- * IOB instrumentation
- - mm/iob: Introduces producer/consumer id to every iob call. This is
- so that the calls can be instrumented to monitor the IOB resources.
- - IOB instrumentation - Merges producer/consumer enumeration for
- simpler IOB user.
- - fs/procfs: Starts adding support for /proc/iobinfo
- - fs/procfs: Finishes first pass of simple IOB user statistics and
- /proc/iobinfo entry
- From Anthony Merlino (2019-08-16).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_pmc.h: Add PMC register
- definition header file. From Gregory Nutt (2019-08-16).
- * boards/README.txt: Update for changes to the organization of the
- boards/ directory. From Gregory Nutt (2019-08-16).
- * stm32h7 RTC and friends support
- - STM32H7: Removed f7 in file path
- - STM32F7: Fix overwritten IRQ enabled. System boot order calls
- clock_initialize then up_initialize. clock_initialize was setting up
- the alarm IRQ up_initialize is initializing the NVIC. This most likely
- worked in the past due to a bug in the NVIC init code that failed to
- clear the Interrupt enables. That was fixed in 510b0f7e
- arch/arm/src: Correct all ARMv7-M architectures. Interrupts were
- not be disabled correctly on power up.
- - STM32H7:Ported over F7 RTC
- - nucleo-h743zi:Add RTC
- From David Sidrane (2019-08-17).
- * Finishes peripheral clock initialization:
- - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Add SIM clock
- configuration.
- - arch/arm/src/s32k1xx/s32k1xx_periphclocks.c: Add logic to initialize
- peripheral clocking.
- - boards/arm/s32k1xx/s32k118evb/src/s32k118_periphclocks.c: Provides
- initial clocking for for the S32K118EVB
- - arch/arm/src/s32k1xx/s32k11x/s32k11x_clockmapping.c and
- arch/arm/src/s32k1xx/s32k14x/s32k14x_clockmapping.c: Provide
- MCU-specific mapping of clock names to PCC control registers.
- From Gregory Nutt (2019-08-17).
- * - arch/arm/src/s32k1xx: Add peripheral feature arrays.
- - arch/arm/src/s32k1xx/: Add logic to look up the peripheral clock
- frequency. Fix baud calculation logic in s32k1xx_lowputc.c: In no
- longer tries to enable clocking. That must be done with board
- logic. Now gets the peripheral functional clock frequency to
- determine the baud rate.
- From Gregory Nutt (2019-08-17).
- * arch/arm/src/s32k1xx/s32k1xx_edma.c: Leverage eDMA logic from i.MXRT
- to S32K1XX. Appears to be the same IP but with fewer channels and
- features than the i.MXRT implementation. From Gregory Nutt (2019-08-17).
- * - arch/arm/src/s32k1xx/s32k1xx_pin.c and .h: The device does not
- support slew rate controls or open drain (on all the pins). Only
- pins that are configured for a protocol that requires open-drain
- (e.g;, LPI2C, LPUART single-wire) will work in open-drain mode.
- - arch/arm/src/s32k1xx/s32k1xx_pin.c and .h: Add support for PIDR
- register that disables a general purpose pin from acting as an input.
- - arch/arm/src/s32k1xx/hardware: Add pin mux definitions for S32K116,
- 118, 142, 144, 146, and 148.
- - boards/arm/s32k1xx/s32k118evb/include/board.h: Add LPUART0 pin
- disambiguation.
- - boards/arm/s32k1xx/s32k118evb: Implement board support for LEDs and
- buttons. This is taken from the Freedom-K66f with has the same LED
- and button configuration as the S32K116EVB and uses the same GPIO
- IP. From Gregory Nutt (2019-08-18).
- * This commit brings the S32K118EVB board to code complete and ready for
- testing. This commit adds some minor initialization fixes (like
- disabling the WDOG, enabling the I-cache, and initializing the MPU. It
- brings more files in from the Kinetis port for the IDLE loop and for
- GPIO functionality. This also address register definition header file
- for LMEM and MPU. From Gregory Nutt (2019-08-18).
- * This commit adds support for the S32K146EVB
- - arm/s32k1xx/s32k146evb: Initial support for the S32K146EVB. Starting
- point is just the S32K118EVB with name changes.
- - boards/arm/s32k1xx/s32k146evb/src/s32k146_periphclocks.c: Update
- peripheral clocking for the S32K146.
- - s32k146_clockconfig.c: Add S32K146 clock configuration.
- - boards/: Hook the S32K146EVB into the configuration and build system.
- - s32k1xx/s32k146evb/scripts/flash.ld: Update the linker script for
- the S32K146.
- From Gregory Nutt (2019-08-19).
- * After restructuring the boards/ directory, it is time for code style
- cleanup: ARM part VII From Alin Jerpelea (2019-08-19).
- * mac802154: Defers handling of extracting association response to LPWORK
- queue. From Anthony Merlino (2019-08-19).
- * arch/arm/src/s32k1xx/s32k14x and boards/arm/s32k1xx/s32k146evb/src:
- Numerous fixes to get a clean build of the S32K146EVB. From Gregory
- Nutt (2019-08-19).
- * arch/arm/src/imxrt/imxrt_usdhc.c: uSDHC typo fixes and command transfer
- error handling modified. From Ivan Ucherdzhiev (2019-08-19).
- * Kconfig, include/debug.h, and drivers/contactless: Add debug macros
- for contactless. The various contactless device drivers currently
- define device specific debug macros within their local header files.
- This patch adds generic ctls[info|warn|err] macros for the overall
- contactless subsystem to be used in future drivers. Ported the two
- currently available contactless device drivers (mfrc522.c and pn532.c)
- to these generic logging macros and fixed some logging bugs along the
- way. From Michael Jung (2019-08-19).
- * mm/iob/iob_statistics.c: Fix an error found in build testing. Must
- include nuttx/mm/iob.h. From Gregory Nutt (2019-08-19).
- * - Save CONFIG_ARCH_BOARD_CUSTOM when running 'make savedefconfig'
- - Made grep search expression more specific.
- From jjlange (2019-08-19).
- * fs/procfs/fs_procfsiobinfo.c: Fix error found in build testing.
- Needs to include nuttx/mm/iob.h. From Gregory Nutt (2019-08-19).
- * arch/arm/src/s32k1xx/s32k1xx_clockconfig.c and related files: Fix
- confusion about who decrements the register value. Some dividers may
- have a function range of 1..8 but the register value is 0..7. There
- were several places where values were getting decremented twice: Once
- by higher up logic and once by the register access logic. A such
- dividers were reviewed and, hopefully, all were fixed. From Gregory
- Nutt (2019-08-19).
- * boards/arm/stm32h7/nucleo-h743zi/src/nucleo-h743zi.h: Correct logic
- that determines if the RTC driver is available. Find in build
- testing. From Gregory Nutt (2019-08-19).
- * - Added a missing '=' in the second grep statement
- - Save CONFIG_ARCH_BOARD_CUSTOM when running 'make savedefconfig'
- From jjlange (2019-08-19).
- * STM32H7: Port DTCM from F7 From David Sidrane (2019-08-19).
- * STM32H7: Ported UID from F7 From David Sidrane (2019-08-19).
- * drivers/ieee802154/xbee: Add configuration option for setting the
- default prefix to use when bringing up the network and setting the IP
- address. Conflicts: drivers/wireless/ieee802154/xbee/xbee_netdev.c
- From Anthony Merlino (2019-08-19).
- * xbee: Fixes one instance of the use of IOBUSER_WIRELESS_MAC802154
- which isn't available without the software MAC layer. Instead we use
- IOBUSER_WIRELESS_RAD802154 throughout the whole driver since it is
- always available when IEEE 802.15.4 support is enable. From Anthony
- Merlino (2019-08-19).
- * - STM32H7: DMA Fix compiler warning
- - STM32H7: DMA Fix coding style
- - STM32H7: Serial fix undefined with TERMIOS
- From David Sidrane (2019-08-20).
- * - STM32H7: SPI allow more clock sources
- - STM32H7 has ARCH_HAVE_I2CRESET
- From David Sidrane (2019-08-20).
- * With these changes the S32K146EVB minimal NSH is functional. Only
- verified while running from SRAM.
- - boards/arm/s32k1xx/s32k*evb/configs/nsh/defconfig: Create Motorola
- SREC output format.
- - arch/arm/src/s32k1xx/s32k1xx_wdog.h: Fix a typo in a register name.
- - arch/arm/src/s32k1xx/s32k1xx_clockconfig.h: Remove crystal
- frequency, it is not used.
- - boards/arm/s32k1xx/s32k118evb: Add support for execution out of
- SRAM. This is helpful for bringup when you want to avoid putting a
- lethal image in FLASH.
- - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Clean up some bad
- conditional logic. Precedence of operators problem.
- - arch/arm/src/s32k1xx/s32k1xx_clockconfig.c: Fix another problem
- related to whether a divider is pre-decremented or not. The answer
- must be the divder values are never pre-decremented. They are
- decremented just before being written to hardware.
- - arch/arm/src/s32k1xx/s32k1xx_periphclocks.c and related files: Fix
- yet another case of confusion between pre-decremented and
- non-decremented divider values. Enforce the rule that dividers are
- not decremented until the moment they are written into registers.
- - arch/arm/src/s32k1xx/s32k1xx_lowputc.c: Fix a typo that prevented
- LPUART1 from working.
- From Gregory Nutt (2019-08-20).
- * This commit adds support for the NXP S32K148EVB
- - boards/arm/s32k1xx/s32k148evb: Initial S32K148EVB. Initial commit
- is just clone of S32K146EVB with file name changes
- - boards/arm/s32k1xx/s32k148evb: Change all occurrences of 146 to 148.
- - boards/arm/s32k1xx/s32k148evb: Correct LED and button pin number
- for the S32K148EVB.
- - arm/s32k1xx/s32k148evb: Verify core and peripheral clocking. It is
- the same as the S32K146EVB. Fixed one-too-many copy-paste error in
- both.
- - boards/arm/s32k1xx/s32k148evb: Correct linker scripts for the
- S32K148, Update README files, Hook the S32K148EVB into the
- configuration and build system.
- From Gregory Nutt (2019-08-20).
- * - boards/: Add stub drivers folder for later use. In this folder we
- should place drivers that are platform specific and depend on HW
- that is present only on a specific platform. NOTE: All shared
- drivers should go to the regular driver folder
- - tools: Shift BOARD_DIR one level up. In preparation for drivers
- and common folders we are moving the BOARD_DIR path up one level.
- - tools: Add drivers/platform symlink. Link the
- boards/<arch>/<chip>/drivers dir to drivers/platform
- - drivers: Add platform specifc drivers extension. There are
- platforms that use specific drivers and we should be able to include
- those drivers in the build.
- - board: cxd56xx: drivers: add AK09912 driver for SCU. This is a
- platform specific driver connected on the SCU unit. From Alin
- Jerpelea (2019-08-21).
- * Register a character driver for UUID of AT24CSxx chips. Allows the
- UUID to read as a file or displayed from an nsh prompt with: hexdump
- /dev/eeprom.uuid From David Alessio (2019-08-21).
- * drivers/mmcsd: Added support for MMC(eMMC) bigger than 2 GB (Tested
- with IMXRT1050EVKB and samsung eMMC 16GB).
- * arch/arm/src/imxrt: IMXRT uSDHC driver cmd line reset logic modified.
- From Ivan Ucherdzhiev (2019-08-21).
- * drivers/mmcsd/mmcsd_sdio.c: Copy/paste error fix for MMC. From Ivan
- Ucherdzhiev (2019-08-21).
- * arch/arm/src/s32k1xx: This commit brings in the LPSPI and LPI2C
- peripheral drivers from the i.MXRT which used the identical IP.
- - arch/arm/src/s32k1xx: Clone i.MXRT LPSPI and LPI2C support. i.MXRT
- uses the same IP as S32K1XX.
- - arch/arm/src/s32k1xx: Clean up LPSPI and LPI2C naming for S32K1XX.
- Using S32K1XX clock functions to get peripheral input clock.
- - arch/arm/src/s32k1xx: Update peripheral input clocking for the way
- that things are done for the S32K1XX. Fix other misc.
- compilation/configuration issues.
- From Gregory Nutt (2019-08-21).
- * drivers/mmcsd/mmcsd_sdio.c: Correct a misplaced #endif. From Gregory
- Nutt (2019-08-21).
- * - tools/Makefile.unix: Add support for common board folder. This
- patch adds support for a common board folder and simplifies the code
- and maintenance on boards that share the same code
- - cxd56xx: Migration to a common folder. This is the first platform
- to be migrated to the new common folder structure.
- From Alin Jerpelea (2019-08-21).
- * Add support for 4-byte addressing on >128Mb Macronix flash parts From
- jjlange (2019-08-21).
- * drivers/mtd/mx25lx.c: Minor changes to conform to coding standard
- detected by tools/nxstyle. From Gregory Nutt (2019-08-21).
- * arch/arm/src/s32k1xx: This is a rough port of the i.MXRT Ethernet
- driver to the S32K1xx. The i.MXRT uses the same IP. Completely
- untested at this point. From Gregory Nutt (2019-08-21).
- * arch/arm/src/tiva/hardware/tm4c: Fix wrong description on define
- TIVA_1WIRE_BASE: Was "EEPROM and Key Locker" (same as the item above).
- Now "1-Wire Master Module." Make DMACTL symbols visible for TM4C123:
- Remove "#ifdef CONFIG_ARCH_CHIP_TM4C129" guard around UART DMA Control
- (DMACTL) symbols. These bits are valid on TM4C123 devices, as well as
- on TM4C129. Also, improve the comment on UART_DMACTL_DMAERR. From
- Nathan Hartman (2019-08-21).
- * arch/arm/src/s32k1xx/Kconfig: Add Ethernet configuration options that
- were supposed to have been included in a previous commit. From
- Gregory Nutt (2019-08-21).
- * Fixed CONFIG_ARCH_BOARD_CUSTOM based builds. Essentially reverts
- Added a missing '=' in the second grep statement it was not missing it
- was deliberately not in the second grep. Adding a '=' in the second
- grep statement caused the "children" of CONFIG_ARCH_BOARD_CUSTOM,
- namely: CONFIG_ARCH_BOARD_CUSTOM_DIR,
- CONFIG_ARCH_BOARD_CUSTOM_DIR_RELPATH, CONFIG_ARCH_BOARD_CUSTOM_NAME to
- be lost on a savedefconfig. To see the issue run make oldconfig; make
- savedefconfig; make oldconfig From David Sidrane (2019-08-22).
- * boards/arm/cxd56xx: Add sensors connected to the SCU on Spresense board
- - Add Avago APDS9930 Proximity and Ambient light Sensor
- - Add Rohm BH1721FVC Ambient Light Sensor
- - Add Rohm BH1745NUC Color Sensor
- - Add Rohm BM1383GLV/BM1383AGLV Pressure Sensor
- - Add Rohm BM1422GMV/BM1422AGMV Magnetic Sensor
- - Add Bosch BMI160 Sensor support
- - Add Bosch BMP280 Barometic Pressure Sensor
- - Add Kionix KX022/KX122 Acceleration Sensor
- - Add Murata LT1PA01 Proximity and Ambient light Sensor
- - Add Rohm RPR0521RS Proximity and Ambient light Sensor
- - BMI160: add optional I2C address
- From Alin Jerpelea (2019-08-22).
- * Add the sensor initialization for cxd56xx boards in the common board
- folder (part 1/2)
- - boards: cxd56xx: apds9930: typo fix
- - boards: cxd56xx: add cxd56_ak09912 initialization.
- - boards: cxd56xx: move cxd56_bmi160 initialization.
- - boards: cxd56xx: add cxd56_apds9930 initialization
- - boards: cxd56xx: add cxd56_apds9960 initialization
- From Alin Jerpelea (2019-08-22).
- * - All S32K1xx flash.ld configurations: Do not write into FLASH
- configuration field.
- - Extend s32k146 and s23k148 NSH configurations so that they support
- more features.
- From Gregory Nutt (2019-08-22).
- * arch/arm/src/s32k1xx/Kconfig: Remove a duplicate configuration
- setting. Noted by Fabio Balzano. From Gregory Nutt (2019-08-22).
- * arch/arm/src/s32k1xx: Clocking logic was including the wrong 'clock
- name' files for the S32K11x family. From Gregory Nutt (2019-08-22).
- * boards/arm/s32k1xx/s32k118evb, s32k146evb, and s32148evb: Correct the
- 'sense' of the LED discrete output. A high level illuminates the
- LED. From Gregory Nutt (2019-08-22).
- * Add the sensor initialization for cxd56xx boards in the common board
- folder (part 2/2)
- - Add cxd56_bh1721fvc initialization
- - Add cxd56_bh1745nuc initialization
- - Add cxd56_bm1383glv initialization
- - Add cxd56_bm1422gmv initialization
- - Add cxd56_bmi160 initialization
- - Add cxd56_bmp280 initialization
- - Add cxd56_kx022 initialization
- - Add cxd56_lt1pa01 initialization
- - Add cxd56_rpr0521rs initialization
- - Add cxd56_sensors initialization
- - Add Backup Log driver
- - Add crashlog driver
- - Move gs2200m initialization
- - Move ili9340 initialization
- - Move lpm013m091a initialization
- From Alin Jerpelea (2019-08-23).
- * arch/arm/src/s32k1xx/hardware/s32k1xx_flexcan.h: Add an incomplete
- FlexCAN register definition header file. Still missing some bitfield
- definitions. Also updates some README files. From Gregory Nutt
- (2019-08-23).
- * This commit moves shared builtin information out of binfmt/libbuiltin
- and into libs/libc/builtin where it can be shared. This should permit
- builtin application in the PROTECTED build where binfmt/libbuiltin is
- not available in user space.
- - Move binfmt/libbuiltin to libs/libc/builtin. There are calls made
- directly from apps/nshlib into this logic and hence, must be part of
- a library that can be shared between the OS and applications.
- - Move include/nuttx/binfmt/builtin.h to
- include/nuttx/lib/builtin.h. Move
- apps/builtin/lib_builtin_forindex.c to
- libs/libc/builtin/lib_builtin_forindex.c.
- - Correct some additional compile-related issues.
- From Gregory Nutt (2019-08-23).
- * In order to support builtin in function in protected mode, a
- task_spawn() system call must be supported. task_spawn() and
- posix_spawn() are NuttX OS interfaces. In PROTECTED and KERNEL build
- modes, then can be reached from applications only via a system call.
- Unfortunately this is overly complex because there is a (soft) limit
- of 6 parameters in a system call; task_spawn has seven parameters.
- This is a soft limit but still difficult to extend because it involves
- assembly language changes to numerous architectures. Better to get
- more creative. Rather than extend the maximum number of parameters
- across all architectures, I opted instead to marshal the seven
- parameters into a structure and pass only a signle parameter: A
- pointer to the structure containing the seven marshaled parameters.
- From Gregory Nutt (2019-08-23).
- * STM32H7: Memory Map DBGMCU is @ 0x5c001000 From David Sidrane
- (2019-08-23).
- * tools/refresh.sh: Fix some remaining breakage from the boards/
- directory reorganization. From Gregory Nutt (2019-08-24).
- * boards/arm/s32k1xx: Add CONFIG_NSH_ARCHINIT=y to all NSH
- configurations. From Gregory Nutt (2019-08-24).
- * boards/mips/pic32mx&z/drivers/Kconfig: The drivers folder was one
- level above where it should be. From Ouss4 (2019-08-24).
- * boards/: Move more drivers directories at were placed too high in the
- hierarchy. From Gregory Nutt (2019-08-24).
- * fs/procfs/fs_procfsiobinfo.c: Correct use of C11 features in common
- code. From Gregory Nutt (2019-08-24).
- * binfmt/: Fix FLAT build with BUILTIN support. Fixes problems
- introduced in a recent commit. From Michael Jung (2019-08-25).
- * arch/arm/src/stm32: PLLI2S support for F427/F437. Enable support of
- the I2S Phase Locked Loop on STM32F427 and STM32F437 MCUs. From
- Michael Jung (2019-08-25).
- * arch/arm/src/stm32/stm32_spi.c: TI Synchronous Serial Frame Format.
- The SPI macros on STM32 MCUs do support the Texas Instruments
- Synchronous Serial Frame Format protocol (TI protocol). Defined a new
- SPIDEV_MODETI and add support for it in stm32_spi.c. From Michael
- Jung (2019-08-25).
- * boards/boardctl.c and libs/libc/builtin: The BINFS file system uses
- the same builtin library and builtin arrays as does NSH. The builtin
- arrays are simple name-value pairs that map builtin function names
- with the user-space entry point. In the FLAT build, the builtin
- arrays are available everywhere via the backdoor left open by the FLAT
- address space. In the PROTECTED build, however, the kernel must
- maintain its own reference to the user-space builtin array. This
- commits adds those kernel globals and a new
- boardctl(BOARDIOC_BUILTINS) that can be used by applications to the
- provide the builtin list reference to the kernel. From Gregory Nutt
- (2019-08-25).
- * libs/symtab: move symtab/ to libs/symtab. Let's no clutter up the
- top level directory. Shorten CONFIG_EXECFUNCS_GENERATE_SYSTEM_SYSTAB
- to just CONFIG_EXECFUNCS_SYSTEM_SYMTAB. Some items in
- syscall/syscall.csv are only valid when CONFIG_LIB_SYSCALL is
- defined. That is always defined when really building the system
- calls, but causes errors in libs/symtab because they are not valid in
- the normal, FLAT build context. From Gregory Nutt (2019-08-25).
- * arch/arm/src/samd2l2/sam_i2c_master.c: Correct time calculation.
- From Bernd Walter (2019-08-26).
- * Migrate CXD56xx common code to the common/ directory
- - Move boot to common
- - Move flash to common
- - Move I2C driver to common
- - Move uid to common
- - Add SPH. The SPH is used by the ASMP implementation from the SDK.
- From Alin Jerpelea (2019-08-26).
- * Report git info on /proc/gitrev
- - Report git info on /proc/gitrev. git info reported: branch,
- version, git hash, hostname, usr, build date
- - Use existing .version and procfs for git info
- - Reduce script's coupling
- From David Alessio (2019-08-26).
- * drivers/power/pm_update.c: Fix g_pmcount 16-bits overflow
- when CONFIG_PM_XXENTER_COUNT set big value. From ligd (2019-08-26).
- * drivers/timers/rtc: If the RTC time is successfully set, then update
- the current system time to match. From ligd (2019-08-26).
- * net/tcp/tcp_send.c: Fix RST packet with wrong ack number. From
- biantao (2019-08-26).
- * sched/Kconfig, sched/signal/sig_notification.c: Add configuration
- option to select either the high-priority or low-priority work queue
- for SIG_EVTHREAD notifications. From ligd (2019-08-26).
- * net/tcp/Kconfig, include/nuttx/net/netconfig.h: Make RTO and
- WAIT_TIME configurable. This fix is not really correct: TCP RTO
- really should be calculated dynamically for each TCP connection:
- http://sgros.blogspot.com/2012/02/calculating-tcp-rto.html. From
- zhangyuan7 (2019-08-26).
- * tools/Makefile.unix: Remove some unnecessary conditional logic. From
- Gregory Nutt (2019-08-26).
- * - STM32H7: bbsram issues causing no writes and hardfaults
- - stm32_pwr: Ensure data is flushed on backup domain access changes
- - STM32H7: bbsram convince compiler to perform 32 bit write
- From David Sidrane (2019-08-26).
- * tools/Makefile.unix: Simplify dependencies. From Gregory Nutt
- (2019-08-26).
- * Add missing LF to cpuload procfs output From David Alessio
- (2019-08-26).
- * arch/sim/src/Makefile: Fix dependency problem due to reorganization of
- some directories. From Gregory Nutt (2019-08-26).
- * All function pointer types should be prefaced by the qualifier CODE
- (unless the callable function is known to reside in RAM, then it
- should be FAR). From Gregory Nutt (2019-08-26).
- * arch/arm/src/imxrt: Adds quadrature encoder driver for IMXRT. From
- Nicholas Chin (2019-08-27).
- * syscall/ and related: Fix an error found in build testing.
- Inconsistent conditional compilation led to link errors in certain
- configurations. From Gregory Nutt (2019-08-27).
- * sched/clock/clock_timekeeping.c: Fix cases in time conversion that
- must be >= NSEC_PER_SEC, not > NSEC_PER_SEC. Similar to fix of
- f9e80c4a1e2da24d402fa51affc59fd43b694a12. From Gregory Nutt
- (2019-08-27).
- * arch/arm/src/stm32f7/stm32_sdmmc.c: Fix warning when DMA is not
- enabled. From David Sidrane (2019-08-28).
- * drivers/analog/dac7554.c: Add support to the DAC7554
- digital-to-analog converter. From Augusto Fraga Giachero (2019-08-28).
- * libs/libc/libc.csv: Add ioctl() to fs_ioctl() wrapper for varidic
- case. From Pavel Pisa (2019-08-28).
- * tools/mkexport.sh: Export all variables to support architecture
- independent build against NSH. From Pavel Pisa (2019-08-28).
- * tools/mkexport.sh: The export of gnu-elf.ld at least is required to
- build ELF loadable binaries. Option to link system into different
- memory locations (boot, application after boot-loader, RAM) without
- need to rebuild/reexport NuttX is useful as well. From Pavel Pisa
- (2019-08-28).
- * arch/arm/src/stm32h7/stm32_ethernet.c: Fix some errors in Ethernet
- MAC configuration. From Markus Bernet (2019-08-28).
- * arch/arm/src/imxrt/hardware/imxrt_enc.h: Fix some errors in register
- bit definitions. Noted by Arie de Muijnck. From Gregory Nutt
- (2019-08-28).
- * arch/arm/src/stm32h7/stm32_ethernet.c: Correct stm32h7 mac address
- filtering. Correct the MAC address 0 register definition and remove
- the 'receive all' flag. Now the Ethernet driver only receives packets
- addressed to correct MAC. From Jukka Laitinen (2019-08-28).
- * arch/arm/src/stm32h7/stm32_ethernet.c: Correct memory corruption
- error. The Ethernet driver initialization incorrectly wrote to
- DMACRXCR instead of DMACSR when trying to clear the stopped flags.
- This caused invalid buffer length in the DMACRXCR, causing DMA to
- overflow the RX buffers when large packets are sent to the device.
- From Jukka Laitinen (2019-08-28).
- * drivers/sensors/adt7320.c: Add support for the ADT7320 temperature
- sensor. From Augusto Fraga Giachero (2019-08-28).
- * The non-standard, non-portable type cpu_set_t was created specifically
- to support the NuttX internal, SMP implementation. Any resemblance to
- any other cpu_set_t would be purely coincidental. However it appears
- that that coincidence has occurred. cpu_set_t has an equivalent,
- non-standard, non-portable type in the GNU C library. Compilation of
- libgnat expects this non-standard type to be defined. Who am I to
- stand in the way of progress? This commit removes the conditioning on
- CONFIG_SMP so that cpu_set_t is typed (as a uint8_t) even if
- CONFIG_SMP is not defined. Reference: Bitbucket issue 164. From
- Gregory Nutt (2019-08-29).
- * arch/arm/src/stm32/stm32_adc.c: Add ADC calibration procedure for
- IP_ADC_V1. Tested on STM32F100, and it magically increased result
- accuracy. STM32F103 has the same calibration procedure. I am not
- sure about others. From Matous Pokorny (2019-08-29).
- * net/inet and net/tcp: Fix tcp close flow; free the connection after
- all tcp close process finished. From zhangyuan7 (2019-08-30).
- * tools/Makefile.* and tools/mkexport.sh: This change allows to export
- builtin applications registry into temporarily created directory where
- export archive content is prepared. If the Makefile in apps directory
- does not define export: target then error is print but export
- continues without interruption. It would be more logical to print
- warning but there is no way instruct apps make to not print error.
- From Pavel Pisa (2019-08-30).
- * boards/arm/lpc17xx_40xx/lx_cpu: Add support for the PIKRON LX_CPU
- board. From Pavel Pisa (2019-08-30).
- * board/Kconfig and board/README.txt: Add configuration support for the
- LX_CPU board. From Gregory Nutt (2019-08-30).
- * README.txt and Documentation/README.html: Update README file
- references to include the LX_CPU board README file. From Gregory Nutt
- (2019-08-30).
- * boards/arm/lpc17xx_40xx/lx_cpu/src/lpc17_40_ulan.c: Provides for
- separate, non-standard, PiKRON uLAN registration at build-/run-time.
- From Pavel Pisa (2019-08-30).
- * Tiva directories: Fix TM4C129XNCZAD part number in Kconfig and
- identifiers. Rationale: Fully specify that this is the 212-pin BGA
- package (ZAD ending) and for consistency with earlier changes to other
- Tiva TM4C12x part numbers in Kconfig names and identifiers. From
- Nathan Hartman (2019-08-30).
- * tools/Makefile.win: Port changes of commit
- 3ed844640d25b854457b6cc08f89d907072c0054 to Makefile.win. Untested
- because I don't have a Windows native build platform setup. There
- have been a lot of changes to the build system lately do to directory
- re-organization so likely the native build is broken. Certainly
- tools/configure.bat should be replaces with tools/configure.c. From
- Gregory Nutt (2019-08-30).
- * net/Kconfig: Ethernet packet buffer size cannot be permitted to go
- below 1294 if IPv6 is selected. From Gregory Nutt (2019-08-31).
- * net/: Now handles reception of IPv4 packets with larger IPv4 headers
- containing options. From Gregory Nutt (2019-08-31).
- * boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig: Correct shit
- defconfig file. Recent patch dumped a prohibited .config file as the
- defconfig file when a proper defconfig file created via 'make
- savdefconfig' is required. Bad. From Gregory Nutt (2019-08-31).
- * arch/arm/src/stm32/stm32_adc.c: Correct an error found in build
- testing. Recent commit to add STM32F1 calibration was not properly
- conditioned. Caused compilation errors on all STM32 F2 family
- members. From Gregory Nutt (2019-08-31).
- * arch/arm/src/stm32/stm32_adc.c: Another fix. adc_calibrate() was
- called even when it was conditioned out, causing a link time failure.
- From Gregory Nutt (2019-08-31).
- * net/: Re-order the content of all address-family socket 'connection'
- structures so that they begin with a common prologue. This permits
- better use of logic for different address family types. From Gregory
- Nutt (2019-09-01).
- * net/local/local_conn.c: Removed unnecessary memset(). Connection
- structure is allocated with kmm_zalloc() which will clear all memory.
- From Gregory Nutt (2019-09-01).
- * boards/Board.mk: Add support to pass dependency paths.
- boards/arm/cxd56xx/common/Makefile: Add correct dependency paths for
- board/ and src/ subdirectories. From Gregory Nutt (2019-09-01).
- * net/arp/arp.h: Remove an unused structure definition. From Gregory
- Nutt (2019-09-01).
- * gs2200m supports SIOCGIFHWADDR From Masayuki Ishikawa (2019-09-02).
- * drivers/timers/pwm.c: Move the pwm/pwm.c driver to timers/pwm.c, The
- drivers/pwm contained only one .c file (pwm.c), so to avoid the
- proliferation of sub-directories inside drivers/ is better to move the
- pwm.c driver to drivers/timers. The pwm.h header was moved to
- include/nuttx/timers to keep consistency, so all files referencing it
- need to be updated. From Augusto Fraga Giachero (2019-09-02).
- * libc/libc/unistd/: Add stubs for geteuid(), getegid(), seteuid(), and
- setegid(). NuttX does not currently support effective user/group IDs,
- but these stubs will support linkage of applications that expect these
- POSIX standard interfaces. From Gregory Nutt (2019-09-03).
- * libc/libc/unistd/: Add stubs for setreuid(), and setregid(). NuttX
- does not currently support effective user/group IDs, but these stubs
- will support linkage of applications that expect these POSIX standard
- interfaces. From Gregory Nutt (2019-09-03).
- * arch/arm/src/arm/up_fullcontextrestore.S: When performing stability
- test, the application would cause kernel crash. When I trace the
- stack, I find that register R1 has been changed, and its value is the
- same as register CPSR. In up_fullcontextrestore.S, the restoration of
- R0 and R1 is not atomic: 'msr cpsr r1 will enable interrupts and the
- recovery of r0 and r1 may be interrupted and the value or R1 may be
- changed. Fix is to use a single ldmia to restore R0, R1, and return
- via R15. From Loyen Wang (2019-09-04).
- * drivers/sensors/isl29023.c: Add basic driver of ISL29023 ambient
- light sensor. The basic driver can set operational mode, range, and
- resolution. It can also read lux value in continuous mode. Interrupt
- and the alarm is not implemented. From Matous Pokorny (2019-09-04).
- * Makefile updates From jjlange (2019-09-05).
- * tools/Makefile.win: Change of
- 8883623d07f642e205109389268e97b2a519a77a needs to be applied to
- Makefile.win too. From Gregory Nutt (2019-09-04).
- * Fix some typos. Also minor update to stm32f7/nucleo-144/README.txt and
- stm32l4/nucleo-l496zg/README.txt board documentation. From Juha
- Niskanen (2019-09-05).
- * drivers/rf/dat-31r5-sp.c: Add support to the DAT-31R5-SP+ digital
- attenuator. Creates a the new device driver directory drivers/rf/ to
- support drivers related to RF peripherals. It also adds support for
- the DAT-31R5-SP+ digital attenuator. From Augusto Fraga Giachero
- (2019-09-05).
- * include/nuttx/spi/spi_bitbang.c: Fix build error when the spi bitbang
- variable width support is enabled. From Augusto Fraga Giachero
- (2019-09-05).
- * include/sys/boardctl.h: Fix numbering of board IOCTL commands. Error
- in numbering noted by Nathan Hartman. From Gregory Nutt (2019-09-05).
- * net/tcp/tcp_send.c: Commit a52ceac13ee598696cb907b62326bfd4c111ac6c
- broke IPv4 sending. In cp_send.c:tcp_ipv4_sendcomplete(), ‘ipv4->vhl’
- now needs to be configured before call to tcp_ipv4_chksum(). Noted by
- Jussi Kivilinna in commit comments. From Gregory Nutt (2019-09-06).
- * boards/Kconfig: Fix help text for BOARDCTL_IOCTL. From Nathan
- Hartman (2019-09-06).
- * net/ipforward/ipv4_forward.c: Correct some errors introduced with
- commit a52ceac13ee598696cb907b62326bfd4c111ac6c. Noted by Adam
- Porter. From Gregory Nutt (2019-09-06).
- * tools/Makefile.unix: Rethink creation of new .version file with GIT
- information. Cannot use 'sed -i' in its current form because that
- does not work on macOS, FreeBSD, or NetBSD. From Gregory Nutt
- (2019-09-07).
- * tools/version.h and Makefile.unix: Minor improvement to previous
- commit: Permit custom version strings that do not derive from the
- major and minor version number From Gregory Nutt (2019-09-07).
- * arch/arm/src/stm32/stm32_otg[fs|hs]host.c: STM32 host only initiates
- transfer if buflenl > 0. From Adam Porter (2019-09-08).
- * STM32F7/H7/L4 OTG host: Adam Porter's fix for STM32 FS/HS probably
- should be applied to STM32 F7, H7, and L4 OTG host which are very
- similar. From Gregory Nutt (2019-09-08).
- * EFM32 OTG host: Adam Porter's fix for STM32 FS/HS probably should be
- applied to EFM32 host which which has very similar IP. From Gregory
- Nutt (2019-09-08).
- * arch/arm/src/armv7-a: Fix typo and missing quotation for armv7-a.
- From Oki Minabe (2019-09-08).
- * arch/arm/src/armv7-a/arm_addrenv_utils.c: Fix double increment in
- armv7-a's arm_addrenv_destroy_region(). From Oki Minabe (2019-09-08).
- * arch/arm/src/armv7-a/arm_pgalloc.c: Fix L2 page table mask for
- armv7-a. From Oki Minabe (2019-09-08).
- * drivers/ioexpander/gpio_lower_half.c: Remove limitation when pintype
- > GPIO_INTERRUPT_PIN. From ligd (2019-09-09).
- * STM32, STM32F7, STM32H7, STM32L4, and EFM32 USB Host: This change was
- required to get my devices (CDC-MBIM) to enumerate. Initially the
- system timed out retrieving the USB configuration descriptor. Ctrl IN
- requests got nothing but NAKs. I found that the initial SETUP packet
- and corresponding IN transfer were fine; it was the Status OUT phase
- that was getting the NAK. After receiving a NAK on the Status OUT,
- the code would loop back and issue another ctrl IN, which will always
- fail because the data was already transferred before. Thus the entire
- transfer would 'timeout'. The fix I implemented moves the DATANAK
- timeout loop to only apply to the Status OUT. Of course this worked
- for my devices, but maybe isn't the right solution in general. I
- think that both the ctrl IN and the Status OUT need their own retry
- loops? From Adam Porter (2019-09-09).
- * tools/mkexport.sh: Export LDSCRIPT and STRIP definition and align
- with Makefile.export. From Pavel Pisa (2019-09-10).
- * boards/arm/lpc17xx_40xx/lx_cpu/configs/nsh/defconfig: Tested
- ETHRENET, UARTs, heap in external SDRAM, use of symbol tables for
- applications loading over TFTP and kernel modules insertion. USB and
- SD card enabled but there are some issues (probably config or IO
- ports) still. From Pavel Pisa (2019-09-10).
- * sched/sched_rrgetinterval.c: sched_get_rr_interval() should return
- {0,0} if round-robin scheduling is not selected for the task. From
- Gregory Nutt (2019-09-10).
- * include/sys/types.h: Remove non-standard HP-UX priority range
- definitions. HP-UX is not a supported OS. From Gregory Nutt
- (2019-09-10).
- * Fix typos, 1 in a #define, others in comments. This changes one
- definition: _MQ_TIMEDRECIEVE is changed to _MQ_TIMEDRECEIVE. It
- appears this symbol is not used anywhere. From Nathan Hartman
- (2019-09-11).
- * boards/z80: Correct path to linker script in all boards using the
- ZDS-II toolchain. Yet more fallout from the big boards/ directory
- re-organization. From Gregory Nutt (2019-09-11).
- * boards/: Several more fixes to Make.defs files and README.txt files.
- More collateral damage from the big boargs/ directory
- re-organization. From Gregory Nutt (2019-09-11).
- * boards/arm/imx6/sabre-6quad/scripts/Make.defs: Yet another boards/
- re-organization fix-up. From Gregory Nutt (2019-09-11).
- * libs/libc/builtin/: builtin_isavail() should not set the errno
- variable because this functions may be used by internal OS logic for
- which setting the errno variable would be inappropriate. From Gregory
- Nutt (2019-09-11).
- * boards/arm/stm32f0l0g0/nucleo-g071rb/scripts/ld.script: Fix
- .ARM.exidx section overlap with .data From Daniel Pereira Volpato
- (2019-09-11).
- * Modify all files from 2eb4fe5ffb7dee21b33 to use solution from Daniel
- P. Volpato. From Alan Carvalho de Assis (2019-09-11).
- * Modify all a few more linker scripts missed in 415e3d34482012ab308,
- probably because they were created after 2eb4fe5ffb7dee21b33. From
- Gregory Nutt (2019-09-11).
- * Move EXIDX-related assignments inside of braces so that we can be
- assure that the symbols have the correct alignment. Suggested by
- Daniel P. Volpato From Gregory Nutt (2019-09-12).
- * boards/arm/tiva/tm4c123g-launchpad/scripts/tm4c123g-launchpad.ld: Add
- alignments for the TMC4123G-LaunchPad as well. From Nathan Hartman
- (2019-09-12).
- * boards/arm/stm32/axoloti, omnibusf4, and stm32f4discovery: If
- CONFIG_SCHED_CRITMONITOR is selected, then make sure that ITM and DWT
- resources are enabled before accessing ITM and DWT registers. By
- default, these registers are disabled. Suggested by Juha Niskanen.
- From Gregory Nutt (2019-09-13).
- 8.2 2019-11-16 Gregory Nutt <gnutt@nuttx.org>
- * drivers/mtd/gd25.c: Add support for a new FLASH vendor. From zhangbo_a
- (2019-09-15).
- * drivers/mtd/gd25.c: Add support for GD25 device with 256-Mbit
- capacity. From YanLin Zhu (2019-09-15).
- * drivers/mtd/gd5f.c: Add gigadevice SPI NAND FLASH driver. From
- YanLin Zhu (2019-09-15).
- * tools/Config.mk: Eliminate use of the built-in implicit rules. From
- anchao (2019-09-15).
- * tools/Config.mk and Makefile.unix: Support the incremental build for
- configuration change. From Xiang Xiao (2019-09-15).
- * All linker scripts: Preface all _ebss definitions with . = ALIGN(4).
- Otherwise, the last bytes in the .bss section will not be initialized
- properly. Also convert all linker scripts that use TABs to spaces.
- From Gregory Nutt
- (2019-09-15).
- * All linker scripts: Preface all _edata definitions with . = ALIGN(4).
- Otherwise, the last bytes in the .data section may not be initialized
- properly. Also convert all linker scripts indent in units of 8-spaces
- to units of 4-spaces. From Gregory Nutt (2019-09-15).
- * tools/configure.*: Add -s option to skip .config/Make.defs existence
- check. From Xiang Xiao (2019-09-16).
- * tools/Makefile.unix: Fix build error when issue 'make -B'. mkdir:
- cannot create directory 'staging': File exists:
- tools/Makefile.unix:269: recipe for target 'staging' failed' From
- Xiang Xiao (2019-09-16).
- * drivers/syslog: syslog_force does not set errno so do not test
- against it. Some changes to comments. From Juha Niskanen (2019-09-16).
- * Large Ethernet packet can leads network halt From Bazooka Joe
- (2019-09-16).
- * boards/mips Linker Scripts: The PIC32M* start-up code initializes
- .bss by writing 16 bytes at a time in a loop. The start (_sbss)
- alignment is only required to be 4 bytes since the write is done with
- 4 store instructions. In a previous change, the end address, _ebss,
- was aligned to 16 byte to prevent initializing past the end off the
- .bss region. However, that does not work unless the start address,
- _sbss, is also aligned to 16 bytes. From Gregory Nutt
- (2019-09-16).
- * arch/arm/src/stm32h7/stm32_ethernet.c: Bazooka Joe's fix to the STM32
- F7 Ethernet driver (ec4a7be5c2540207042669e10cc4134e108dae02) should
- be applied to the H7 as well. The other STM32 Ethernet driver already
- has the change. From Gregory Nutt (2019-09-16).
- * Kconfig and arch/Kconfig: Add some protection so that you cannot
- select an architecture-specific header file if the architecture does
- not provide the header file. From Gregory Nutt (2019-09-16).
- * libs/libc/math/Kconfig: Should select the NuttX float.h file
- automatically if the NuttX math library is selected. From Gregory
- Nutt (2019-09-16).
- * boards/arm/cxd56xx/spresense/include/board_pinconfig.h: Add board
- specific pin configurations of CXD5602 pins to fit Spresense board.
- From Takayoshi Koizumi (2019-09-16).
- * boards/arm/cxd56xx/spresense/Kconfig: Add a configuration to select
- if an extension board is attached to the SPresence. If there is no
- extension board attached, the SPresense may run in a low-power mode by
- default (as determined by the CONFIG_CXD56_CUSTOM_PINCONFIG option).
- If an extension board is present, then the SPresense will need to run
- at a higher power mode, selected by the new CONFIG_SPRESENSE_EXTENSION
- option. From Gregory Nutt (2019-09-17).
- * boards: spresense: Add isx012 camera initialization and config From
- Alin Jerpelea (2019-09-17).
- * Add support for STM32G070xx:
- arch/arm/include/stm32f0l0g0: add support for STM32G070CB, STM32G070KB,
- STM32G070RB
- arch/arm/src/stm32f0l0g0: add support for STM32G070CB, STM32G070KB, STM32G070RB
- From Daniel Pereira Volpato (2019-09-17).
- * boards/arm/stm32f0l0g0/nucleo-g070rb: Initial support for board STM32
- NUCLEO-G070RB, including NSH config From Daniel Pereira Volpato
- (2019-09-17).
- * boards/arm/stm32f0l0g0/nucleo-g070rb/scripts/ld.script: Fix
- .ARM.exidx section overlap with .data From Daniel Pereira Volpato
- (2019-09-17).
- * arch/arm/src/stm32f0l0g0/stm32*_pwr.c and stm32g0_rcc.c: Scale
- dynamic voltage and flash wait states properly on STM32G0 chips.
- arch/arm/src/stm32f0l0g0/stm32g0_rcc.c: Set VOS and flash wait states
- properly
- arch/arm/src/stm32f0l0g0/stm32f0l0_pwr.c: Renamed from
- arch/arm/src/stm32f0l0g0/stm32_pwr.c
- arch/arm/src/stm32f0l0g0/stm32g0_pwr.c: Preliminary implementation of
- PWR module for STM32G0 (stm32_pwr_setvos() only)
- From Daniel Pereira Volpato (2019-09-17).
- * boards/arm/stm32f0l0g0/nucleo-g070rb/include/board.h: Enable PWR
- peripheral and increase sysclk to max. frequency. SYSCLK can be
- increased now that VOS and flash wait states are properly configured.
- From Daniel Pereira Volpato (2019-09-17).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_i2c.c: Respect the I2C_M_NOSTART
- flag. Sending a restart condition when not requested will break other
- drivers that depend on this behavior. From Augusto Fraga Giachero
- (2019-09-17).
- * boards: spresense: Add board initialization for isx012 From Alin
- Jerpelea (2019-09-18).
- * include/nuttx/sensors/ioctl.h: Commands for the VL53L1X did not follow
- the sequence. Noted by Daniel Pereira de Carvalho. From Gregory Nutt
- (2019-09-18).
- * net/ipforward, tcp, and udp: Fix a chicken and egg problem by
- eliminating the check of the arp/neighbor tables before packet
- transmission
- 1. For buffered tcp/udp case, if
- CONFIG_NET_ARP_SEND/CONFIG_NET_ARP_IPIN / CONFIG_NET_ICMPv6_NEIGHBOR
- isn't enabled and the table doesn't contain ip<->ethaddr mapping
- yet, the logic will skip the realtransmission and then arp/neighbor
- can't steal the final buffer to generate arp/icmpv6 packet.
- 2. For all other cases, the tcp layer or user program should already
- contain the retransmit logic, the check is redundancy and may
- generate many duplicated packets if arp/icmpv6 response is too slow
- because the cursor stop forward. If user still concern about the
- very first packet lost, he could fix the issue by
- enabling CONFIG_NET_ARP_SEND/CONFIG_NET_ICMPv6_NEIGHBOR at begin.
- From Xiang Xiao (2019-09-18).
- * stm32h7 SDMMC support IDMA, Interrupt driven, pullups and SDIO
- - stm32h7: Supports ARMV7M Stack check
- - stm32h7: sdmmc bug fix writting address 0
- - stm32h7: sdmmc Clean up timming
- - stm32f7: Kconfig typos, formating
- - stm32f7: sdmmc use binary not
- - stm32f7: nxstyle formatting
- - stm32h7: SDMMC Kconfig add Block Setup, Preflight, Delayed Invalidate
- - stm32h7: Correct value of ICR reset
- - stm32h7: SDMMC support IDMA, Interrupt driven, pullups and SDIO
- - stm32h7: Add AXI
- - stm32h7: Workaround for Errata 2.2.9 Reading from AXI SRAM may lead
- to data read corruption
- From David Sidrane (2019-09-19).
- * tools/configure.sh and configure.c: Do not remove CONFIG_SIM_M32 if
- host is specified. From anchao (2019-09-19).
- * libs/libc/unistd/lib_getcwd.c: remove stray sched_unlock(). Also
- fixes several typos. From Juha Niskanen (2019-09-19).
- * Dispatch ICMP_POLL to device's callback list too since icmpv6_neighbor
- still append the callback into this list. From Gregory Nutt
- (2019-09-20).
- * Fix portability issue with date, hostname From David Alessio
- (2019-09-20).
- * net/: Decouple autoconfig and icmpv6 socket to avoid the invalid
- kconfig combination. From Xiang Xiao (2019-09-20).
- * net/icmpv6/icmpv6_autoconfig.c: cmpv6_autoconfig() error handling
- must not overwrite overwrite the error code. From Xiang Xiao
- (2019-09-20).
- * Add support for the BCM43438A1 Bluetooth capability. It also adds a
- serial 'shim' to allow any regular serial port that can support a
- Bluetooth H4 interface (i.e. it has RTS/CTS) to be used to drive a
- Bluetooth device (Get a handle to it via hci_uart_getdevice
- ("/dev/xxx") and then pass it to the btuart_register function. From
- Dave Marples (2019-09-21).
- * boards/arm/stm32/stm32f4discovery/src: Add support for external
- DS1307 module. From Alan Carvalho de Assis (2019-09-22).
- * boards/arm/samd2l2/arduino-m0: Add initial board support for the
- Arduino M0. From Alan Carvalho de Assis (2019-09-22).
- * arch/arm/src/lpc54xx/lpc54_clockconfig.c: Fix PLL settings. For the
- lpc54628 Rev. E board the PLL was not configured properly and the
- board wouldn't boot correctly. I checked the startup files from the
- official IDE and inspected the assembly instructions for the libraries
- used. From Andrei Stefanescu (2019-09-22).
- * boards/arm/samd2l2/arduino-m0/src/sam_usb.c: Add usbnsh board
- configuration. From Alan Carvalho de Assis (2019-09-22).
- * sched/signal/sig_initialize.c: Add some checks for allocation
- failures. From Gregory Nutt (2019-09-23).
- * arch/arm/src/stm32h7/hardware/stm32_adc.h: Fix typos in ADC register
- definitions. From Markus Bernet (2019-09-24).
- * stm32h7: RCC Add PLL3 Support and only enable PLLs if used From David
- Sidrane (2019-09-24).
- * Direct users to our kconfig-frontends snapshot instead of upstream.
- It appears Yann Morin's kconfig-frontends project has gone offline and
- the website at http://ymorin.is-a-geek.org/projects/kconfig-frontends
- is not responding. Until we can identify a "proper" upstream project,
- use the snapshot in NuttX tools repository.
- Replace (almost) all links to Yann Morin's kconfig-frontends in the
- docs to point to the NuttX tools snapshot instead. From Nathan
- Hartman (2019-09-24).
- * drivers/net and net/: Use ntoh() when printing IPv6 addresses so that
- the addresses appear in friendlier host order vs. network order. From
- Bernd Walter (2019-09-24).
- * net/icmpv6/icmpv6_rnotify.c: Correct a bad index in debug output.
- From Bernd Walter (2019-09-25).
- * net/inet/inet_close.c: Fixes two problems, both noted by Bernd Walter:
- 1) Prior to this change the 'pstate' variable was non-NULL only when
- doing a lingering close. Comments to this effect as well as tests
- of pstate should also have been updated. These are confusing and
- inappropriate, but do not lead to incorrect behavior.
- 2) Eliminate an incomplete test when a disconnection event. When a
- disconnection event occurs, the close logic MUST always terminate
- the wait. The conditional test was not incorrect, however, it
- lacked 'else' logic and would simply ignore that disconnection
- event in some cases. That is bad because there may not be another
- disconnection event and that can lead to hangs (or
- at least very, very long delays). From Gregory Nutt (2019-09-25).
- * cxd56xx: various fixes
- - arch: arm: cxd56xx: Support to set any i2c frequency. This change
- supports to be able to set the i2c frequency other than just 100 or
- 400 Hz.
- - arch: arm: cxd56xx: Enable SD clock during access to SD card
- - Improve GNSS low sensitivity with SD card inserted
- - Reduce power consumption by stopping SD clock
- - arch: arm: cxd56xx: Do PANIC() when cpu rx FIFO is overflow. If CPU
- Rx FIFO is overflow, it's fatal error for system. In such a case, this
- change changes to allow the user to notice by calling PANIC() for
- debuggability enhancement.
- - arch: arm: cxd56xx: Fix compile error in sdhci debug code
- - arch: arm: cxd56xx: Remove assertion in cpu tx queue. When CPU Tx
- queue is overflow, it returns -EAGAIN instead of assertion to be
- able to retry.
- - arch: arm: cxd56xx: Add configurations for cpu fifo elements
- - arch: arm: cxd56xx: Fix LPADC configuration. LPADC options defined
- in the same symbol name, so kconfig tool couldn't process
- them correctly.
- - arch: arm: cxd56xx: Update loader and gnssfw ver.17660
- - arch: arm: cxd56xx: Fix hang-up when error interrupt occurs. Fix a
- problem that error interrupts are not cleared.
- - arch: arm: cxd56xx: Fix sdhci semaphore. Fix initial value of
- semaphore in sdhci drive.r
- - boards: cxd56xx: Treat the initial value of LNA power as off. LNA
- is always turned power on when GNSS is started. So it is desirable
- that the initial value of the LNA power is off by default.
- - boards: cxd56xx: Remove initial setting of PIN_AP_CLK. PIN_AP_CLK is
- used as a port selector of SDIO expander on the extension board,
- and is set output low in initalizing. Therefore, this pin cannot be
- used for other board. To avoid this restriction, remove this initial
- operation because this pin is pulled down by default on the
- extension board. From Alin Jerpelea (2019-09-26).
- * arch\arm\src\stm32h7\Kconfig: Add the CRC option in KConfig. From
- Eduard Niesner (2019-09-27).
- * arch/arm/src/stm32l4/stm32l4_dumpgpio.c: Fix using wrong GPIO enable register.
- From Juha Niskanen (2019-09-27).
- * boards/arm/stm32/stm32f429i-disco/include/board.h: Remove forbidden STM32
- header file inclusions. Fix some coding standard issues. From Gregory Nutt
- (2019-09-27).
- * libs/libxx/Kconfig: Automatically select CONFIG_CLOCK_MONOTONIC when
- CONFIG_LIBCXX is selected.
- Remove hardcoded -DCLOCK_MONOTONIC from CFLAGS in Make.defs of several
- configurations. That definition is now automatically adding this define when
- CONFIG_LIBCXX=y. From Daniel Pereira Volpato (2019-09-27).
- * arch/sim: Add stack color feature for ps command. From ligd (2019-09-28).
- * tools/simbridge.sh: Add simbridge.sh to simplify the simulator bridge
- creation. From Xiang Xiao (2019-09-28).
- * libs/libc: move writev from math.csv to libc.csv From Xiang Xiao (2019-09-28).
- * libs/symtab/Makefile and tools/mksymtab.c: Ensure that the generated symbol
- table name same as the configuration option. From Xiang Xiao (2019-09-28).
- * ibs/libc, libs/symtab, tools/ build system: Move symbol table generation into
- libc since the address in symbol table should come from userspace binary for
- protect build, not kernel binary. From Xiang Xiao (2019-09-28).
- * libs/libc: Add CONFIG_MODLIB_SYSTEM_SYMTAB to generate the symbol table for
- dlopen/insmod. From Xiang Xiao (2019-09-28).
- * boards/arm/stm32f7: Remove inclusion of STM32 F7 header files from
- all board.h header files. From Gregory Nutt (2019-09-29).
- * boards/arm/stm32rl4: Remove inclusion of STM32 L4 header files from
- all board.h header files. From Gregory Nutt (2019-09-29).
- * tools/Makefile.unix: Make COMMON_DIR work with
- CONFIG_ARCH_BOARD_CUSTOM. From Xiang Xiao (2019-09-30).
- * Configuration: Auto-select CONFIG_BUILD_LOADABLE when either
- CONFIG_BUILD_KERNEL or CONFIG_BINFMT_LOADABLE is selected. From Xiang
- Xiao (2019-09-30).
- * tools/ Make fragments: Fix the various minor issue for
- NUTTXLIBS/USERLIBS
- 1. Remove libcxx duplication in FlatLibs.mk and from kernel space
- 2. Remove libpass1 from KernelLibs.mk since kernel build doesn't
- support the two pass mode
- 3. Remove FSDIR related comment since file system cannot be disabled
- now
- From Xiang Xiao (2019-09-30).
- * tools/Directories.mk: Remove FSDIRS/NOFSDIRS related logic/comments
- since the file system can no longer be disabled now. From Xiang Xiao
- (2019-09-30).
- * tools/Makefile.host: Add missing binaries from clean target From
- Gregory Nutt (2019-09-30).
- * tools/mksymtab.c: Clean up syntax of help text. From Gregory Nutt
- (2019-09-30).
- * tools/README.txt: Update to show new usage of mksymtab. From Gregory
- Nutt (2019-09-30).
- * Fix cxd56 ostest:
- - boards: spresense: Fix config names in cxd56_ostest.c
- - boards: spresense: Enable ostest in rndis/defconfig
- - boards: spresense: Enable ostest in wifi/defconfig
- From Masayuki Ishikawa (2019-10-01).
- * boards: spresense: Add --gc-sections to LDFLAGS in scripts/Make.defs
- Also, add -ffunction-sections -fdata-sections to ARCHCFLAGS From
- Masayuki Ishikawa (2019-10-01).
- * drivers/crypto/dev_urandom.c: Revert part of a previous change. That
- change was ill informed and introduced warnings when
- CONFIG_DEV_URANDOM_RANDOM_POOL is selected. As noted by Juha
- Niskanen. From Gregory Nutt (2019-10-01).
- * libs/libc/ Kconfig files: Disable EXECFUNCS_HAVE_SYMTAB for kernel
- build. The symbol table don't have any meaning for kernel build since
- all executable binary should be self contained. From Xiang Xiao
- (2019-10-01).
- * tools/mkexport.sh: Copy the essential build script files too and move
- Make.defs/gnu-elf.ld into scripts like board folder layout. From
- Xiang Xiao (2019-10-01).
- * Makefiles: change ${shell pwd} to $(CURDIR) since pwd doesn't exist on
- Windows From Xiang Xiao (2019-10-02).
- * drivers/wireless/ieee802154/mrf24j40/mrf24j40.c: Correct erroneous
- isolation of address mode field and subsequent bad comparison. From
- Gregory Nutt (2019-10-02).
- * arch/arm/src/stm32l4/stm32l4_firewall.c: Correct a test to determine
- if an address lies in FLASH or not. Improper mask caused test to
- always fail. From Gregory Nutt (2019-10-02).
- * tools/testbuild.sh: Add an option to select the number of CPUs to use
- with 'make' From Gregory Nutt (2019-10-02).
- * tools/testbuild.sh: Use CPU option on 'make distclean' too, but not
- 'make olddefconfig. From Gregory Nutt (2019-10-02).
- * tools/Config.mk: Support the ability to change the CFLAGS for the
- compilation of a single file. Set special compiler options as follows
- the rule: sourcefile + fixed suffix "_[A|C|CPP|CXX]FLAGS"
- apps/examples/hello/Makefile: $(SRCDIR)/hello_main.c_CFLAGS = -DTEST
- From Xiang Xiao (2019-10-03).
- * Spresense smp
- - arch: arm: Add ARCH_GLOBAL_IRQDISABLE to ARCH_CHIP_CXD56XX in Kconfig
- - arch: arm: cxd56xx: Make fpuconfg() public in cxd56_start.c. NOTE:
- fpuconfig() is called in both cxd56_start.c and cxd56_cpustart.c
- - arch: arm: cxd56xx: Add support for SMP. NOTE: To run cxd56xx in
- SMP mode, new boot loader which will be released later must be used.
- - arch: arm: cxd56xx: Add irq routing for SMP in cxd56_irq.c. NOTE: In
- cxd56xx, each external interrupt controller can be accessed from a
- local APP_DSP (Cortex-M4F) only. This change supports IRQ routing
- for SMP by calling up_send_irqreq() in both up_enable_irq() and
- up_disable_irq().
- - boards: spresense: Add smp configuration
- From Masayuki Ishikawa (2019-10-03).
- * boards: cxd56xx: common: Add .gitignore not to show untracked files.
- From Masayuki Ishikawa (2019-10-03).
- * tools/mkexport.sh: Should export full content for flat build even
- with CONFIG_BUILD_LOADABLE. From Xiang Xiao (2019-10-03).
- * arch/arm/src/stm32/stm32_usbdev.c: Fix some new warnings reported by
- gcc 8.3.1 in build tests. From Gregory Nutt (2019-10-03).
- * sched/signal/sig_default.c: fix undefined reference to sched_suspend
- if CONFIG_SIG_SIGSTOP_ACTIO not defined and eliminate compilation
- warnings From raiden00pl (2019-10-04).
- * arch: armv7-m: Fix a deadlock in up_sigdeliver() in SMP mode. In
- previous implementation, up_disable_irq() was called before recovering
- local context. However, I noticed a deadlock happens in the following
- situation. For example, if up_sigdevliver() is in progress on CPU0 and
- CPU1 has called up_cpu_paused to CPU0, hence g_cpu_irqlock has been
- locked by CPU1, in this case, we would see a deadlock in later call of
- enter_critical_section() to restore irqcount.
- To avoid this situation, we need to call enter_critical_section() to
- break the deadlock. From Masayuki Ishikawa (2019-10-04).
- * armv7-a and xtensa: Apply Masayuki Ishakawa's change to these these
- other SMP architectures as well. From Gregory Nutt (2019-10-04).
- * sched/wdog/wd_start.c: Back out a kludge-workaround for an SDCC
- compiler problem fix back in Feb 2017. That workaround now appears to
- conflict with newer GCC versions using unsupport warning options.
- From Gregory Nutt (2019-10-04).
- * drivers/wireless/bluetooth/bt_uart_bcm4343x.c: BCM4343x HCIUART
- support. From Dave Marples (2019-10-04).
- * arch/arm/src/lpc17xx_40xx/lpc17_40_ethernet.c: Use usleep() instead of
- up_delay() for large wait times. From Augusto Fraga Giachero
- (2019-10-04).
- * boards/arm/tiva/tm4c123g-launchpad/: SPI CAN functionality on
- TM4C123GXL - ek-tm4c123gxl_spi_can. From DisruptiveNL (2019-10-05).
- * arch/sim/src/sim/up_hostfs.c: hostfs skip '.' and '..' in readdir'
- From Xiang Xiao (2019-10-07).
- * tools/mkromfsimg.sh: Use sed to add const to ROMFS declarations so
- that they like in FLASH not RAM. From Bernd Walter (2019-10-07).
- * arch/arm/src/stm32h7/hardware/stm32_tim.h: Fix ATIM_BDTR_BK2P define
- arch/arm/src/stm32h7/hardware/stm32_tim.h: Fix ATIM_AF2 bitfields
- wrongly allocated to ATIM_AF1
- arch/arm/src/stm32f7/hardware/stm32f76xx77xx_tim.h: Fix ATIM_AF2
- bitfields wrongly allocated to ATIM_AF1
- arch/arm/src/stm32h7/stm32_tim.c: Fix some copy'n'paste errors on
- defines
- From Daniel Pereira Volpato (2019-10-07).
- * arch/arm/src/stm32f0l0g0: Support timers available on STM32G070
- arch/arm/src/stm32f0l0g0: Pinmap TIM1 GPIOs available for STM32G0
- arch/arm/src/stm32f0l0g0: Add TIM driver lowerhalf
- arch/arm/src/stm32f0l0g0/stm32_tim_lowerhalf.c: Handle 32-bit
- overflow on some calculations.
- From Daniel Pereira Volpato (2019-10-07).
- * boards/arm/stm32f0l0g0/nucleo-g070rb/include/board.h: Add TIMx clock
- frequencies boards/arm/stm32f0l0g0/nucleo-g070rb: Enable basic timers
- From Daniel Pereira Volpato (2019-10-07).
- * drivers/wireless/bluetooth/bt_uart_bcm4343x.c: Fix small a small bug
- found during testing.
- drivers/wireless/bluetooth/bt_uart_shim.c: Change the task name for
- the HCI receiver task to bring it into line with the transmitter
- task. From Dave Marples (2019-10-08).
- * drivers/usbdev/cdcacm.c: Fix memory leak of RX failsafe timer. From
- Juha Niskanen (2019-10-08).
- * boards: arm: cxd56xx: different updates
- - boards: cxd56xx: spresense: initialize SCU at boot. The SCU has to
- be initialized at bootup on spresense board because several
- functions depend on it.
- - boards: arm: cxd56xx: add audio control definitions. Add audio
- control definitions for the audio implementation.
- - boards: arm: cxd56xx: add audio defconfig. Add defconfig for the
- audio implementation
- From Alin Jerpelea (2019-10-08).
- * Old style exceptions --> new style for Python 3 From Christian Clauss
- (2019-10-08).
- * boards: spresense: add audio implementation
- - boards: arm: cxd56xx: add audio implementation. Add the board audio
- control implemantation
- - boards: arm: cxd56xx: update audio defconfig. Small updates to
- build the platforms specific audio driver
- - boards: arm: cxd56xx: drivers: add audio implementation. Add the
- audio implementation for CXD56XX chip
- - boards: arm: cxd56xx: fix Load switch GPIO. During the initial
- bringup the grong GPIO was set.
- From Alin Jerpelea (2019-10-09).
- * drivers/pipes/fifo.c: mkfifo should return -1 and set errno on
- failure From raiden00pl (2019-10-11).
- * We have ported NuttX on Renesas RX65N Micro-controller. This port
- includes following interfaces: (1) Serial (UART) driver (13 ports) and
- (2) Ethernet driver. This port is provided on two boards: (1) RSK
- RX65N-2MB and (2) GR-Rose. The port is built on Cygwin environment.
- As part of this port, we have created two documents: (1) Readme.txt
- for each board, and (2) User manual to provide information about
- development environment setup. Both these documents are placed under
- (1) /boards/renesas/rx65n/rx65n-grrose and (2)
- boards/renesas/rx65n/rx65n-rsk2mb. From Anjana (2019-10-11).
- * boards: arm: cxd56xx: audio: add power_control and audio_tone_generator
- - boards: arm: cxd56xx: audio: add power_control. Add a simple way to
- control the audio power for userspace apps
- - boards: arm: cxd56xx: audio: add audio_tone_generator. Add a simple
- way to control the audio buzzer with defined frequency for userspace
- apps.
- From Alin Jerpelea (2019-10-11).
- * libs/libxx/Kconfig: CONFIG_LIBC_LOCALE is needed to build libcxx. A
- math library is also needed, however, here are various ways to provide
- a math library so CONFIG_LIBM is not now set.
- boards/arm/stm32l4/nucleo-l476rg/scripts/Make.defs: Add required
- definitiions if libcxx is enabled.
- From Matias N (2019-10-12).
- * Fix posix spawn
- - boards: lc823450-xgevk: Fix build error for posix_spawn
- - boards: stm32f4discovery: Fix build error for posix_spawn
- From Masayuki Ishikawa (2019-10-13).
- * Gs2200m with reset
- - include: wireless: Add reset handler to struct gs2200m_lower_s
- - drivers: wireless: Add reset and unreset sequence in gs2200m.c
- - boards: cxd56xx: Add reset handler to cxd56_gs2200m.c
- From Masayuki Ishikawa (2019-10-15).
- * Fix cpustart for Cortex-M SMP
- - arch: lc823450: Fix lc823450_cpustart.c. In Cortex-M, offset 0 in
- vector table stores initial stack pointer and offset 4 stores reset
- vector.
- - arch: sam34: Fix sam4cm_cpustart.c. In Cortex-M, offset 0 in vector
- table stores initial stack pointer and offset 4 stores reset vector.
- From Masayuki Ishikawa (2019-10-16).
- * drivers: serial: Fix data corruption when outputting data in SMP mode
- From Masayuki Ishikawa (2019-10-16).
- * sched/pthread, Documentation: fix pthread_key_delete, pthread_self and
- pthread_yield documentation and some comments. From Juha Niskanen
- (2019-10-17).
- * arch/arm/src/stm32l4/Kconfig: Add STM32L4R5ZI chip type. From Jussi
- Kivilinna (2019-10-17).
- * include/sys/time.h: include sys/select.h to compatible with earlier
- standards. According to earlier standards, usage of select(), FD_CLR,
- FD_ISSET, FD_SET and FD_ZERO just need include headers: sys/time.h,
- sys/types.h and unistd.h. So include sys/select.h in time.h to
- compatible with it. Or mbedtls library would build break in calling
- select() and FD_* related functions.
- https://pubs.opengroup.org/onlinepubs/007908799/xsh/select.html
- From liuhaitao (2019-10-17).
- * sched/signal: Add support for SIGPIPE. SIGPIPE uses
- SIG_SIGPIPE_ACTION which terminates process by default. It also could
- be ignored. From liuhaitao (2019-10-17).
- * tools/LibTargets.mk: Make libapps.a by the default target. From
- Xiang Xiao (2019-10-17).
- * include/nuttx/timers/pwm.h: Correct some typos.
- arch/arm/src/stm32f0l0g0: Add PWM support. From Daniel Pereira
- Volpato (2019-10-17).
- * boards/arm/stm32f0l0g0/nucleo-g070rb: Add PWM support and GPIO_TIM3_*
- mappings
- boards/arm/stm32f0l0g0/nucleo-g070rb/configs/nsh: Enable PWM example
- From Daniel Pereira Volpato (2019-10-17).
- * boards: stm32f4discovery: Add support for MMCSD_SPI. This change
- works with STM32F4 Discovery Shield plus microSD click From Masayuki
- Ishikawa (2019-10-18).
- * boards: spresense: audio: add missing header. Add the missing header
- to silence compiler warnings From Alin Jerpelea (2019-10-18).
- * boards/arm/am335x/beaglebone-black/src/: Use the same bring-up
- structure as is used with other boards. From Gregory Nutt (2019-10-18).
- * arch/arm/src/stm32/hardware/stm32f40xxx_pinmap.h: ETH_RMII_REF_CLK is
- an input. From Gregory Nutt (2019-10-18).
- * net/udp/udp_psock_sendto_unbuffered.c: Add a check for the device
- that is polling. In the multiple network device case, this check is
- necessary to prevent sending the UDP packet to the wrong device. This
- change addresses only the unbuffered case. The buffered case is more
- complex. See patch attached to issue 172. From Gregory Nutt
- (2019-10-18).
- * net/udp/udp_psock_sendto_buffered.c: Add a check for the device that
- is polling. In the multiple network device case, this check is
- necessary to prevent sending the UDP packet to the wrong device. This
- change addresses the buffered case. From Gregory Nutt (2019-10-18).
- * boards/sim/sim/sim/configs:: Add -m32 to HOSTLDFLAGS if enable
- CONFIG_SIM_M32. Fixes the following link errors:
- /usr/bin/ld: i386 architecture of input file `nettest_host.hobj' is
- incompatible with i386:x86-64 output
- /usr/bin/ld: i386 architecture of input file `nettest_server.hobj' is
- incompatible with i386:x86-64 output
- From Xiang Xiao (2019-10-19).
- * tools/indent.sh: Add a command line option to suppress reformatting
- of comments. This is useful when comments are already correct and/or
- contain formatted data such as tables or lists. From Gregory Nutt
- (2019-10-19).
- * arch/arm/src/s32k1xx: Support configuration and initialization of the
- flash configuration bytes. In
- boards/arm/s32k1xx/s32k1**evb/scripts/flash.ld: Create a special
- FLASH section to hold the FLASH configuration bytes. From Gregory
- Nutt (2019-10-19).
- * arch/arm/src/s32k1xx/Kconfig: Add some help text for the flash
- configuration fields. From Gregory Nutt (2019-10-19).
- * boards/arm/imxrt/imxrt1060-evk/src/imxrt_lcd.c: Add support for LCD.
- Clean up some LCD-related interfaces. From Fabio Balzano (2019-10-20).
- * arch/sim/src/sim/up_tickless.c: Correct the calculation of the timer
- period. Fix some missing initialization of globals and missing return
- values. From Matias N (2019-10-20).
- * fix early timespec overflow if using 32 bit system timer From Jens
- Gräf (2019-10-21).
- * STM32H7 Ethernet: Fix ETH_MACMDIOAR_CR_MASK bit mask. From Markus
- Bernet (2019-10-21).
- * boards: cxd56xx: add board support for LTE modem and modem driver
- - drivers: modem: add altair modem driver. Add modem driver for the
- altair modem.
- - boards: cxd56xx: add board support for LTE modem. Add the Altair
- LTE modem support on the Spresense board.
- - boards: cxd56xx: spresense: add LTE defconfig. Add the Altair LTE
- modem defconfig for spresense board
- From Alin Jerpelea (2019-10-21).
- * arch/sim/src/sim: Fixes compilation for sim target when enabling power
- management. From Matias N (2019-10-22).
- * stm32f4dis with gs2200m:
- - drivers: wireless: Add SPI_SELECT() to _read/write_data() in gs2200m.c
- - boards: stm32f4discovery: Add support for gs2200m. NOTE: GS2200M
- for Spresense works with mikroe STM32F4 Discovery Shield (slot3)
- From Masayuki Ishikawa (2019-10-22).
- * STM32H7: Flash driver and Serious BUG fixes:
- - arch/arm/Kconfig:Add ARCH_HAVE_PROGMEM for STM32H7
- - stm32h7:Add FLASH progmem support
- - stm32h7:pwr add CPUCR & D3CR
- - stm32h7:syscfg Add PWRCR
- - stm32h7:rcc Properly configure VOS and Flash
- From David Sidrane (2019-10-22).
- * arch/arm/src/s32k1xx/s32k1xx_flashcfg.c: Flash configuration array
- should be const (although it really does not matter in this context).
- From Gregory Nutt (2019-10-22).
- * drivers/usbhost: Remove all traces of support for the installable GPL
- RTL8187 USB host driver. From Gregory Nutt (2019-10-22).
- * boards: cxd56xx: spresense: add board_timerhook function
- - boards: cxd56xx: spresense: add board_timerhook function. In
- preparation for SDK we muts have a weak board_timerhook function
- - drivers: usbhost: add missing endif. By accident an endif was
- missing.
- - boards: cxd56xx: audio: add build barrier. The audio implementation
- should not be bebuilt if the config CONFIG_CXD56_AUDIO is not set.
- - arch:arm:cxd56xx: add ge2d.h header. The header is used by
- imageproc.
- From Alin Jerpelea (2019-10-23).
- * drivers/usbhost/usbhost_hidkbd.c: Fix keyboard debounce algorithm
- used when CONFIG_HIDKBD_NODEBOUNCE is undefined. From Jeff Theusch
- (2019-10-23).
- * boards: cxd56xx: spresense: add Spresense Image Processor. Enable
- support for accelerated format convertor, rotation and so on.using the
- CXD5602 image processing accelerator.
- boards:cxd56xx:spresense: initalize GNSS and GEOFENCE at boot. Add
- the optional initialization of GNSS and GEOFENCE at bootif the
- drivers are enabled.
- From Alin Jerpelea (2019-10-23).
- * drivers/usbhost/Kconfig: Change default for CONFIG_HIDKBD_POLLUSEC
- per recommendation of Jeff Theusch. From Gregory Nutt (2019-10-23).
- * tools/nxstyle.c: Add detection of carriage returns. Improve
- reporting of TABs. From Gregory Nutt (2019-10-23).
- * i.MXRT1060-EVK (mostly): Add basic LCD support for the board
- IMXRT1060-EVK. From Fabio Balzano (2019-10-23).
- * boards/arm/imxrt/imxrt1060-evk: Added Littlevgl demo configuration
- into imxrt1060-evk board directory. From Fabio Balzano (2019-10-23).
- * boards/arm/imxrt/imxrt1060-evk/README.txt: Fix typos and whitspace
- problems in README file. From Fabio Balzano (2019-10-23).
- * boards/arm/imxrt/imxrt1060-evk/README.txt: Added instructions to run
- the LVGL demo. From Gregory Nutt (2019-10-23).
- * arch/sim/src/Makefile: Fixes missing recursion into sim board
- directory for dependency generation. From Matias N (2019-10-24).
- * arch/sim/src/sim/up_idle.c: Report activity on simulated UART. From
- Matias Nitsche (2019-10-24).
- * boards/arm/imxrt/imxrt1060-evk: Fix FT5X06 CTRSTn pin configuration,
- increased number of pollwaiters for the FT5X06, tuned resolution
- during pointer dragging. From Fabio Balzano (2019-10-24).
- * boards: cxd56xx: spresense: cleanup and new defconfig
- - arch: cxd56xx: remove NVIC_SYSH redefinition. The NVIC_SYSH is
- already defined in nvicpri.h
- - boards: cxd56xx: spresense: configs: enable SPRESENSE_EXTENSION.
- Enable high current mode for the Spresense Extension board on all
- examples that have SDCARD support
- - boards: cxd56xx: spresense: ifdef SDCARD_TXS02612. The SD Card
- TXS02612 port expander is hosted on the Extension board and should
- not be enabled if the extension board is not prezent.
- - boards: cxd56xx: spresense: configs: increase MQ_MAXMSGSIZE. This
- change is needed by the display driver on spresense platform
- - boards: cxd56xx: spresense: config: add lcd examples defconfig.
- This is a configuration for the basic nx examples.
- From Alin Jerpelea (2019-10-24).
- * tools/nxstyle.c: Add logic to detect if there is a blank line
- following the final right brace. sched/: Applied the modified
- nxstyle to all C file as a test. From Gregory Nutt (2019-10-24).
- * arch/arm/src/imxrt/imxrt_lpi2c.c: Fix a warning about an unused local
- variable. Found in build testing. From Gregory Nutt (2019-10-24).
- * Add DMA support for STM32L4+ series
- - Add DMA support for STM32L4+
- - stm32l4xrxx_rcc: enable "Range 1 boost" mode if any PLL freq above
- 80 Mhz
- From Jussi Kivilinna (2019-10-25).
- * stm32l4_otgfs: enable OTGFS for STM32L4+ series. The OTGFS peripheral
- on stm32l4x6 and stm32l4rxxx reference manual is exactly the same.
- This change also adds missing bits and fixes errors in stm32l4x5xx and
- stm32l4x6xx OTGFS register maps. From Jussi Kivilinna (2019-10-25).
- * drivers/mtd/gd25.c: Add 4byte address operation for capacity larger
- than 128Mbit. From YanLin Zhu (2019-10-25).
- * tools/nxstyle.c: Eliminate false alarm errors on comments that are to
- the right of code when the comment terminator is on the same line as
- the last of the comment. From Gregory Nutt (2019-10-25).
- * drivers/modem/altair/Kconfig: Default for CONFIG_MODEM_ALTMDM should
- be 'n' and it must depend on CONFIG_SPI_EXCHANGE. From Gregory Nutt
- (2019-10-25).
- * This change corrects a problem with NSH: NSH was calling the OS
- internal function ramdisk_register() in violation of the portable
- POSIX interface. This change solves the problem by introducing a new
- boardctl() function BOARDIOC_MKRD which moves the RAM disk creation
- into the OS. From Gregory Nutt (2019-10-26).
- * drivers/Kconfig: Add an option, CONFIG_DRVR_MKRD, to control whether
- or not the mkrd() implementation is build. Otherwise, if mkrd() is
- built unconditionally, it will be drawn into every build whether it is
- used or not and will increase the build size. From Gregory Nutt
- (2019-10-26).
- * board/boarctl.c: Add support for the new BOARDIOC_ROMDISK command.
- This allows applications to create ROMFS block drivers without illegal
- direct calls to romdisk_register.
- include/sys/boardctl.h: Add basic definitions to support a ROM disk
- creation boardctl() command.
- From Gregory Nutt (2019-10-26).
- * drivers/Kconfig: If CONFIG_DRVR_MKRD is selected, then we must
- auto-select CONFIG_FS_WRITABLE and CONFIG_FS_READABLE. From Gregory
- Nutt (2019-10-26).
- * boards/arm/stm32/axoloti: Every BSP must provide boot
- board_late_initialize() AND board_app_initialize(). That is because
- you never now how the configuration will be set. CONFIG_LIB_BOARDCTL
- may be auto-selected by applications that need boardctl() support...
- requiring the existence of board_app_initialize(). From Gregory Nutt
- (2019-10-26).
- * tools/nxstyle.c: Eliminate false alarms when checking for alignment
- of comments to the right of code. Fix check for C++ style comments so
- that strings like http:// and https:// do not generate false alarms.
- From Gregory Nutt (2019-10-27).
- * boards/arm/sama5/sama5d4-ek/src/sam_appinit.c: Fix error found in
- build testing. Bad conditional compilation for
- board_app_initialize(). Should depend only on CONFIG_LIB_BOARDCTL,
- CONFIG_BUILD_KERNEL is irrelevant. From Gregory Nutt (2019-10-27).
- * boards/arm/dm320/ntosd-dm320/src/: Fix error found in build testing.
- All configurations must provide boar_app_initialize() which is
- required if CONFIG_LIB_BOARDCTL is enabled. From Gregory Nutt
- (2019-10-27).
- * arch/arm/src/stm32 and boards/arm/stm32/olimex-stm32-p207/src: Fix an
- error found in build testing. There is not relationship be
- CONFIG_STM32_USBHOST and CONFIG_USBHOST, yet they they are used
- interchangeably. This means that can (and did) get out of synch
- causing link time failures. This change adds logic to select
- CONFIG_USBHOST when CONFIG_STM32_USBHOST is selected, keeping the two
- settings synchronized. Furthermore, since CONFIG_STM32_USBHOST is the
- authoritative setting, all occurrences of CONFIG_USBHOST were replaced
- with CONFIG_STM32_USBHOST in the architecture code and in this one
- board code that was producing the error in build testing. From
- Gregory Nutt (2019-10-27).
- * boards/arm/a1x/pcdueno-a10/src/: Fix error found in build testing.
- All configurations must provide boar_app_initialize() which is
- required if CONFIG_LIB_BOARDCTL is enabled. From Gregory Nutt
- (2019-10-27).
- * boards/arm/stm32/stm32vldiscvoery/src/: Fix error found in build
- testing. All configurations must provide boar_app_initialize() which
- is required if CONFIG_LIB_BOARDCTL is enabled. From Gregory Nutt
- (2019-10-27).
- * arch/arm/src/stm32l4 and boards/arm/stm32l4/nucleo-l476rg: Add
- support for LPTIM timers on the STM32L4 as PWM outputs. From Matias N
- (2019-10-27).
- * boards/arm/kinetis/twr-k60n512/src/k60_appinit.c: Suppress errors
- related to card detect GPIO configuration if SDHC support is not
- enabled. From Gregory Nutt (2019-10-27).
- * drivers/can/mcp2515.c and boards/arm/stm32/nucleo-f4x1re: MCP2525
- SPI STD-EXT ID fixes. Verified on MCP2525 tested on nucleo-f4x1re.
- From DisruptiveNL (2019-10-28).
- * drivers/mtd/gd25.c and gd5f.c: Missed in previous change. Without
- this change, the compiler will complain that spi_devid cannot be
- found. From Xiang Xiao (2019-10-29).
- * drivers/wireless/ieee80211/bcmf_chip_43362.c: Fix bcmf_chip_43362
- compile error. From Xiang Xiao (2019-10-29).
- * fs/driver/fs_findmtddriver.c: Fix compile failed if NO CONFIG_MTD.
- From ligd (2019-10-29).
- * arch/arm/src/stm32/stm32_sdio.c: SDIO Fix system hang on card eject.
- From David Sidrane (2019-10-29).
- * arch/arm/src/stm32f7/stm32_sdmmc.c: SDMMC Fix system hang on card
- eject. From David Sidrane (2019-10-29).
- * arch/arm/src/stm32h7/stm32_sdmmc.c: SDMMC Fix system hang on card
- eject. From Gregory Nutt (2019-10-29).
- * arch/arm/src/stm32l4/stm32l4_sdmmc.c: SDMMC Fix system hang on card
- eject. From David Sidrane (2019-10-29).
- * drivers/mmcsd/mmcsd_sdio.c: Set wrbusy after success of all the
- operations. Any failure could leave wrbusy set when it should not be
- if the operation failed. From David Sidrane (2019-10-29).
- * drivers/mmcsd/mmcsd_sdio.c: Enter a removed card state On a failure.
- If we fail to read cardstatus in mmcsd_transferready consider this a
- hard error and set the card to removed. From David Sidrane
- (2019-10-29).
- * arch/arm/src/stm32f7/stm32_otghost.c: OTGFS_EPTYPE_INTR should be
- OTG_EPTYPE_INTR. From Gregory Nutt (2019-10-29).
- * drivers/wireless/ieee80211/mmc_sdio.c: In sdio_io_rw_extended(), the
- behavior of the DMA setup differs, depending on the hardware
- capability SDIO_CAPS_DMABEFOREWRITE. If this capability is set, then
- the DMA setup much be done before the transfer setup. Dave Marples
- modified this file for the i.MXRT USDHC which does have the
- SDIO_CAPS_DMABEFOREWRITE. Xiao Xiang reports that this change breaks
- the Wifi on the Photon which does not report the
- SDIO_CAPS_DMABEFOREWRITE and suggests reverting the change. In
- reality both changes are correct but must be conditioned on the DMA
- capability of the underlying SDIO device. From Gregory Nutt
- (2019-10-29).
- * drivers/wireless/ieee80211: Add tools/nxstyle to all of the C files
- in this directory. From Gregory Nutt (2019-10-29).
- * NXP k66 Ethernet
- - Kinetis:Add TJA1100 Phy
- - Kinetis:enet.c formated with nxstyle
- - net:mii Cleanup TJA1100 Support. Formating and adding mask and
- shifts.
- - net:Kconfig Cleanup formatting.
- From David Sidrane (2019-10-30).
- * drivers/mmcsd/mmcsd_sdio.c: Align DMA buffer for MBURST size. From
- David S. Alessio (2019-10-31).
- * drivers/mtd/gd25.c: spi_devid argument was not used in
- initialization. GD25 driver was always using priv->spi_devid
- initialized to zero by kmm_zalloc(). This change initializes it from
- the supplied function argument. From Juha Niskanen (2019-10-31).
- * Add INVIOLABLES.txt file. From Gregory Nutt (2019-10-31).
- * This change brings in the drivers needed to support OpenAMP. These
- changes were ported from https://github.com/FishsemiCode/nuttx. The
- current state: Most drivers do now compile but are not yet verified.
- This port was effort of a number of people, I rather arbitrarily gave
- authorship to Guiding Li because he has the largest number of
- fundamental quashed commits from the Xiamoi repository. From Guiding
- Li (2019-11-02).
- * include/nuttx/usb/usbdev.h and usbhost.h: Add CODE qualifier to
- function pointers. From Gregory Nutt (2019-11-02).
- * drivers/rptun/rptun.c and fs/hostfs/hostfs_rpmsg.c: Fix 64-bit build
- issue in rpmsg driver. From Xiang Xiao (2019-11-03).
- * drivers/rptun/rptun.c: Switch open/close/seek/read to file_*
- version. From Xiang Xiao (2019-11-03).
- * Documentation/NuttShell.html: Update to include the new rptun
- command. From Gregory Nutt (2019-11-03).
- * net/netlink/netlink_route.c (mostly): This completes a minimal
- netlink implementation that will retrieve the ARP table.
- net/netlink: Add basic hooks (only) to support the NETLINK_ROUTE
- protocol. From Gregory Nutt (2019-11-03).
- * Documentation/NuttShell.html: Document the new -t option for the
- 'arp' command. From Gregory Nutt (2019-11-03).
- * net/netlink/: Misc bugfixes from initial testing using NSH 'arp -t'
- command. From Gregory Nutt (2019-11-03).
- * Various drivers: Cloned logic. On error, memory was freed, but the
- error was not returned. It just continued as though no error
- happened. From Petro Karashchenko (2019-11-03).
- * sched/semaphore/spinlock.c: Remove support for re-entrant spinlocks.
- They seem like a good idea, but they are never used. From Xiang Xiao
- (2019-11-03).
- * sched/semaphore/spinlock.c: spin_trylock handle memory barrier and
- instrumentation correctly. From Xiang Xiao (2019-11-03).
- * drivers/addrenv.c: Move up_addrenv_ implementation to common folder.
- From Xiang Xiao (2019-11-03).
- * include/nuttx/ioexpander/gpio.h: Add guards so that file content will
- not compile unless CONFIG_DEV_GPIO is selected. From ligd (2019-11-03).
- * audio/audio.c: Add message type to support audio trigger. From
- anchao (2019-11-03).
- * include/nuttx/mm/mm.h: Remove the assumption that one character
- equals eight bits. From Xiang Xiao (2019-11-03).
- * drivers/serial/serial.c: Only real uart will call pm_activity().
- From ligd (2019-11-03).
- * include/nuttx/rptun/rptun.h: openamp/open_amp.h must not be included
- unless CONFIG_RPTUN (and heance CONFIG_OPENAMP) are selected. From
- Alin Jerpelea (2019-11-04).
- * boards/arm/cxd56xx/spresense/configs/lte/defconfig: Select
- CONFIG_MODEM_ALTMDM. From Alin Jerpelea (2019-11-04).
- * boards/boardctl.c: Expose power manager function through boardctl
- interface. From Xiang Xiao (2019-11-04).
- * Documentation/NuttShell.html: Update document to at least mention the
- new pmconfig command. From Gregory Nutt (2019-11-04).
- * arch/: Add rpmsg_serialinit() call to every implementation of
- up_initialize() for rpmsg uart initialization. From Xiang Xiao
- (2019-11-04).
- * drivers: modem: altair: auto select SPI. The Altair hardware is
- connected to SPI and will not work without SPI support. The
- SPI_EXCHANGE is automatically enabled (default y) when SPI is
- selected. Since SPI is mandatory it should be auto selected. From
- Alin Jerpelea (2019-11-04).
- * net/netlink: The NETLINK_ROUTE logic needs to return the first queued
- response and not attempt to match up reponses with requests. That is
- the Linux compatible way. Also, use queue.h functions for list
- management and fix an error in arp_snapshot(). From Gregory Nutt
- (2019-11-04).
- * arch/arm/src/imxrt/imxrt_serial.c: This change improves the
- performance of UART serial ports on the IMXRT by enabling the RX & TX
- FIFOS and transmission on the holding register being empty (TDRE)
- rather than transmission being complete (TC). From Dave Marples
- (2019-11-04).
- * boards/arm/stm32f0l0g0/nucleo-g070rb: Add button driver support, Add
- driver support. Add GPIO example. Includes fixes to the GPIO driver
- support from Guillherme Amaral <gvr@certi.org.br>. From Daniel
- Pereira Volpato (2019-11-04).
- * boards/arm/stm32f0l0g0/nucleo-g070rb/src/stm32_boot.c: Fix some
- erroneous conditional compilation in board_late_initialize(). From
- Gregory Nutt (2019-11-04).
- * boards/arm/stm32/nucleo-f4x1re/src/stm32_boot.c: Fix some erroneous
- conditional compilation in board_late_initialize(). From Gregory Nutt
- (2019-11-04).
- * libs/libc/string/Make.defs: Need to include build support for files
- needed when CHAR_BIT != 8. From Gregory Nutt (2019-11-02).
- * drivers/serial/serial_io.c: Uses signal numbers, but does not include
- signal.h. This has not problems but missing signal definitions have
- been seen in certain cases. From David Sidrane (2019-11-04).
- * include/sys/boardctl.h: pm.h is in include/nuttx/power/pm.h, not
- include/nuttx/pm.h. From Gregory Nutt (2019-11-04).
- * boards/boardctl.c: pm_stay() was used were pm_staycount() was
- intended. The caused an error: void value not ignored as it ought to
- be. From Gregory Nutt (2019-11-04).
- * boards/Kconfig: Newer Olimex E407 boards are populated with
- STM32407ZE chips. From David Alessio (2019-11-05).
- * fs/smartfs/smartfs_smart.c: Fix O_CREAT without O_TRUNC truncating
- existing file. Also nothing in POSIX says that O_APPEND should
- prevent O_TRUNC. From Juha Niskanen (2019-11-05).
- * fs/smartfs/smartfs_smart.c: Honor O_APPEND on writes. Also document
- pwrite() bug/limitation. From Juha Niskanen (2019-11-05).
- * sched/sched/sched_waitpid.c: Fix null pointer derefence on race
- without DEBUG_ASSERT. From David Alessio (2019-11-05).
- * boards/arm/stm32h7/nucleo-h743zi/src: Added gpio-device-driver for
- userspace apps. From Heiko Demlang (2019-11-05).
- * drivers/wireless/ieee80211/bcm43xxx: Move drivers/wireless/ieee80211/
- to drivers/wireless/ieee80211/bcm43xxx/ since the directory only
- contains only BCM43362 and BCM43438 related code. From Xiang Xiao
- (2019-11-05).
- * boards/arm/stm32/olimex-stm32-e407/scripts/: Individual linker
- scripts for F407ZE and F407ZG chips. From David S. Alessio
- (2019-11-05).
- * drivers/serial/serial_dma.c: Avoid uart_xmitchars_done() move the
- tail bigger then head. If ioctl(TCOFLUSH) occurs between
- uart_xmitchars_dma() and uart_xmitchars_done(), TCOFLUSH will reset
- xmit buffer, then uart_xmitchars_done() will move the 'tail' ahead of
- 'head', then sends lots of wrong data. From ligd (2019-11-06).
- * stm32h7: allocateheap SRAM and SRAM1 are not continuous From David
- Sidrane (2019-11-06).
- * arch/arm/src/tiva, arch/arm/include: Add support for Tiva
- TM4C129ENCPDT. From Nathan Hartman (2019-11-06).
- * arch/arm/src/tiva/common/tiva_flash.c: Improve tiva_write().
- arch/arm/src/tiva/common/tiva_flash.c: Fix several mistakes in
- tiva_write() but note that this function needs more work. (1) Fix
- wrong use of && when & was intended. (2) Add compile- time warning
- directive because according to this function's interface, it is
- supposed to support unaligned writes and/or writes of arbitrary
- numbers of bytes to FLASH. However, this function does NOT support
- that at this time. This needs to be fixed. (3) Fix wrong preprocessor
- conditional. Was written to use the 32-word write buffer only for
- TM4C1294NCPDT. This buffer is available on all TM4C123 and TM4C129
- parts. Now conditioned upon CONFIG_ARCH_CHIP_TM4C123 or
- CONFIG_ARCH_CHIP_TM4C129. (4) Add comments to document the intent of
- the above preprocessor logic. From Nathan Hartman (2019-11-06).
- * arch/arm/include/tiva/tm4c_irq.h: Fix wrong IRQ vector number. From
- Nathan Hartman (2019-11-06).
- * drivers/serial/serial_dma.c: Still need reset xmit buffer when meet
- TCOFLUSH. From ligd (2019-11-07).
- * boards/arm/s32k1xx/s32k146evb/scripts/s32k146.cfg and
- boards/arm/s32k1xx/s32k146evb/README.txt: Added configuration script
- and instructions for using Thread-Aware OpenOCD for the S32K146 with
- Eclipse. From Han Raaijmakers (2019-11-07).
- * net/netlink/Kconfig: Remove dependency on EXPERIMENTAL. Although the
- Netlink implementation is still only fragmentary, there is no usable
- functionality there and no reason for it to depend on EXPERIMENTAL.
- Also minor changes to the menu organization so that the Netlink
- options appear the same was as do other network options. From Gregory
- Nutt (2019-11-07).
- * arch/arm/src/stm32l4/stm32l4x6xx_rcc.c: This fix is needed if HSI
- clock is selected. Otherwise when waking up from STOP mode, the MSI
- clock is selected instead of the HSI clock. From Matias N (2019-11-07).
- * drivers/syslog/syslog_device.c: Fix assert that assumes re-opened
- syslog file is the same. Logic in syslog_file_channel() is calling
- syslog_initialize() for the default syslog device as a recovery action
- after failed syslog_dev_initialize(). From Juha Niskanen (2019-11-08).
- * arch/arm/src/armv7-m/nvic.h: Add BPIALL register address. From Dave
- Marples (2019-11-08).
- * STM32H7: Set the BBSRAM memory range to non-cacheable.
- - armv7-m: mpu add user peripheral helper
- - stm32h7: BBSRAM Exclude BBSRAM from cacheable when
- CONFIG_ARMV7M_DCACHE. ST placed the STM32H7 BBSRAM in the SRAM
- default memory region which is cacheable. This change sets the
- BBSRAM memory range to non-cacheable.
- From David Sidrane (2019-11-08).
- * net/netlink/netlink_route.c: Add Netlink socket NETLINK_ROUTE support
- for getting a snopshot of the Neighbor table.
- net/neighbor/neighbor_snapshot.c: Add neighbor_snapshot() that will
- eventually be used by the Netlink sockets. Also fixed naming
- violation 'struct neighbor_entry' -> 'struct neighbor_entry_s'.
- include/nuttx/net/neighbor.h: Expose format of the IPv6 neighbor
- table for use with Netlink sockets.
- From Gregory Nutt (2019-11-08).
- * arch/arm/src/stm32l4/stm32l4_idle.c: (1) Added BEGIN_IDLE() /
- END_IDLE() to stop call so that we also get notification via LED of
- the STOP mode, (2) Added the stm32l4_clockenable call as previously
- discussed, and (3) Added call to pm_changestate() to inform drivers
- we're back to running after the call to stm32l4_stop() returns. From
- Matias N (2019-11-08).
- * This change, initially for the imxrt1050, separates out the pinmux and
- iomux functions cleanly. For ease of conversion default IOMUX
- definitions have been added into imxrt_iomux.h. The change effectively
- does two things;
- (1) Unifies the iomux definitions - previously some pins had them, and
- some didn't. This effectively made it impossible to use the
- pinmuxes without editing the header file in the standard
- distribution tree.
- (2) Unifies the pin definitions so that every pin now has a suffix.
- This makes it *much* easier to see when a pin is in use in your
- code, because it will always have a definition in your board.h file.
- For anyone who is already using this CPU, a couple of small changes
- are needed to existing code;
- - In respect of (1) add IOMUX decorators to your pin definitions.
- You will find defaults in haardware/imxrt_iomux.h. Every pin
- should have a IOMUX decorator and in general the defaults should
- be OK.
- - In respect of (2) you will need to add selectors for any function
- that previously only had one pinning option. There aren't many of
- those but LPUART1 is a good example. That just means adding into
- your board.h something like; From Dave Marples (2019-11-08).
- * boards/arm/imxrt/imxrt1020-evk: Add support for the MIMXRT1021-EVK
- board. It features nsh, netnsh and usdhc sample configurations. From
- Dave Marples (2019-11-08).
- * arch/arm/src/imxrt/imxrt_enet.c: Improve naming of Ethernet pins.
- From Dave Marples (2019-11-08).
- * i.MXRT 106x: pinmux changes of the 1060's. From Dave Marples
- (2019-11-08).
- * tools/nxstyle.c: Correct detection of missing blank line following a
- block comment. From Gregory Nutt (2019-11-09).
- * drivers/power/pm: Historically, the NuttX PM subsystem has consisted
- of two functional components: (1) an "Upper" part that detects state
- changes based on a random walk driven by activity levels, and (2) and
- "lower" part that implements the state changes.
- This change decouples that upper activity-based logic from the lower
- random walk logic and allows use of other upper state detection logic
- (such as a custom, application-specific state machine).
- From Matias Nitsche (2019-11-09).
- * boards/arm/imxrt/imxrt1020-evk/include/board.h: Fix an error that I
- introduced with code review. From Gregory Nutt (2019-11-09).
- * arch/sim/src/nuttx-names.dat: Add host ftruncate() support. From
- chao.an (2019-11-09).
- * tools/nxstyle.c: Eliminate false positive 'Invalid character after
- asterisk in comment block'. From Gregory Nutt (2019-11-09).
- * net/netlink/netlink_route.c: Add support for the NETLINK_ROUTE
- RTM_GETLINK command that is used to obtain a list of all devices in
- the UP state. From Gregory Nutt (2019-11-09).
- * single wire Allow selection of pull{up|down|none}:
- - tioctl: Allow selection of pull{up|down|none}
- - stm32: Single Wire add pull{up|down|none} tioctl
- - stm32f0l0g0: Single Wire add pull{up|down|none} tioctl
- - stm32f7: Single Wire add pull{up|down|none} tioctl
- - stm32h7: Single Wire add pull{up|down|none} tioctl
- - stm32l4: Single Wire add pull{up|down|none} tioctl
- From David Sidrane (2019-11-10).
- * openamp/: Add Makefile defines. From hao.an (2019-11-10).
- * openamp/Makefile: Linker input file unused because linking not done.
- From Xiang Xiao (2019-11-10).
- * drivers/rptun/rptun.c: Refine the rptun naming. From Xiang Xiao
- (2019-11-10).
- * net/netlink: Fix offset in rtattr. include/net/route.h: Correct form
- and naming of sruct rtentry. include/netpacket/netlink.h: Add some
- definitions that will be needed to access routing tables. From
- Gregory Nutt (2019-11-10).
- * net/netlink/netlink_route.c: Add support for obtaining the entire
- routing table. From Gregory Nutt (2019-11-10).
- * net/netlink/netlink_route.c: Add missing routing table list
- terminating response. From Gregory Nutt (2019-11-10).
- * boards/arm/imxrt/imxrt1060-evk: An update to the configuration on
- imx1060-evk to remove compilation warnings about duplicated
- definitions. No functional changes. From Dave Marples (2019-11-10).
- * arch/sim/src/sim/up_simuart.c: Remove CONFIG_SIM_UART_DATAPOST for
- arch/sim. It's very dangerous to call NuttX API from simuart_thread.
- From Xiang Xiao (2019-11-10).
- * arch/sim/src/sim: Replace all CONFIG_DEV_CONSOLE with USE_DEVCONSOLE
- for arch/sim and compile up_devconsole.c conditionally. From Xiang
- Xiao (2019-11-10).
- * arch/sim/src/Makefile: Move all SMP stuff into one place for
- arch/sim. From Xiang Xiao (2019-11-10).
- * arch/sim/src/sim/up_hostfs.c: Fix warning: 'mapflags' may be used
- uninitialized in this function. From Xiang Xiao (2019-11-11).
- * drivers/rptun/rptun.c: Refine the start/stop flow to support the
- repeat boot. From Xiang Xiao (2019-11-11).
- * drivers/rptun/rptun.c: vring size should also be aligned. From ligd
- (2019-11-11).
- * boards/arm/imxrt/imxrt1020-evk: Fix ifdef string. The old configs
- folder was migrated to Boards/<arch> and we should fix the ifdef.
- From Alin Jerpelea (2019-11-11).
- * boards/arm/imxrt/imxrt1020-evk: Make naming of the LED consistent.
- In most places it is referred to as LED1. In board.h it is referred
- to as USERLED1. The i.MXRT1020-EVK hardware user guide (HUG) uses the
- name USERLED. This command makes all names internally consistent and
- consistent with the HUG. Noted by Alin Jerpelea. From Gregory Nutt
- (2019-11-11).
- * arch/sim/ and boards/sim/sim/sim: Support OpenAMP between two
- simulator instances. Please read rpserver/rpproxy section in
- boards/sim/sim/sim/README.txt for more information. From chao.an
- (2019-11-12).
- * boards/renesas/rx65n: Fix ifdef string in header files. The old
- configs folder was migrated to Boards/<arch> and we should fix the
- ifdef. From Alin Jerpelea (2019-11-12).
- * boards/arm/imxrt/imxrt1020-evk/src/imxrt1020-evk.h: Fix ifdef
- string. The old configs folder was migrated to Boards/<arch> and we
- should fix the ifdef. From Alin Jerpelea (2019-11-12).
- * boards/arm/lpc17xx_40xx/lincoln60/src/lincoln60.h: Fix ifdef
- string. The old configs folder was migrated to Boards/<arch> and we
- should fix the ifdef. From Alin Jerpelea (2019-11-12).
- * drivers/power/activity_governor.c: Fix timer can't start when meet
- very small pmtick. From ligd (2019-11-12).
- * arch/arm/src/imxrt/imxrt_idle.c: Y'all remember that conversation we
- had about why WFI might have been disabled on imxrt? Well, looks like
- we found the reason:
- - https://github.com/zephyrproject-rtos/zephyr/pull/8535/commits:
- "The imxrt1050 is configured to use SYSTICK for the kernel timer, but
- SYSTICK cannot wake up the soc from low-power modes. Disable
- low-power modes on this soc until we have support for an alternative
- timer."
- "This fixes k_sleep on the EVKB version of the mimxrt1050_evk board.
- An earlier version of the board (EVK, not EVKB), had A0 silicon which
- by default did not enter low-power mode on a wfi."
- - This change reverts the WFI enable for further investigation post
- 8.2. With this change in place together with the previous one my
- system is fully stable(*), just drinking a bit more power than I'd
- like. From Dave Marples (2019-11-12).
- * drivers/mtd/gd25.c: Add gd25_lock/unlock to case: enable 4-bytes
- address From ligd (2019-11-12).
- * arch/arm/src/imxrt/imxrt_serial.c: o, just to complete the
- documentation of this...it looks like two issues, which confused me
- greatly:
- 1) Operational issue. TC (Transmission complete) and TDRE (TX Buffer
- Empty) were transposed in imxrt_serial.c. The end result was that
- for unoptimised code everything worked fine, but optimised code
- got itself into a real mess and continually fired interrupts. The
- change attached fixes this. This one would have been found much
- more quickly if this particular board had supported SWO :-/
- 2) Startup issue. There are a number of chip errata that apply to
- the 1052 first revision (A-suffix) that don't apply to the second
- (B-suffix). Those got me for a while and it's important to use an
- EVK_B_ dev board if you're suffering stability problems with this
- particular chip. However, even with that resolved with either
- optimised or unoptimised code when there is no SNVS (Battery
- Backup) power and the power is switched on the CPU appears to boot
- but gets stuck with timer interrupts not being generated. The CPU
- is running and it will execute linear code. I have determined
- this by putting an 'imxrt_lowputc('A'+irq)' into up_doirq. For the
- non-running case the output looks like this:
- LLLL
- this implies 4 0x0b interrupts have been generated, and nothing
- else. If I hit keys on the keyboard I get 'e' in the flow. 0x0b
- is the SVC instruction and is the mechanism by which NuttX handles
- task switching. 'e' is 0x24, which corresponds to the LPUART1
- interrupt. Other than these, the system does not respond further
- but is happily in the idle loop. In this circumstance if you hit
- SW2 on the EVKB board though the logjam 'unjams' and normal
- service is established, output now looks like:
- LLLLPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPLPP ...etc.
- Where 'P' is 0x0f (the SYSTICK interrupt)....this is what _should_
- be happening so; SYSTICK starts up after SW2 has been pressed.
- From this point on everything works correctly and you can reboot
- the CPU, put new code into it or do whatever you wish, **provided
- power is not cycled off**. If power is cycled off then return to
- the top and go through the process again. When there is SNVS
- power to the CPU then power can be switched on and off as you
- wish, and the CPU will boot correctly. This has been determined by
- putting 3V onto J6.
- I think we are probably doing something naughty with the way we
- are starting the clocks to the timers. There are certainly some
- restrictions on imxrt clock manipulation which we have studiously
- avoided. I am investigating further and have some potential
- patches but even if I find the root cause it should not be
- included in 8.2 as the change could be disruptive.
- From Dave Marples (2019-11-12).
- * net/netlink: Add options to disable individual NETLINK_ROUTE
- commands. This will probably become quite large and will need to be
- higher tunable for smaller platforms. From Gregory Nutt (2019-11-12).
- * libs/libc/stdio/lib_getdelim.c: Add implementations of the POSIX
- functions getdelim() and getline(). From Gregory Nutt (2019-11-12).
- * libs/libc/stdio/lib_libfgets.c: Because of how the function is
- defined, getline() canot be used on platforms that use CR-LF line
- terminations. From Gregory Nutt (2019-11-12).
- * include/sys/time.h, libs/libc/unistd, sched/timer: Implement
- alarm(), setitimer() and getitimer() APIs. From liuhaitao
- (2019-11-13).
- * libs/libc/stdio/lib_getdelim.c: Make getdelim() behave per
- specification on OpenGroup.org. Specifically, needs to reallocate
- buffer if more data is received than will fit. From Gregory Nutt
- (2019-11-13).
- * libs/libc/stdio/lib_getdelim.c: Initial allocation should be larger;
- incremental reallocs should be smaller. Update some comments. From
- Gregory Nutt (2019-11-13).
- * arch/renesas/include and arch/renesas/src: Fix spurious '=' in
- comments. From David Sidrane (2019-11-14).
- * drivers/syslog/ramlog.c: Fix ramlog readers never woken up when using
- ramlog as syslog or console. We also make an attempt to avoid the
- thundering herd problem if there are multiple readers/pollers.
- Change also removes forcing CONFIG_RAMLOG_CRLF in
- uttx/syslog/ramlog.h as there is no point of wasting precious RAM for
- useless characters. From Juha Niskanen (2019-11-14).
- * boards/arm/imxrt/imxrt1060-evk/src/imxrt_lcd.c: Because
- board-private GPIO definitions have been moved to the public board.h
- (VERY BAD IDEA), breakage happened in all files that need GPIO
- definitions, but did not include board.h (which they should not have
- to). From Gregory Nutt (2019-11-14).
- * include/netpacket/netlink.h: Add definitions that will be needed for
- future NETLINK_CRYPTO support. From Gregory Nutt (2019-11-14).
- * syscall/: Implementation of syscall for new getitimer and setitimer
- were incomplete.
- include/sys/syscall.h: Should be SYS_getitimer and SYS_setitimer,
- not SYS_getitime and SYS_setitime.
- From Gregory Nutt (2019-11-14).
- * syscall/ and include/sys/syscall.h: Fix an inconsistency. In
- some places, getitimer() and setitimer() depend on
- CONFIG_DISABLE_POSIX_TIMERS=n and in other places they depend on
- nothing. As a result, there are link failures when
- CONFIG_DISABLE_POSIX_TIMERS=y. Which is correct? On one hand, these
- interfaces are not POSIX timers, so conditioning them on
- CONFIG_DISABLE_POSIX_TIMERS. I opted to keep the dependence and just
- apply it consistently. I did this because setitimer() and
- getitimer() are seldom used so it is really best if a system call is
- no generated for them in all cases. From Gregory Nutt (2019-11-14).
- 8.3 2020-xx-xx Gregory Nutt <gnutt@nuttx.org>
|