1 Star 2 Fork 2

开发板/STM32F407ZGT6-Explorer

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
thread.lst 225.17 KB
一键复制 编辑 原始数据 按行查看 历史
邓海 提交于 2022-10-17 20:02 +08:00 . feat: gcc
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 1
1 .cpu cortex-m4
2 .eabi_attribute 20, 1
3 .eabi_attribute 21, 1
4 .eabi_attribute 23, 3
5 .eabi_attribute 24, 1
6 .eabi_attribute 25, 1
7 .eabi_attribute 26, 1
8 .eabi_attribute 30, 1
9 .eabi_attribute 34, 1
10 .eabi_attribute 18, 4
11 .file "thread.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text._thread_cleanup_execute,"ax",%progbits
16 .align 1
17 .arch armv7e-m
18 .syntax unified
19 .thumb
20 .thumb_func
21 .fpu softvfp
23 _thread_cleanup_execute:
24 .LVL0:
25 .LFB18:
26 .file 1 "Middlewares/Third_Party/RealThread_RTOS/src/thread.c"
1:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /*
2:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * Copyright (c) 2006-2021, RT-Thread Development Team
3:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
4:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * SPDX-License-Identifier: Apache-2.0
5:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
6:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * Change Logs:
7:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * Date Author Notes
8:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-03-28 Bernard first version
9:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-04-29 Bernard implement thread timer
10:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-04-30 Bernard added THREAD_DEBUG
11:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-05-27 Bernard fixed the rt_thread_yield bug
12:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-06-03 Bernard fixed the thread timer init bug
13:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-08-10 Bernard fixed the timer bug in thread_sleep
14:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-09-03 Bernard changed rt_timer_delete to rt_timer_detach
15:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2006-09-03 Bernard implement rt_thread_detach
16:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2008-02-16 Bernard fixed the rt_thread_timeout bug
17:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2010-03-21 Bernard change the errno of rt_thread_delay/sleep to
18:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * RT_EOK.
19:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2010-11-10 Bernard add cleanup callback function in thread exit.
20:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2011-09-01 Bernard fixed rt_thread_exit issue when the current
21:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * thread preempted, which reported by Jiaxing Lee.
22:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2011-09-08 Bernard fixed the scheduling issue in rt_thread_startup.
23:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2012-12-29 Bernard fixed compiling warning.
24:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2016-08-09 ArdaFu add thread suspend and resume hook.
25:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2017-04-10 armink fixed the rt_thread_delete and rt_thread_detach
26:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** bug when thread has not startup.
27:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * 2018-11-22 Jesven yield is same to rt_schedule
28:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * add support for tasks bound to cpu
29:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
30:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
31:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #include <rthw.h>
32:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #include <rtthread.h>
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 2
33:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
34:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** extern rt_list_t rt_thread_priority_table[RT_THREAD_PRIORITY_MAX];
35:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** extern struct rt_thread *rt_current_thread;
36:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** extern rt_list_t rt_thread_defunct;
37:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
38:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #ifdef RT_USING_HOOK
39:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
40:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** static void (*rt_thread_suspend_hook)(rt_thread_t thread);
41:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** static void (*rt_thread_resume_hook) (rt_thread_t thread);
42:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** static void (*rt_thread_inited_hook) (rt_thread_t thread);
43:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
44:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
45:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @ingroup Hook
46:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function sets a hook function when the system suspend a thread.
47:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
48:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param hook the specified hook function
49:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
50:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @note the hook function must be simple and never be blocked or suspend.
51:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
52:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void rt_thread_suspend_sethook(void (*hook)(rt_thread_t thread))
53:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
54:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_suspend_hook = hook;
55:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
56:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
57:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
58:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @ingroup Hook
59:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function sets a hook function when the system resume a thread.
60:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
61:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param hook the specified hook function
62:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
63:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @note the hook function must be simple and never be blocked or suspend.
64:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
65:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void rt_thread_resume_sethook(void (*hook)(rt_thread_t thread))
66:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
67:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_resume_hook = hook;
68:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
69:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
70:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
71:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @ingroup Hook
72:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function sets a hook function when a thread is initialized.
73:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
74:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param hook the specified hook function
75:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
76:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void rt_thread_inited_sethook(void (*hook)(rt_thread_t thread))
77:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
78:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_inited_hook = hook;
79:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
80:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
81:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
82:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
83:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* must be invoke witch rt_hw_interrupt_disable */
84:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** static void _thread_cleanup_execute(rt_thread_t thread)
85:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
27 .loc 1 85 1 view -0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 3
31 .loc 1 85 1 is_stmt 0 view .LVU1
32 0000 38B5 push {r3, r4, r5, lr}
33 .LCFI0:
34 .cfi_def_cfa_offset 16
35 .cfi_offset 3, -16
36 .cfi_offset 4, -12
37 .cfi_offset 5, -8
38 .cfi_offset 14, -4
39 0002 0446 mov r4, r0
86:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
40 .loc 1 86 5 is_stmt 1 view .LVU2
87:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
88:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** level = rt_hw_interrupt_disable();
41 .loc 1 88 5 view .LVU3
42 .loc 1 88 13 is_stmt 0 view .LVU4
43 0004 FFF7FEFF bl rt_hw_interrupt_disable
44 .LVL1:
45 .loc 1 88 13 view .LVU5
46 0008 0546 mov r5, r0
47 .LVL2:
89:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
90:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* invoke thread cleanup */
91:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (thread->cleanup != RT_NULL)
48 .loc 1 91 5 is_stmt 1 view .LVU6
49 .loc 1 91 15 is_stmt 0 view .LVU7
50 000a D4F88830 ldr r3, [r4, #136]
51 .loc 1 91 8 view .LVU8
52 000e 0BB1 cbz r3, .L2
92:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->cleanup(thread);
53 .loc 1 92 9 is_stmt 1 view .LVU9
54 0010 2046 mov r0, r4
55 .LVL3:
56 .loc 1 92 9 is_stmt 0 view .LVU10
57 0012 9847 blx r3
58 .LVL4:
59 .L2:
93:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
94:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(level);
60 .loc 1 94 5 is_stmt 1 view .LVU11
61 0014 2846 mov r0, r5
62 0016 FFF7FEFF bl rt_hw_interrupt_enable
63 .LVL5:
95:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
64 .loc 1 95 1 is_stmt 0 view .LVU12
65 001a 38BD pop {r3, r4, r5, pc}
66 .loc 1 95 1 view .LVU13
67 .cfi_endproc
68 .LFE18:
70 .section .text.rt_thread_exit,"ax",%progbits
71 .align 1
72 .global rt_thread_exit
73 .syntax unified
74 .thumb
75 .thumb_func
76 .fpu softvfp
78 rt_thread_exit:
79 .LFB19:
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 4
96:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
97:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void rt_thread_exit(void)
98:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
80 .loc 1 98 1 is_stmt 1 view -0
81 .cfi_startproc
82 @ args = 0, pretend = 0, frame = 0
83 @ frame_needed = 0, uses_anonymous_args = 0
84 0000 38B5 push {r3, r4, r5, lr}
85 .LCFI1:
86 .cfi_def_cfa_offset 16
87 .cfi_offset 3, -16
88 .cfi_offset 4, -12
89 .cfi_offset 5, -8
90 .cfi_offset 14, -4
99:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
91 .loc 1 99 5 view .LVU15
100:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
92 .loc 1 100 5 view .LVU16
101:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
102:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* get current thread */
103:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread = rt_current_thread;
93 .loc 1 103 5 view .LVU17
94 .loc 1 103 12 is_stmt 0 view .LVU18
95 0002 144B ldr r3, .L9
96 0004 1C68 ldr r4, [r3]
97 .LVL6:
104:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
105:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
106:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** level = rt_hw_interrupt_disable();
98 .loc 1 106 5 is_stmt 1 view .LVU19
99 .loc 1 106 13 is_stmt 0 view .LVU20
100 0006 FFF7FEFF bl rt_hw_interrupt_disable
101 .LVL7:
102 000a 0546 mov r5, r0
103 .LVL8:
107:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
108:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** _thread_cleanup_execute(thread);
104 .loc 1 108 5 is_stmt 1 view .LVU21
105 000c 2046 mov r0, r4
106 .LVL9:
107 .loc 1 108 5 is_stmt 0 view .LVU22
108 000e FFF7FEFF bl _thread_cleanup_execute
109 .LVL10:
109:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
110:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove from schedule */
111:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_remove_thread(thread);
110 .loc 1 111 5 is_stmt 1 view .LVU23
111 0012 2046 mov r0, r4
112 0014 FFF7FEFF bl rt_schedule_remove_thread
113 .LVL11:
112:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* change stat */
113:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_CLOSE;
114 .loc 1 113 5 view .LVU24
115 .loc 1 113 18 is_stmt 0 view .LVU25
116 0018 0423 movs r3, #4
117 001a 84F83C30 strb r3, [r4, #60]
114:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 5
115:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove it from timer list */
116:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_detach(&thread->thread_timer);
118 .loc 1 116 5 is_stmt 1 view .LVU26
119 001e 04F15400 add r0, r4, #84
120 0022 FFF7FEFF bl rt_timer_detach
121 .LVL12:
117:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
118:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE)
122 .loc 1 118 5 view .LVU27
123 .loc 1 118 9 is_stmt 0 view .LVU28
124 0026 2046 mov r0, r4
125 0028 FFF7FEFF bl rt_object_is_systemobject
126 .LVL13:
127 .loc 1 118 8 view .LVU29
128 002c 0128 cmp r0, #1
129 002e 0DD0 beq .L8
119:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
120:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_object_detach((rt_object_t)thread);
121:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
122:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** else
123:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
124:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to defunct thread list */
125:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
130 .loc 1 125 9 is_stmt 1 view .LVU30
131 0030 04F11C02 add r2, r4, #28
132 .LVL14:
133 .LBB18:
134 .LBI18:
135 .file 2 "Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h"
1:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /*
2:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * Copyright (c) 2006-2021, RT-Thread Development Team
3:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** *
4:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * SPDX-License-Identifier: Apache-2.0
5:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** *
6:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * Change Logs:
7:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * Date Author Notes
8:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * 2006-03-16 Bernard the first version
9:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * 2006-09-07 Bernard move the kservice APIs to rtthread.h
10:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * 2007-06-27 Bernard fix the rt_list_remove bug
11:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * 2012-03-22 Bernard rename kservice.h to rtservice.h
12:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * 2017-11-15 JasonJia Modify rt_slist_foreach to rt_slist_for_each_entry.
13:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * Make code cleanup.
14:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
15:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
16:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** #ifndef __RT_SERVICE_H__
17:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** #define __RT_SERVICE_H__
18:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
19:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** #ifdef __cplusplus
20:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** extern "C" {
21:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** #endif
22:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
23:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
24:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @addtogroup KernelService
25:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
26:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
27:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**@{*/
28:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 6
29:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
30:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * rt_container_of - return the member address of ptr, if the type of ptr is the
31:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * struct type.
32:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
33:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** #define rt_container_of(ptr, type, member) \
34:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** ((type *)((char *)(ptr) - (unsigned long)(&((type *)0)->member)))
35:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
36:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
37:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
38:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @brief initialize a list object
39:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
40:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** #define RT_LIST_OBJECT_INIT(object) { &(object), &(object) }
41:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
42:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
43:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @brief initialize a list
44:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** *
45:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @param l list to be initialized
46:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
47:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** rt_inline void rt_list_init(rt_list_t *l)
48:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
49:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** l->next = l->prev = l;
50:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
51:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
52:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
53:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @brief insert a node after a list
54:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** *
55:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @param l list to insert it
56:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @param n new node to be inserted
57:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
58:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** rt_inline void rt_list_insert_after(rt_list_t *l, rt_list_t *n)
136 .loc 2 58 16 view .LVU31
137 .LBB19:
59:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** l->next->prev = n;
138 .loc 2 60 5 view .LVU32
139 .loc 2 60 6 is_stmt 0 view .LVU33
140 0034 084B ldr r3, .L9+4
141 0036 1968 ldr r1, [r3]
142 .loc 2 60 19 view .LVU34
143 0038 4A60 str r2, [r1, #4]
61:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
144 .loc 2 61 5 is_stmt 1 view .LVU35
145 .loc 2 61 13 is_stmt 0 view .LVU36
146 003a E161 str r1, [r4, #28]
62:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
63:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** l->next = n;
147 .loc 2 63 5 is_stmt 1 view .LVU37
148 .loc 2 63 13 is_stmt 0 view .LVU38
149 003c 1A60 str r2, [r3]
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l;
150 .loc 2 64 5 is_stmt 1 view .LVU39
151 .loc 2 64 13 is_stmt 0 view .LVU40
152 003e 2362 str r3, [r4, #32]
153 .LVL15:
154 .L6:
155 .loc 2 64 13 view .LVU41
156 .LBE19:
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 7
157 .LBE18:
126:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
127:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
128:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* switch to next task */
129:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule();
158 .loc 1 129 5 is_stmt 1 view .LVU42
159 0040 FFF7FEFF bl rt_schedule
160 .LVL16:
130:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
131:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
132:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(level);
161 .loc 1 132 5 view .LVU43
162 0044 2846 mov r0, r5
163 0046 FFF7FEFF bl rt_hw_interrupt_enable
164 .LVL17:
133:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
165 .loc 1 133 1 is_stmt 0 view .LVU44
166 004a 38BD pop {r3, r4, r5, pc}
167 .LVL18:
168 .L8:
120:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
169 .loc 1 120 9 is_stmt 1 view .LVU45
170 004c 2046 mov r0, r4
171 004e FFF7FEFF bl rt_object_detach
172 .LVL19:
173 0052 F5E7 b .L6
174 .L10:
175 .align 2
176 .L9:
177 0054 00000000 .word rt_current_thread
178 0058 00000000 .word rt_thread_defunct
179 .cfi_endproc
180 .LFE19:
182 .section .rodata._rt_thread_init.str1.4,"aMS",%progbits,1
183 .align 2
184 .LC0:
185 0000 7072696F .ascii "priority < RT_THREAD_PRIORITY_MAX\000"
185 72697479
185 203C2052
185 545F5448
185 52454144
186 .section .text._rt_thread_init,"ax",%progbits
187 .align 1
188 .syntax unified
189 .thumb
190 .thumb_func
191 .fpu softvfp
193 _rt_thread_init:
194 .LVL20:
195 .LFB20:
134:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
135:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** static rt_err_t _rt_thread_init(struct rt_thread *thread,
136:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** const char *name,
137:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void (*entry)(void *parameter),
138:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *parameter,
139:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *stack_start,
140:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint32_t stack_size,
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 8
141:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint8_t priority,
142:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint32_t tick)
143:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
196 .loc 1 143 1 view -0
197 .cfi_startproc
198 @ args = 16, pretend = 0, frame = 0
199 @ frame_needed = 0, uses_anonymous_args = 0
200 .loc 1 143 1 is_stmt 0 view .LVU47
201 0000 F0B5 push {r4, r5, r6, r7, lr}
202 .LCFI2:
203 .cfi_def_cfa_offset 20
204 .cfi_offset 4, -20
205 .cfi_offset 5, -16
206 .cfi_offset 6, -12
207 .cfi_offset 7, -8
208 .cfi_offset 14, -4
209 0002 83B0 sub sp, sp, #12
210 .LCFI3:
211 .cfi_def_cfa_offset 32
212 0004 0446 mov r4, r0
213 0006 1746 mov r7, r2
214 0008 0898 ldr r0, [sp, #32]
215 .LVL21:
216 .loc 1 143 1 view .LVU48
217 000a 099A ldr r2, [sp, #36]
218 .LVL22:
219 .loc 1 143 1 view .LVU49
220 000c 9DF82850 ldrb r5, [sp, #40] @ zero_extendqisi2
221 0010 0B9E ldr r6, [sp, #44]
144:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* init thread list */
145:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_init(&(thread->tlist));
222 .loc 1 145 5 is_stmt 1 view .LVU50
223 0012 04F11C01 add r1, r4, #28
224 .LVL23:
225 .LBB20:
226 .LBI20:
47:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
227 .loc 2 47 16 view .LVU51
228 .LBB21:
49:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
229 .loc 2 49 5 view .LVU52
49:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
230 .loc 2 49 23 is_stmt 0 view .LVU53
231 0016 2162 str r1, [r4, #32]
49:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
232 .loc 2 49 13 view .LVU54
233 0018 E161 str r1, [r4, #28]
234 .LVL24:
49:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
235 .loc 2 49 13 view .LVU55
236 .LBE21:
237 .LBE20:
146:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
147:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->entry = (void *)entry;
238 .loc 1 147 5 is_stmt 1 view .LVU56
239 .loc 1 147 19 is_stmt 0 view .LVU57
240 001a A762 str r7, [r4, #40]
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 9
148:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->parameter = parameter;
241 .loc 1 148 5 is_stmt 1 view .LVU58
242 .loc 1 148 23 is_stmt 0 view .LVU59
243 001c E362 str r3, [r4, #44]
149:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
150:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* stack init */
151:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stack_addr = stack_start;
244 .loc 1 151 5 is_stmt 1 view .LVU60
245 .loc 1 151 24 is_stmt 0 view .LVU61
246 001e 2063 str r0, [r4, #48]
152:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stack_size = stack_size;
247 .loc 1 152 5 is_stmt 1 view .LVU62
248 .loc 1 152 24 is_stmt 0 view .LVU63
249 0020 6263 str r2, [r4, #52]
153:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
154:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* init thread stack */
155:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_memset(thread->stack_addr, '#', thread->stack_size);
250 .loc 1 155 5 is_stmt 1 view .LVU64
251 0022 2321 movs r1, #35
252 0024 FFF7FEFF bl rt_memset
253 .LVL25:
156:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #ifdef ARCH_CPU_STACK_GROWS_UPWARD
157:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
158:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** (void *)((char *)thread->stack_addr),
159:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** (void *)rt_thread_exit);
160:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #else
161:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
254 .loc 1 161 5 view .LVU65
162:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** (rt_uint8_t *)((char *)thread->stack_addr + thread->stack
255 .loc 1 162 72 is_stmt 0 view .LVU66
256 0028 216B ldr r1, [r4, #48]
257 .loc 1 162 93 view .LVU67
258 002a 636B ldr r3, [r4, #52]
259 .loc 1 162 106 view .LVU68
260 002c 1A1F subs r2, r3, #4
161:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** (rt_uint8_t *)((char *)thread->stack_addr + thread->stack
261 .loc 1 161 26 view .LVU69
262 002e 174B ldr r3, .L16
263 0030 0A44 add r2, r2, r1
264 0032 E16A ldr r1, [r4, #44]
265 0034 A06A ldr r0, [r4, #40]
266 0036 FFF7FEFF bl rt_hw_stack_init
267 .LVL26:
161:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** (rt_uint8_t *)((char *)thread->stack_addr + thread->stack
268 .loc 1 161 16 view .LVU70
269 003a 6062 str r0, [r4, #36]
163:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** (void *)rt_thread_exit);
164:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
165:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
166:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* priority init */
167:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(priority < RT_THREAD_PRIORITY_MAX);
270 .loc 1 167 5 is_stmt 1 view .LVU71
271 003c 1F2D cmp r5, #31
272 003e 1FD8 bhi .L15
273 .L12:
274 .loc 1 167 49 discriminator 3 view .LVU72
168:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->init_priority = priority;
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 10
275 .loc 1 168 5 discriminator 3 view .LVU73
276 .loc 1 168 30 is_stmt 0 discriminator 3 view .LVU74
277 0040 84F83E50 strb r5, [r4, #62]
169:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->current_priority = priority;
278 .loc 1 169 5 is_stmt 1 discriminator 3 view .LVU75
279 .loc 1 169 30 is_stmt 0 discriminator 3 view .LVU76
280 0044 84F83D50 strb r5, [r4, #61]
170:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
171:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 0;
281 .loc 1 171 5 is_stmt 1 discriminator 3 view .LVU77
282 .loc 1 171 25 is_stmt 0 discriminator 3 view .LVU78
283 0048 0023 movs r3, #0
284 004a 2364 str r3, [r4, #64]
172:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #if RT_THREAD_PRIORITY_MAX > 32
173:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number = 0;
174:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->high_mask = 0;
175:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
176:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
177:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* tick init */
178:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->init_tick = tick;
285 .loc 1 178 5 is_stmt 1 discriminator 3 view .LVU79
286 .loc 1 178 28 is_stmt 0 discriminator 3 view .LVU80
287 004c E664 str r6, [r4, #76]
179:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->remaining_tick = tick;
288 .loc 1 179 5 is_stmt 1 discriminator 3 view .LVU81
289 .loc 1 179 28 is_stmt 0 discriminator 3 view .LVU82
290 004e 2665 str r6, [r4, #80]
180:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
181:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* error and flags */
182:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = RT_EOK;
291 .loc 1 182 5 is_stmt 1 discriminator 3 view .LVU83
292 .loc 1 182 19 is_stmt 0 discriminator 3 view .LVU84
293 0050 A363 str r3, [r4, #56]
183:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_INIT;
294 .loc 1 183 5 is_stmt 1 discriminator 3 view .LVU85
295 .loc 1 183 19 is_stmt 0 discriminator 3 view .LVU86
296 0052 84F83C30 strb r3, [r4, #60]
184:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
185:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* initialize cleanup function and user data */
186:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->cleanup = 0;
297 .loc 1 186 5 is_stmt 1 discriminator 3 view .LVU87
298 .loc 1 186 23 is_stmt 0 discriminator 3 view .LVU88
299 0056 C4F88830 str r3, [r4, #136]
187:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->user_data = 0;
300 .loc 1 187 5 is_stmt 1 discriminator 3 view .LVU89
301 .loc 1 187 23 is_stmt 0 discriminator 3 view .LVU90
302 005a C4F88C30 str r3, [r4, #140]
188:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
189:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* initialize thread timer */
190:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_init(&(thread->thread_timer),
303 .loc 1 190 5 is_stmt 1 discriminator 3 view .LVU91
304 005e 0193 str r3, [sp, #4]
305 0060 0093 str r3, [sp]
306 0062 2346 mov r3, r4
307 0064 0A4A ldr r2, .L16+4
308 0066 2146 mov r1, r4
309 0068 04F15400 add r0, r4, #84
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 11
310 006c FFF7FEFF bl rt_timer_init
311 .LVL27:
191:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->name,
192:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_timeout,
193:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread,
194:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** 0,
195:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_TIMER_FLAG_ONE_SHOT);
196:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
197:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_OBJECT_HOOK_CALL(rt_thread_inited_hook, (thread));
312 .loc 1 197 5 discriminator 3 view .LVU92
313 .loc 1 197 5 discriminator 3 view .LVU93
314 0070 084B ldr r3, .L16+8
315 0072 1B68 ldr r3, [r3]
316 0074 0BB1 cbz r3, .L13
317 .loc 1 197 5 discriminator 1 view .LVU94
318 0076 2046 mov r0, r4
319 0078 9847 blx r3
320 .LVL28:
321 .L13:
322 .loc 1 197 5 discriminator 3 view .LVU95
198:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
199:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
323 .loc 1 199 5 discriminator 3 view .LVU96
200:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
324 .loc 1 200 1 is_stmt 0 discriminator 3 view .LVU97
325 007a 0020 movs r0, #0
326 007c 03B0 add sp, sp, #12
327 .LCFI4:
328 .cfi_remember_state
329 .cfi_def_cfa_offset 20
330 @ sp needed
331 007e F0BD pop {r4, r5, r6, r7, pc}
332 .LVL29:
333 .L15:
334 .LCFI5:
335 .cfi_restore_state
167:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->init_priority = priority;
336 .loc 1 167 5 is_stmt 1 discriminator 1 view .LVU98
337 0080 A722 movs r2, #167
338 0082 0549 ldr r1, .L16+12
339 0084 0548 ldr r0, .L16+16
340 0086 FFF7FEFF bl rt_assert_handler
341 .LVL30:
342 008a D9E7 b .L12
343 .L17:
344 .align 2
345 .L16:
346 008c 00000000 .word rt_thread_exit
347 0090 00000000 .word rt_thread_timeout
348 0094 00000000 .word .LANCHOR1
349 0098 00000000 .word .LANCHOR0
350 009c 00000000 .word .LC0
351 .cfi_endproc
352 .LFE20:
354 .section .rodata.rt_thread_timeout.str1.4,"aMS",%progbits,1
355 .align 2
356 .LC1:
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 12
357 0000 74687265 .ascii "thread != RT_NULL\000"
357 61642021
357 3D205254
357 5F4E554C
357 4C00
358 0012 0000 .align 2
359 .LC2:
360 0014 28746872 .ascii "(thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_S"
360 6561642D
360 3E737461
360 74202620
360 52545F54
361 0047 55535045 .ascii "USPEND\000"
361 4E4400
362 004e 0000 .align 2
363 .LC3:
364 0050 72745F6F .ascii "rt_object_get_type((rt_object_t)thread) == RT_Objec"
364 626A6563
364 745F6765
364 745F7479
364 70652828
365 0083 745F436C .ascii "t_Class_Thread\000"
365 6173735F
365 54687265
365 616400
366 .section .text.rt_thread_timeout,"ax",%progbits
367 .align 1
368 .global rt_thread_timeout
369 .syntax unified
370 .thumb
371 .thumb_func
372 .fpu softvfp
374 rt_thread_timeout:
375 .LVL31:
376 .LFB35:
201:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
202:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
203:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @addtogroup Thread
204:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
205:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
206:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**@{*/
207:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
208:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
209:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will initialize a thread, normally it's used to initialize a
210:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * static thread object.
211:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
212:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the static thread object
213:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param name the name of thread, which shall be unique
214:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param entry the entry function of thread
215:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param parameter the parameter of thread enter function
216:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param stack_start the start address of thread stack
217:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param stack_size the size of thread stack
218:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param priority the priority of thread
219:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param tick the time slice if there are same priority thread
220:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
221:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the operation status, RT_EOK on OK, -RT_ERROR on error
222:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 13
223:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_init(struct rt_thread *thread,
224:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** const char *name,
225:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void (*entry)(void *parameter),
226:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *parameter,
227:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *stack_start,
228:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint32_t stack_size,
229:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint8_t priority,
230:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint32_t tick)
231:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
232:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
234:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
235:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
236:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* initialize thread object */
237:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_object_init((rt_object_t)thread, RT_Object_Class_Thread, name);
238:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
239:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return _rt_thread_init(thread,
240:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name,
241:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** entry,
242:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** parameter,
243:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** stack_start,
244:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** stack_size,
245:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** priority,
246:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** tick);
247:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
248:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
249:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
250:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will return self thread object
251:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
252:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the self thread object
253:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
254:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_t rt_thread_self(void)
255:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
256:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_current_thread;
257:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
258:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
259:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
260:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will start a thread and put it to system ready queue
261:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
262:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the thread to be started
263:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
264:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the operation status, RT_EOK on OK, -RT_ERROR on error
265:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
266:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_startup(rt_thread_t thread)
267:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
268:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
269:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
270:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_INIT);
271:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
272:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
273:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set current priority to initialize priority */
274:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->current_priority = thread->init_priority;
275:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
276:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* calculate priority attribute */
277:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #if RT_THREAD_PRIORITY_MAX > 32
278:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number = thread->current_priority >> 3; /* 5bit */
279:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 1L << thread->number;
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 14
280:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->high_mask = 1L << (thread->current_priority & 0x07); /* 3bit */
281:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #else
282:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 1L << thread->current_priority;
283:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
284:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
285:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_DEBUG_LOG(RT_DEBUG_THREAD, ("startup a thread:%s with priority:%d\n",
286:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->name, thread->init_priority));
287:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* change thread stat */
288:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_SUSPEND;
289:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* then resume it */
290:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_resume(thread);
291:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (rt_thread_self() != RT_NULL)
292:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
293:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* do a scheduling */
294:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule();
295:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
296:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
297:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
298:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
299:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
300:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
301:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will detach a thread. The thread object will be removed from
302:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * thread queue and detached/deleted from system object management.
303:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
304:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the thread to be deleted
305:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
306:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the operation status, RT_EOK on OK, -RT_ERROR on error
307:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
308:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_detach(rt_thread_t thread)
309:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
310:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_base_t lock;
311:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
312:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
313:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
314:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
315:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread));
316:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
317:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_CLOSE)
318:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
319:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
320:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) != RT_THREAD_INIT)
321:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
322:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove from schedule */
323:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_remove_thread(thread);
324:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
325:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
326:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** _thread_cleanup_execute(thread);
327:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
328:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* release thread timer */
329:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_detach(&(thread->thread_timer));
330:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
331:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* change stat */
332:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_CLOSE;
333:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
334:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE)
335:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
336:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_object_detach((rt_object_t)thread);
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 15
337:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
338:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** else
339:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
340:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
341:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** lock = rt_hw_interrupt_disable();
342:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to defunct thread list */
343:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
344:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
345:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(lock);
346:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
347:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
348:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
349:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
350:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
351:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #ifdef RT_USING_HEAP
352:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
353:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will create a thread object and allocate thread object memory
354:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * and stack.
355:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
356:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param name the name of thread, which shall be unique
357:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param entry the entry function of thread
358:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param parameter the parameter of thread enter function
359:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param stack_size the size of thread stack
360:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param priority the priority of thread
361:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param tick the time slice if there are same priority thread
362:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
363:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the created thread object
364:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
365:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_t rt_thread_create(const char *name,
366:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void (*entry)(void *parameter),
367:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *parameter,
368:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint32_t stack_size,
369:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint8_t priority,
370:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_uint32_t tick)
371:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
372:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
373:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *stack_start;
374:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
375:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread = (struct rt_thread *)rt_object_allocate(RT_Object_Class_Thread,
376:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name);
377:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (thread == RT_NULL)
378:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_NULL;
379:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
380:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** stack_start = (void *)RT_KERNEL_MALLOC(stack_size);
381:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (stack_start == RT_NULL)
382:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
383:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* allocate stack failure */
384:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_object_delete((rt_object_t)thread);
385:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
386:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_NULL;
387:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
388:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
389:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** _rt_thread_init(thread,
390:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name,
391:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** entry,
392:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** parameter,
393:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** stack_start,
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 16
394:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** stack_size,
395:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** priority,
396:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** tick);
397:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
398:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return thread;
399:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
400:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
401:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
402:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will delete a thread. The thread object will be removed from
403:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * thread queue and deleted from system object management in the idle thread.
404:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
405:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the thread to be deleted
406:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
407:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the operation status, RT_EOK on OK, -RT_ERROR on error
408:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
409:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_delete(rt_thread_t thread)
410:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
411:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_base_t lock;
412:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
413:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
414:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
415:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
416:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread) == RT_FALSE);
417:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
418:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_CLOSE)
419:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
420:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
421:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) != RT_THREAD_INIT)
422:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
423:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove from schedule */
424:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_remove_thread(thread);
425:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
426:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
427:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** _thread_cleanup_execute(thread);
428:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
429:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* release thread timer */
430:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_detach(&(thread->thread_timer));
431:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
432:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
433:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** lock = rt_hw_interrupt_disable();
434:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
435:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* change stat */
436:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_CLOSE;
437:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
438:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to defunct thread list */
439:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_insert_after(&rt_thread_defunct, &(thread->tlist));
440:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
441:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
442:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(lock);
443:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
444:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
445:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
446:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
447:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
448:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
449:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will let current thread yield processor, and scheduler will
450:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * choose a highest thread to run. After yield processor, the current thread
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 17
451:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * is still in READY state.
452:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
453:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return RT_EOK
454:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
455:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_yield(void)
456:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
457:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
458:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
459:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
460:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
461:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** level = rt_hw_interrupt_disable();
462:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
463:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set to current thread */
464:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread = rt_current_thread;
465:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
466:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* if the thread stat is READY and on ready queue list */
467:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_READY &&
468:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->tlist.next != thread->tlist.prev)
469:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
470:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove thread from thread list */
471:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_remove(&(thread->tlist));
472:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
473:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* put thread to end of ready queue */
474:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_insert_before(&(rt_thread_priority_table[thread->current_priority]),
475:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** &(thread->tlist));
476:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
477:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
478:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(level);
479:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
480:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule();
481:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
482:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
483:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
484:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
485:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
486:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(level);
487:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
488:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
489:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
490:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
491:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
492:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will let current thread sleep for some ticks.
493:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
494:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param tick the sleep ticks
495:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
496:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return RT_EOK
497:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
498:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_sleep(rt_tick_t tick)
499:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
500:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
501:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
502:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
503:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
504:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** temp = rt_hw_interrupt_disable();
505:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set to current thread */
506:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread = rt_current_thread;
507:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 18
508:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
509:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
510:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* suspend thread */
511:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_suspend(thread);
512:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
513:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* reset the timeout of thread timer and start it */
514:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_control(&(thread->thread_timer), RT_TIMER_CTRL_SET_TIME, &tick);
515:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_start(&(thread->thread_timer));
516:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
517:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
518:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(temp);
519:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
520:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule();
521:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
522:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* clear error number of this thread to RT_EOK */
523:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (thread->error == -RT_ETIMEOUT)
524:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = RT_EOK;
525:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
526:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
527:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
528:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
529:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
530:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will let current thread delay for some ticks.
531:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
532:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param tick the delay ticks
533:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
534:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return RT_EOK
535:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
536:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_delay(rt_tick_t tick)
537:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
538:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_sleep(tick);
539:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
540:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
541:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
542:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will let current thread delay until (*tick + inc_tick).
543:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
544:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param tick the tick of last wakeup.
545:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param inc_tick the increment tick
546:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
547:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return RT_EOK
548:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
549:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_delay_until(rt_tick_t *tick, rt_tick_t inc_tick)
550:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
551:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
552:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
553:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
554:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(tick != RT_NULL);
555:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
556:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set to current thread */
557:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread = rt_thread_self();
558:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
559:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
560:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
561:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
562:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** level = rt_hw_interrupt_disable();
563:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
564:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (rt_tick_get() - *tick < inc_tick)
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 19
565:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
566:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *tick = *tick + inc_tick - rt_tick_get();
567:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
568:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* suspend thread */
569:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_suspend(thread);
570:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
571:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* reset the timeout of thread timer and start it */
572:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_control(&(thread->thread_timer), RT_TIMER_CTRL_SET_TIME, tick);
573:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_start(&(thread->thread_timer));
574:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
575:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
576:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(level);
577:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
578:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule();
579:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
580:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* clear error number of this thread to RT_EOK */
581:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (thread->error == -RT_ETIMEOUT)
582:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
583:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = RT_EOK;
584:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
585:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
586:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** else
587:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
588:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(level);
589:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
590:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
591:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* get the wakeup tick */
592:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *tick = rt_tick_get();
593:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
594:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
595:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
596:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
597:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
598:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will let current thread delay for some milliseconds.
599:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
600:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param ms the delay ms time
601:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
602:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return RT_EOK
603:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
604:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_mdelay(rt_int32_t ms)
605:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
606:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_tick_t tick;
607:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
608:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** tick = rt_tick_from_millisecond(ms);
609:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
610:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_sleep(tick);
611:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
612:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
613:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
614:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will control thread behaviors according to control command.
615:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
616:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the specified thread to be controlled
617:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param cmd the control command, which includes
618:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * RT_THREAD_CTRL_CHANGE_PRIORITY for changing priority level of thread;
619:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * RT_THREAD_CTRL_STARTUP for starting a thread;
620:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * RT_THREAD_CTRL_CLOSE for delete a thread;
621:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * RT_THREAD_CTRL_BIND_CPU for bind the thread to a CPU.
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 20
622:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param arg the argument of control command
623:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
624:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return RT_EOK
625:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
626:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_control(rt_thread_t thread, int cmd, void *arg)
627:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
628:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
629:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
630:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
632:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
633:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
634:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** switch (cmd)
635:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
636:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** case RT_THREAD_CTRL_CHANGE_PRIORITY:
637:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
638:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** temp = rt_hw_interrupt_disable();
639:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
640:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* for ready thread, change queue */
641:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_READY)
642:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
643:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove thread from schedule queue first */
644:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_remove_thread(thread);
645:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
646:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* change thread priority */
647:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->current_priority = *(rt_uint8_t *)arg;
648:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
649:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* recalculate priority attribute */
650:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #if RT_THREAD_PRIORITY_MAX > 32
651:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number = thread->current_priority >> 3; /* 5bit */
652:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 1 << thread->number;
653:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->high_mask = 1 << (thread->current_priority & 0x07); /* 3bit */
654:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #else
655:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 1 << thread->current_priority;
656:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
657:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
658:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert thread to schedule queue again */
659:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_insert_thread(thread);
660:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
661:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** else
662:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
663:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->current_priority = *(rt_uint8_t *)arg;
664:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
665:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* recalculate priority attribute */
666:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #if RT_THREAD_PRIORITY_MAX > 32
667:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number = thread->current_priority >> 3; /* 5bit */
668:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 1 << thread->number;
669:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->high_mask = 1 << (thread->current_priority & 0x07); /* 3bit */
670:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #else
671:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->number_mask = 1 << thread->current_priority;
672:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
673:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
674:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
675:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
676:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(temp);
677:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** break;
678:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 21
679:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** case RT_THREAD_CTRL_STARTUP:
680:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_startup(thread);
681:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
682:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** case RT_THREAD_CTRL_CLOSE:
683:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
684:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (rt_object_is_systemobject((rt_object_t)thread) == RT_TRUE)
685:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
686:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_detach(thread);
687:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
688:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #ifdef RT_USING_HEAP
689:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** else
690:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
691:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_delete(thread);
692:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
693:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
694:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
695:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** default:
696:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** break;
697:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
698:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
699:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
700:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
701:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
702:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
703:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will suspend the specified thread.
704:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
705:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the thread to be suspended
706:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
707:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the operation status, RT_EOK on OK, -RT_ERROR on error
708:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
709:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @note if suspend self thread, after this function call, the
710:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * rt_schedule() must be invoked.
711:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
712:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_suspend(rt_thread_t thread)
713:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
714:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
715:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
716:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
717:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
718:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
719:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
720:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend: %s\n", thread->name));
721:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
722:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) != RT_THREAD_READY)
723:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
724:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread suspend: thread disorder, 0x%2x\n",
725:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat));
726:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
727:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return -RT_ERROR;
728:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
729:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
730:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
731:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** temp = rt_hw_interrupt_disable();
732:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
733:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* change thread stat */
734:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_remove_thread(thread);
735:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_SUSPEND | (thread->stat & ~RT_THREAD_STAT_MASK);
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 22
736:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
737:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* stop thread timer anyway */
738:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_stop(&(thread->thread_timer));
739:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
740:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
741:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(temp);
742:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
743:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_OBJECT_HOOK_CALL(rt_thread_suspend_hook, (thread));
744:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
745:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
746:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
747:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
748:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will resume a thread and put it to system ready queue.
749:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
750:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param thread the thread to be resumed
751:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
752:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the operation status, RT_EOK on OK, -RT_ERROR on error
753:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
754:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_err_t rt_thread_resume(rt_thread_t thread)
755:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
756:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
757:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
758:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
759:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
760:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
761:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
762:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume: %s\n", thread->name));
763:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
764:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if ((thread->stat & RT_THREAD_STAT_MASK) != RT_THREAD_SUSPEND)
765:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
766:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_DEBUG_LOG(RT_DEBUG_THREAD, ("thread resume: thread disorder, %d\n",
767:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat));
768:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
769:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return -RT_ERROR;
770:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
771:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
772:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* disable interrupt */
773:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** temp = rt_hw_interrupt_disable();
774:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
775:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove from suspend list */
776:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_remove(&(thread->tlist));
777:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
778:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_stop(&thread->thread_timer);
779:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
780:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
781:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_hw_interrupt_enable(temp);
782:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
783:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to schedule ready list */
784:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_insert_thread(thread);
785:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
786:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_OBJECT_HOOK_CALL(rt_thread_resume_hook, (thread));
787:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
788:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
789:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
790:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
791:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function is the timeout function for thread, normally which is invoked
792:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * when thread is timeout to wait some resource.
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 23
793:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
794:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param parameter the parameter of thread timeout function
795:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
796:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void rt_thread_timeout(void *parameter)
797:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
377 .loc 1 797 1 view -0
378 .cfi_startproc
379 @ args = 0, pretend = 0, frame = 0
380 @ frame_needed = 0, uses_anonymous_args = 0
381 .loc 1 797 1 is_stmt 0 view .LVU100
382 0000 10B5 push {r4, lr}
383 .LCFI6:
384 .cfi_def_cfa_offset 8
385 .cfi_offset 4, -8
386 .cfi_offset 14, -4
798:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
387 .loc 1 798 5 is_stmt 1 view .LVU101
799:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
800:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread = (struct rt_thread *)parameter;
388 .loc 1 800 5 view .LVU102
389 .LVL32:
801:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
802:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
803:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
390 .loc 1 803 5 view .LVU103
391 0002 0446 mov r4, r0
392 0004 E0B1 cbz r0, .L23
393 .LVL33:
394 .L19:
395 .loc 1 803 33 discriminator 3 view .LVU104
804:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_SUSPEND);
396 .loc 1 804 5 discriminator 3 view .LVU105
397 0006 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
398 000a 03F00F03 and r3, r3, #15
399 000e 022B cmp r3, #2
400 0010 1DD1 bne .L24
401 .L20:
402 .loc 1 804 73 discriminator 3 view .LVU106
805:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
403 .loc 1 805 5 discriminator 3 view .LVU107
404 0012 2046 mov r0, r4
405 0014 FFF7FEFF bl rt_object_get_type
406 .LVL34:
407 0018 0128 cmp r0, #1
408 001a 1FD1 bne .L25
409 .L21:
410 .loc 1 805 81 discriminator 3 view .LVU108
806:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
807:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set error number */
808:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = -RT_ETIMEOUT;
411 .loc 1 808 5 discriminator 3 view .LVU109
412 .loc 1 808 19 is_stmt 0 discriminator 3 view .LVU110
413 001c 6FF00103 mvn r3, #1
414 0020 A363 str r3, [r4, #56]
809:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
810:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* remove from suspend list */
811:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_list_remove(&(thread->tlist));
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 24
415 .loc 1 811 5 is_stmt 1 discriminator 3 view .LVU111
416 0022 04F11C03 add r3, r4, #28
417 .LVL35:
418 .LBB22:
419 .LBI22:
65:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
66:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
67:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
68:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @brief insert a node before a list
69:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** *
70:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @param n new node to be inserted
71:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @param l list to insert it
72:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
73:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** rt_inline void rt_list_insert_before(rt_list_t *l, rt_list_t *n)
74:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
75:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** l->prev->next = n;
76:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l->prev;
77:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
78:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** l->prev = n;
79:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l;
80:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
81:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
82:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** /**
83:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @brief remove node from list.
84:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** * @param n the node to remove from the list.
85:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** */
86:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** rt_inline void rt_list_remove(rt_list_t *n)
420 .loc 2 86 16 discriminator 3 view .LVU112
421 .LBB23:
87:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next->prev = n->prev;
422 .loc 2 88 5 discriminator 3 view .LVU113
423 .loc 2 88 6 is_stmt 0 discriminator 3 view .LVU114
424 0026 E169 ldr r1, [r4, #28]
425 .loc 2 88 22 discriminator 3 view .LVU115
426 0028 226A ldr r2, [r4, #32]
427 .loc 2 88 19 discriminator 3 view .LVU116
428 002a 4A60 str r2, [r1, #4]
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
429 .loc 2 89 5 is_stmt 1 discriminator 3 view .LVU117
430 .loc 2 89 22 is_stmt 0 discriminator 3 view .LVU118
431 002c E169 ldr r1, [r4, #28]
432 .loc 2 89 19 discriminator 3 view .LVU119
433 002e 1160 str r1, [r2]
90:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
91:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = n->prev = n;
434 .loc 2 91 5 is_stmt 1 discriminator 3 view .LVU120
435 .loc 2 91 23 is_stmt 0 discriminator 3 view .LVU121
436 0030 2362 str r3, [r4, #32]
437 .loc 2 91 13 discriminator 3 view .LVU122
438 0032 E361 str r3, [r4, #28]
439 .LVL36:
440 .loc 2 91 13 discriminator 3 view .LVU123
441 .LBE23:
442 .LBE22:
812:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
813:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to schedule ready list */
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 25
814:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule_insert_thread(thread);
443 .loc 1 814 5 is_stmt 1 discriminator 3 view .LVU124
444 0034 2046 mov r0, r4
445 0036 FFF7FEFF bl rt_schedule_insert_thread
446 .LVL37:
815:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
816:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* do schedule */
817:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_schedule();
447 .loc 1 817 5 discriminator 3 view .LVU125
448 003a FFF7FEFF bl rt_schedule
449 .LVL38:
818:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
450 .loc 1 818 1 is_stmt 0 discriminator 3 view .LVU126
451 003e 10BD pop {r4, pc}
452 .LVL39:
453 .L23:
803:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_SUSPEND);
454 .loc 1 803 5 is_stmt 1 discriminator 1 view .LVU127
455 0040 40F22332 movw r2, #803
456 0044 0949 ldr r1, .L26
457 0046 0A48 ldr r0, .L26+4
458 .LVL40:
803:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_SUSPEND);
459 .loc 1 803 5 is_stmt 0 discriminator 1 view .LVU128
460 0048 FFF7FEFF bl rt_assert_handler
461 .LVL41:
462 004c DBE7 b .L19
463 .L24:
804:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
464 .loc 1 804 5 is_stmt 1 discriminator 1 view .LVU129
465 004e 4FF44972 mov r2, #804
466 0052 0649 ldr r1, .L26
467 0054 0748 ldr r0, .L26+8
468 0056 FFF7FEFF bl rt_assert_handler
469 .LVL42:
470 005a DAE7 b .L20
471 .L25:
805:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
472 .loc 1 805 5 discriminator 1 view .LVU130
473 005c 40F22532 movw r2, #805
474 0060 0249 ldr r1, .L26
475 0062 0548 ldr r0, .L26+12
476 0064 FFF7FEFF bl rt_assert_handler
477 .LVL43:
478 0068 D8E7 b .L21
479 .L27:
480 006a 00BF .align 2
481 .L26:
482 006c 00000000 .word .LANCHOR2
483 0070 00000000 .word .LC1
484 0074 14000000 .word .LC2
485 0078 50000000 .word .LC3
486 .cfi_endproc
487 .LFE35:
489 .section .text.rt_thread_suspend_sethook,"ax",%progbits
490 .align 1
491 .global rt_thread_suspend_sethook
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 26
492 .syntax unified
493 .thumb
494 .thumb_func
495 .fpu softvfp
497 rt_thread_suspend_sethook:
498 .LVL44:
499 .LFB15:
53:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_suspend_hook = hook;
500 .loc 1 53 1 view -0
501 .cfi_startproc
502 @ args = 0, pretend = 0, frame = 0
503 @ frame_needed = 0, uses_anonymous_args = 0
504 @ link register save eliminated.
54:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
505 .loc 1 54 5 view .LVU132
54:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
506 .loc 1 54 28 is_stmt 0 view .LVU133
507 0000 014B ldr r3, .L29
508 0002 1860 str r0, [r3]
55:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
509 .loc 1 55 1 view .LVU134
510 0004 7047 bx lr
511 .L30:
512 0006 00BF .align 2
513 .L29:
514 0008 00000000 .word .LANCHOR3
515 .cfi_endproc
516 .LFE15:
518 .section .text.rt_thread_resume_sethook,"ax",%progbits
519 .align 1
520 .global rt_thread_resume_sethook
521 .syntax unified
522 .thumb
523 .thumb_func
524 .fpu softvfp
526 rt_thread_resume_sethook:
527 .LVL45:
528 .LFB16:
66:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_resume_hook = hook;
529 .loc 1 66 1 is_stmt 1 view -0
530 .cfi_startproc
531 @ args = 0, pretend = 0, frame = 0
532 @ frame_needed = 0, uses_anonymous_args = 0
533 @ link register save eliminated.
67:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
534 .loc 1 67 5 view .LVU136
67:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
535 .loc 1 67 27 is_stmt 0 view .LVU137
536 0000 014B ldr r3, .L32
537 0002 1860 str r0, [r3]
68:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
538 .loc 1 68 1 view .LVU138
539 0004 7047 bx lr
540 .L33:
541 0006 00BF .align 2
542 .L32:
543 0008 00000000 .word .LANCHOR4
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 27
544 .cfi_endproc
545 .LFE16:
547 .section .text.rt_thread_inited_sethook,"ax",%progbits
548 .align 1
549 .global rt_thread_inited_sethook
550 .syntax unified
551 .thumb
552 .thumb_func
553 .fpu softvfp
555 rt_thread_inited_sethook:
556 .LVL46:
557 .LFB17:
77:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_inited_hook = hook;
558 .loc 1 77 1 is_stmt 1 view -0
559 .cfi_startproc
560 @ args = 0, pretend = 0, frame = 0
561 @ frame_needed = 0, uses_anonymous_args = 0
562 @ link register save eliminated.
78:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
563 .loc 1 78 5 view .LVU140
78:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
564 .loc 1 78 27 is_stmt 0 view .LVU141
565 0000 014B ldr r3, .L35
566 0002 1860 str r0, [r3]
79:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
567 .loc 1 79 1 view .LVU142
568 0004 7047 bx lr
569 .L36:
570 0006 00BF .align 2
571 .L35:
572 0008 00000000 .word .LANCHOR1
573 .cfi_endproc
574 .LFE17:
576 .section .rodata.rt_thread_init.str1.4,"aMS",%progbits,1
577 .align 2
578 .LC4:
579 0000 73746163 .ascii "stack_start != RT_NULL\000"
579 6B5F7374
579 61727420
579 213D2052
579 545F4E55
580 .section .text.rt_thread_init,"ax",%progbits
581 .align 1
582 .global rt_thread_init
583 .syntax unified
584 .thumb
585 .thumb_func
586 .fpu softvfp
588 rt_thread_init:
589 .LVL47:
590 .LFB21:
231:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
591 .loc 1 231 1 is_stmt 1 view -0
592 .cfi_startproc
593 @ args = 16, pretend = 0, frame = 0
594 @ frame_needed = 0, uses_anonymous_args = 0
231:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 28
595 .loc 1 231 1 is_stmt 0 view .LVU144
596 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
597 .LCFI7:
598 .cfi_def_cfa_offset 24
599 .cfi_offset 4, -24
600 .cfi_offset 5, -20
601 .cfi_offset 6, -16
602 .cfi_offset 7, -12
603 .cfi_offset 8, -8
604 .cfi_offset 14, -4
605 0004 84B0 sub sp, sp, #16
606 .LCFI8:
607 .cfi_def_cfa_offset 40
608 0006 0C46 mov r4, r1
609 0008 1546 mov r5, r2
610 000a 1E46 mov r6, r3
611 000c DDF82880 ldr r8, [sp, #40]
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
612 .loc 1 233 5 is_stmt 1 view .LVU145
613 0010 0746 mov r7, r0
614 0012 C8B1 cbz r0, .L41
615 .LVL48:
616 .L38:
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
617 .loc 1 233 33 discriminator 3 view .LVU146
234:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
618 .loc 1 234 5 discriminator 3 view .LVU147
619 0014 B8F1000F cmp r8, #0
620 0018 1CD0 beq .L42
621 .L39:
234:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
622 .loc 1 234 38 discriminator 3 view .LVU148
237:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
623 .loc 1 237 5 discriminator 3 view .LVU149
624 001a 2246 mov r2, r4
625 001c 0121 movs r1, #1
626 001e 3846 mov r0, r7
627 0020 FFF7FEFF bl rt_object_init
628 .LVL49:
239:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name,
629 .loc 1 239 5 discriminator 3 view .LVU150
239:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name,
630 .loc 1 239 12 is_stmt 0 discriminator 3 view .LVU151
631 0024 0D9B ldr r3, [sp, #52]
632 0026 0393 str r3, [sp, #12]
633 0028 9DF83030 ldrb r3, [sp, #48] @ zero_extendqisi2
634 002c 0293 str r3, [sp, #8]
635 002e 0B9B ldr r3, [sp, #44]
636 0030 0193 str r3, [sp, #4]
637 0032 CDF80080 str r8, [sp]
638 0036 3346 mov r3, r6
639 0038 2A46 mov r2, r5
640 003a 2146 mov r1, r4
641 003c 3846 mov r0, r7
642 003e FFF7FEFF bl _rt_thread_init
643 .LVL50:
247:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 29
644 .loc 1 247 1 discriminator 3 view .LVU152
645 0042 04B0 add sp, sp, #16
646 .LCFI9:
647 .cfi_remember_state
648 .cfi_def_cfa_offset 24
649 @ sp needed
650 0044 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
651 .LVL51:
652 .L41:
653 .LCFI10:
654 .cfi_restore_state
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
655 .loc 1 233 5 is_stmt 1 discriminator 1 view .LVU153
656 0048 E922 movs r2, #233
657 .LVL52:
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
658 .loc 1 233 5 is_stmt 0 discriminator 1 view .LVU154
659 004a 0549 ldr r1, .L43
660 .LVL53:
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
661 .loc 1 233 5 discriminator 1 view .LVU155
662 004c 0548 ldr r0, .L43+4
663 .LVL54:
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
664 .loc 1 233 5 discriminator 1 view .LVU156
665 004e FFF7FEFF bl rt_assert_handler
666 .LVL55:
233:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(stack_start != RT_NULL);
667 .loc 1 233 5 discriminator 1 view .LVU157
668 0052 DFE7 b .L38
669 .L42:
234:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
670 .loc 1 234 5 is_stmt 1 discriminator 1 view .LVU158
671 0054 EA22 movs r2, #234
672 0056 0249 ldr r1, .L43
673 0058 0348 ldr r0, .L43+8
674 005a FFF7FEFF bl rt_assert_handler
675 .LVL56:
676 005e DCE7 b .L39
677 .L44:
678 .align 2
679 .L43:
680 0060 00000000 .word .LANCHOR5
681 0064 00000000 .word .LC1
682 0068 00000000 .word .LC4
683 .cfi_endproc
684 .LFE21:
686 .section .text.rt_thread_self,"ax",%progbits
687 .align 1
688 .global rt_thread_self
689 .syntax unified
690 .thumb
691 .thumb_func
692 .fpu softvfp
694 rt_thread_self:
695 .LFB22:
255:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_current_thread;
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 30
696 .loc 1 255 1 view -0
697 .cfi_startproc
698 @ args = 0, pretend = 0, frame = 0
699 @ frame_needed = 0, uses_anonymous_args = 0
700 @ link register save eliminated.
256:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
701 .loc 1 256 5 view .LVU160
257:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
702 .loc 1 257 1 is_stmt 0 view .LVU161
703 0000 014B ldr r3, .L46
704 0002 1868 ldr r0, [r3]
705 0004 7047 bx lr
706 .L47:
707 0006 00BF .align 2
708 .L46:
709 0008 00000000 .word rt_current_thread
710 .cfi_endproc
711 .LFE22:
713 .section .rodata.rt_thread_detach.str1.4,"aMS",%progbits,1
714 .align 2
715 .LC5:
716 0000 72745F6F .ascii "rt_object_is_systemobject((rt_object_t)thread)\000"
716 626A6563
716 745F6973
716 5F737973
716 74656D6F
717 .section .text.rt_thread_detach,"ax",%progbits
718 .align 1
719 .global rt_thread_detach
720 .syntax unified
721 .thumb
722 .thumb_func
723 .fpu softvfp
725 rt_thread_detach:
726 .LVL57:
727 .LFB24:
309:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_base_t lock;
728 .loc 1 309 1 is_stmt 1 view -0
729 .cfi_startproc
730 @ args = 0, pretend = 0, frame = 0
731 @ frame_needed = 0, uses_anonymous_args = 0
309:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_base_t lock;
732 .loc 1 309 1 is_stmt 0 view .LVU163
733 0000 10B5 push {r4, lr}
734 .LCFI11:
735 .cfi_def_cfa_offset 8
736 .cfi_offset 4, -8
737 .cfi_offset 14, -4
310:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
738 .loc 1 310 5 is_stmt 1 view .LVU164
313:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
739 .loc 1 313 5 view .LVU165
740 0002 0446 mov r4, r0
741 0004 60B3 cbz r0, .L56
742 .LVL58:
743 .L49:
313:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 31
744 .loc 1 313 33 discriminator 3 view .LVU166
314:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread));
745 .loc 1 314 5 discriminator 3 view .LVU167
746 0006 2046 mov r0, r4
747 0008 FFF7FEFF bl rt_object_get_type
748 .LVL59:
749 000c 0128 cmp r0, #1
750 000e 2ED1 bne .L57
751 .L50:
314:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread));
752 .loc 1 314 81 discriminator 3 view .LVU168
315:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
753 .loc 1 315 5 discriminator 3 view .LVU169
754 0010 2046 mov r0, r4
755 0012 FFF7FEFF bl rt_object_is_systemobject
756 .LVL60:
757 0016 88B3 cbz r0, .L58
758 .L51:
315:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
759 .loc 1 315 62 discriminator 3 view .LVU170
317:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
760 .loc 1 317 5 discriminator 3 view .LVU171
317:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
761 .loc 1 317 16 is_stmt 0 discriminator 3 view .LVU172
762 0018 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
763 001c 03F00F03 and r3, r3, #15
317:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
764 .loc 1 317 8 discriminator 3 view .LVU173
765 0020 042B cmp r3, #4
766 0022 1BD0 beq .L52
320:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
767 .loc 1 320 5 is_stmt 1 view .LVU174
320:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
768 .loc 1 320 8 is_stmt 0 view .LVU175
769 0024 8BBB cbnz r3, .L59
770 .L53:
326:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
771 .loc 1 326 5 is_stmt 1 view .LVU176
772 0026 2046 mov r0, r4
773 0028 FFF7FEFF bl _thread_cleanup_execute
774 .LVL61:
329:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
775 .loc 1 329 5 view .LVU177
776 002c 04F15400 add r0, r4, #84
777 0030 FFF7FEFF bl rt_timer_detach
778 .LVL62:
332:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
779 .loc 1 332 5 view .LVU178
332:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
780 .loc 1 332 18 is_stmt 0 view .LVU179
781 0034 0423 movs r3, #4
782 0036 84F83C30 strb r3, [r4, #60]
334:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
783 .loc 1 334 5 is_stmt 1 view .LVU180
334:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
784 .loc 1 334 9 is_stmt 0 view .LVU181
785 003a 2046 mov r0, r4
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 32
786 003c FFF7FEFF bl rt_object_is_systemobject
787 .LVL63:
334:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
788 .loc 1 334 8 view .LVU182
789 0040 0128 cmp r0, #1
790 0042 26D0 beq .L60
341:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to defunct thread list */
791 .loc 1 341 9 is_stmt 1 view .LVU183
341:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* insert to defunct thread list */
792 .loc 1 341 16 is_stmt 0 view .LVU184
793 0044 FFF7FEFF bl rt_hw_interrupt_disable
794 .LVL64:
343:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* enable interrupt */
795 .loc 1 343 9 is_stmt 1 view .LVU185
796 0048 04F11C02 add r2, r4, #28
797 .LVL65:
798 .LBB24:
799 .LBI24:
58:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
800 .loc 2 58 16 view .LVU186
801 .LBB25:
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
802 .loc 2 60 5 view .LVU187
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
803 .loc 2 60 6 is_stmt 0 view .LVU188
804 004c 134B ldr r3, .L61
805 004e 1968 ldr r1, [r3]
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
806 .loc 2 60 19 view .LVU189
807 0050 4A60 str r2, [r1, #4]
61:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
808 .loc 2 61 5 is_stmt 1 view .LVU190
61:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
809 .loc 2 61 13 is_stmt 0 view .LVU191
810 0052 E161 str r1, [r4, #28]
63:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l;
811 .loc 2 63 5 is_stmt 1 view .LVU192
63:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l;
812 .loc 2 63 13 is_stmt 0 view .LVU193
813 0054 1A60 str r2, [r3]
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
814 .loc 2 64 5 is_stmt 1 view .LVU194
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
815 .loc 2 64 13 is_stmt 0 view .LVU195
816 0056 2362 str r3, [r4, #32]
817 .LVL66:
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
818 .loc 2 64 13 view .LVU196
819 .LBE25:
820 .LBE24:
345:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
821 .loc 1 345 9 is_stmt 1 view .LVU197
822 0058 FFF7FEFF bl rt_hw_interrupt_enable
823 .LVL67:
824 .L52:
349:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
825 .loc 1 349 1 is_stmt 0 view .LVU198
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 33
826 005c 0020 movs r0, #0
827 005e 10BD pop {r4, pc}
828 .LVL68:
829 .L56:
313:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
830 .loc 1 313 5 is_stmt 1 discriminator 1 view .LVU199
831 0060 40F23912 movw r2, #313
832 0064 0E49 ldr r1, .L61+4
833 0066 0F48 ldr r0, .L61+8
834 .LVL69:
313:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
835 .loc 1 313 5 is_stmt 0 discriminator 1 view .LVU200
836 0068 FFF7FEFF bl rt_assert_handler
837 .LVL70:
838 006c CBE7 b .L49
839 .L57:
314:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread));
840 .loc 1 314 5 is_stmt 1 discriminator 1 view .LVU201
841 006e 4FF49D72 mov r2, #314
842 0072 0B49 ldr r1, .L61+4
843 0074 0C48 ldr r0, .L61+12
844 0076 FFF7FEFF bl rt_assert_handler
845 .LVL71:
846 007a C9E7 b .L50
847 .L58:
315:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
848 .loc 1 315 5 discriminator 1 view .LVU202
849 007c 40F23B12 movw r2, #315
850 0080 0749 ldr r1, .L61+4
851 0082 0A48 ldr r0, .L61+16
852 0084 FFF7FEFF bl rt_assert_handler
853 .LVL72:
854 0088 C6E7 b .L51
855 .L59:
323:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
856 .loc 1 323 9 view .LVU203
857 008a 2046 mov r0, r4
858 008c FFF7FEFF bl rt_schedule_remove_thread
859 .LVL73:
860 0090 C9E7 b .L53
861 .L60:
336:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
862 .loc 1 336 9 view .LVU204
863 0092 2046 mov r0, r4
864 0094 FFF7FEFF bl rt_object_detach
865 .LVL74:
866 0098 E0E7 b .L52
867 .L62:
868 009a 00BF .align 2
869 .L61:
870 009c 00000000 .word rt_thread_defunct
871 00a0 00000000 .word .LANCHOR6
872 00a4 00000000 .word .LC1
873 00a8 50000000 .word .LC3
874 00ac 00000000 .word .LC5
875 .cfi_endproc
876 .LFE24:
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 34
878 .section .text.rt_thread_create,"ax",%progbits
879 .align 1
880 .global rt_thread_create
881 .syntax unified
882 .thumb
883 .thumb_func
884 .fpu softvfp
886 rt_thread_create:
887 .LVL75:
888 .LFB25:
371:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
889 .loc 1 371 1 view -0
890 .cfi_startproc
891 @ args = 8, pretend = 0, frame = 0
892 @ frame_needed = 0, uses_anonymous_args = 0
371:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
893 .loc 1 371 1 is_stmt 0 view .LVU206
894 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr}
895 .LCFI12:
896 .cfi_def_cfa_offset 28
897 .cfi_offset 4, -28
898 .cfi_offset 5, -24
899 .cfi_offset 6, -20
900 .cfi_offset 7, -16
901 .cfi_offset 8, -12
902 .cfi_offset 9, -8
903 .cfi_offset 14, -4
904 0004 85B0 sub sp, sp, #20
905 .LCFI13:
906 .cfi_def_cfa_offset 48
907 0006 0446 mov r4, r0
908 0008 0F46 mov r7, r1
909 000a 9046 mov r8, r2
910 000c 1D46 mov r5, r3
372:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** void *stack_start;
911 .loc 1 372 5 is_stmt 1 view .LVU207
373:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
912 .loc 1 373 5 view .LVU208
375:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name);
913 .loc 1 375 5 view .LVU209
375:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name);
914 .loc 1 375 34 is_stmt 0 view .LVU210
915 000e 0146 mov r1, r0
916 .LVL76:
375:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name);
917 .loc 1 375 34 view .LVU211
918 0010 0120 movs r0, #1
919 .LVL77:
375:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name);
920 .loc 1 375 34 view .LVU212
921 0012 FFF7FEFF bl rt_object_allocate
922 .LVL78:
377:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_NULL;
923 .loc 1 377 5 is_stmt 1 view .LVU213
377:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_NULL;
924 .loc 1 377 8 is_stmt 0 view .LVU214
925 0016 0646 mov r6, r0
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 35
926 0018 88B1 cbz r0, .L63
380:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (stack_start == RT_NULL)
927 .loc 1 380 5 is_stmt 1 view .LVU215
380:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (stack_start == RT_NULL)
928 .loc 1 380 19 is_stmt 0 view .LVU216
929 001a 2846 mov r0, r5
930 .LVL79:
380:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (stack_start == RT_NULL)
931 .loc 1 380 19 view .LVU217
932 001c FFF7FEFF bl rt_malloc
933 .LVL80:
381:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
934 .loc 1 381 5 is_stmt 1 view .LVU218
381:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
935 .loc 1 381 8 is_stmt 0 view .LVU219
936 0020 8146 mov r9, r0
937 0022 80B1 cbz r0, .L67
389:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name,
938 .loc 1 389 5 is_stmt 1 view .LVU220
939 0024 0D9B ldr r3, [sp, #52]
940 0026 0393 str r3, [sp, #12]
941 0028 9DF83030 ldrb r3, [sp, #48] @ zero_extendqisi2
942 002c 0293 str r3, [sp, #8]
943 002e 0195 str r5, [sp, #4]
944 0030 0090 str r0, [sp]
945 0032 4346 mov r3, r8
946 0034 3A46 mov r2, r7
947 0036 2146 mov r1, r4
948 0038 3046 mov r0, r6
949 .LVL81:
389:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** name,
950 .loc 1 389 5 is_stmt 0 view .LVU221
951 003a FFF7FEFF bl _rt_thread_init
952 .LVL82:
398:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
953 .loc 1 398 5 is_stmt 1 view .LVU222
954 .L63:
399:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
955 .loc 1 399 1 is_stmt 0 view .LVU223
956 003e 3046 mov r0, r6
957 0040 05B0 add sp, sp, #20
958 .LCFI14:
959 .cfi_remember_state
960 .cfi_def_cfa_offset 28
961 @ sp needed
962 0042 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc}
963 .LVL83:
964 .L67:
965 .LCFI15:
966 .cfi_restore_state
384:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
967 .loc 1 384 9 is_stmt 1 view .LVU224
968 0046 3046 mov r0, r6
969 .LVL84:
384:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
970 .loc 1 384 9 is_stmt 0 view .LVU225
971 0048 FFF7FEFF bl rt_object_delete
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 36
972 .LVL85:
386:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
973 .loc 1 386 9 is_stmt 1 view .LVU226
386:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
974 .loc 1 386 16 is_stmt 0 view .LVU227
975 004c 4E46 mov r6, r9
976 .LVL86:
386:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
977 .loc 1 386 16 view .LVU228
978 004e F6E7 b .L63
979 .cfi_endproc
980 .LFE25:
982 .section .rodata.rt_thread_delete.str1.4,"aMS",%progbits,1
983 .align 2
984 .LC6:
985 0000 72745F6F .ascii "rt_object_is_systemobject((rt_object_t)thread) == R"
985 626A6563
985 745F6973
985 5F737973
985 74656D6F
986 0033 545F4641 .ascii "T_FALSE\000"
986 4C534500
987 .section .text.rt_thread_delete,"ax",%progbits
988 .align 1
989 .global rt_thread_delete
990 .syntax unified
991 .thumb
992 .thumb_func
993 .fpu softvfp
995 rt_thread_delete:
996 .LVL87:
997 .LFB26:
410:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_base_t lock;
998 .loc 1 410 1 is_stmt 1 view -0
999 .cfi_startproc
1000 @ args = 0, pretend = 0, frame = 0
1001 @ frame_needed = 0, uses_anonymous_args = 0
410:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_base_t lock;
1002 .loc 1 410 1 is_stmt 0 view .LVU230
1003 0000 10B5 push {r4, lr}
1004 .LCFI16:
1005 .cfi_def_cfa_offset 8
1006 .cfi_offset 4, -8
1007 .cfi_offset 14, -4
411:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1008 .loc 1 411 5 is_stmt 1 view .LVU231
414:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1009 .loc 1 414 5 view .LVU232
1010 0002 0446 mov r4, r0
1011 0004 38B3 cbz r0, .L75
1012 .LVL88:
1013 .L69:
414:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1014 .loc 1 414 33 discriminator 3 view .LVU233
415:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread) == RT_FALSE);
1015 .loc 1 415 5 discriminator 3 view .LVU234
1016 0006 2046 mov r0, r4
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 37
1017 0008 FFF7FEFF bl rt_object_get_type
1018 .LVL89:
1019 000c 0128 cmp r0, #1
1020 000e 29D1 bne .L76
1021 .L70:
415:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread) == RT_FALSE);
1022 .loc 1 415 81 discriminator 3 view .LVU235
416:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1023 .loc 1 416 5 discriminator 3 view .LVU236
1024 0010 2046 mov r0, r4
1025 0012 FFF7FEFF bl rt_object_is_systemobject
1026 .LVL90:
1027 0016 60BB cbnz r0, .L77
1028 .L71:
416:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1029 .loc 1 416 74 discriminator 3 view .LVU237
418:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1030 .loc 1 418 5 discriminator 3 view .LVU238
418:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1031 .loc 1 418 16 is_stmt 0 discriminator 3 view .LVU239
1032 0018 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
1033 001c 03F00F03 and r3, r3, #15
418:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1034 .loc 1 418 8 discriminator 3 view .LVU240
1035 0020 042B cmp r3, #4
1036 0022 16D0 beq .L72
421:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1037 .loc 1 421 5 is_stmt 1 view .LVU241
421:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1038 .loc 1 421 8 is_stmt 0 view .LVU242
1039 0024 63BB cbnz r3, .L78
1040 .L73:
427:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1041 .loc 1 427 5 is_stmt 1 view .LVU243
1042 0026 2046 mov r0, r4
1043 0028 FFF7FEFF bl _thread_cleanup_execute
1044 .LVL91:
430:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1045 .loc 1 430 5 view .LVU244
1046 002c 04F15400 add r0, r4, #84
1047 0030 FFF7FEFF bl rt_timer_detach
1048 .LVL92:
433:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1049 .loc 1 433 5 view .LVU245
433:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1050 .loc 1 433 12 is_stmt 0 view .LVU246
1051 0034 FFF7FEFF bl rt_hw_interrupt_disable
1052 .LVL93:
436:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1053 .loc 1 436 5 is_stmt 1 view .LVU247
436:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1054 .loc 1 436 18 is_stmt 0 view .LVU248
1055 0038 0423 movs r3, #4
1056 003a 84F83C30 strb r3, [r4, #60]
439:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1057 .loc 1 439 5 is_stmt 1 view .LVU249
1058 003e 04F11C02 add r2, r4, #28
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 38
1059 .LVL94:
1060 .LBB26:
1061 .LBI26:
58:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
1062 .loc 2 58 16 view .LVU250
1063 .LBB27:
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
1064 .loc 2 60 5 view .LVU251
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
1065 .loc 2 60 6 is_stmt 0 view .LVU252
1066 0042 114B ldr r3, .L79
1067 0044 1968 ldr r1, [r3]
60:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l->next;
1068 .loc 2 60 19 view .LVU253
1069 0046 4A60 str r2, [r1, #4]
61:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1070 .loc 2 61 5 is_stmt 1 view .LVU254
61:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1071 .loc 2 61 13 is_stmt 0 view .LVU255
1072 0048 E161 str r1, [r4, #28]
63:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l;
1073 .loc 2 63 5 is_stmt 1 view .LVU256
63:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l;
1074 .loc 2 63 13 is_stmt 0 view .LVU257
1075 004a 1A60 str r2, [r3]
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
1076 .loc 2 64 5 is_stmt 1 view .LVU258
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
1077 .loc 2 64 13 is_stmt 0 view .LVU259
1078 004c 2362 str r3, [r4, #32]
1079 .LVL95:
64:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
1080 .loc 2 64 13 view .LVU260
1081 .LBE27:
1082 .LBE26:
442:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1083 .loc 1 442 5 is_stmt 1 view .LVU261
1084 004e FFF7FEFF bl rt_hw_interrupt_enable
1085 .LVL96:
444:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1086 .loc 1 444 5 view .LVU262
1087 .L72:
445:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
1088 .loc 1 445 1 is_stmt 0 view .LVU263
1089 0052 0020 movs r0, #0
1090 0054 10BD pop {r4, pc}
1091 .LVL97:
1092 .L75:
414:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1093 .loc 1 414 5 is_stmt 1 discriminator 1 view .LVU264
1094 0056 4FF4CF72 mov r2, #414
1095 005a 0C49 ldr r1, .L79+4
1096 005c 0C48 ldr r0, .L79+8
1097 .LVL98:
414:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1098 .loc 1 414 5 is_stmt 0 discriminator 1 view .LVU265
1099 005e FFF7FEFF bl rt_assert_handler
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 39
1100 .LVL99:
1101 0062 D0E7 b .L69
1102 .L76:
415:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_is_systemobject((rt_object_t)thread) == RT_FALSE);
1103 .loc 1 415 5 is_stmt 1 discriminator 1 view .LVU266
1104 0064 40F29F12 movw r2, #415
1105 0068 0849 ldr r1, .L79+4
1106 006a 0A48 ldr r0, .L79+12
1107 006c FFF7FEFF bl rt_assert_handler
1108 .LVL100:
1109 0070 CEE7 b .L70
1110 .L77:
416:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1111 .loc 1 416 5 discriminator 1 view .LVU267
1112 0072 4FF4D072 mov r2, #416
1113 0076 0549 ldr r1, .L79+4
1114 0078 0748 ldr r0, .L79+16
1115 007a FFF7FEFF bl rt_assert_handler
1116 .LVL101:
1117 007e CBE7 b .L71
1118 .L78:
424:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1119 .loc 1 424 9 view .LVU268
1120 0080 2046 mov r0, r4
1121 0082 FFF7FEFF bl rt_schedule_remove_thread
1122 .LVL102:
1123 0086 CEE7 b .L73
1124 .L80:
1125 .align 2
1126 .L79:
1127 0088 00000000 .word rt_thread_defunct
1128 008c 00000000 .word .LANCHOR7
1129 0090 00000000 .word .LC1
1130 0094 50000000 .word .LC3
1131 0098 00000000 .word .LC6
1132 .cfi_endproc
1133 .LFE26:
1135 .section .text.rt_thread_yield,"ax",%progbits
1136 .align 1
1137 .global rt_thread_yield
1138 .syntax unified
1139 .thumb
1140 .thumb_func
1141 .fpu softvfp
1143 rt_thread_yield:
1144 .LFB27:
456:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
1145 .loc 1 456 1 view -0
1146 .cfi_startproc
1147 @ args = 0, pretend = 0, frame = 0
1148 @ frame_needed = 0, uses_anonymous_args = 0
1149 0000 10B5 push {r4, lr}
1150 .LCFI17:
1151 .cfi_def_cfa_offset 8
1152 .cfi_offset 4, -8
1153 .cfi_offset 14, -4
457:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 40
1154 .loc 1 457 5 view .LVU270
458:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1155 .loc 1 458 5 view .LVU271
461:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1156 .loc 1 461 5 view .LVU272
461:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1157 .loc 1 461 13 is_stmt 0 view .LVU273
1158 0002 FFF7FEFF bl rt_hw_interrupt_disable
1159 .LVL103:
464:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1160 .loc 1 464 5 is_stmt 1 view .LVU274
464:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1161 .loc 1 464 12 is_stmt 0 view .LVU275
1162 0006 134B ldr r3, .L86
1163 0008 1B68 ldr r3, [r3]
1164 .LVL104:
467:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->tlist.next != thread->tlist.prev)
1165 .loc 1 467 5 is_stmt 1 view .LVU276
467:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->tlist.next != thread->tlist.prev)
1166 .loc 1 467 16 is_stmt 0 view .LVU277
1167 000a 93F83C20 ldrb r2, [r3, #60] @ zero_extendqisi2
467:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->tlist.next != thread->tlist.prev)
1168 .loc 1 467 8 view .LVU278
1169 000e 02F00F02 and r2, r2, #15
1170 0012 012A cmp r2, #1
1171 0014 03D1 bne .L82
468:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1172 .loc 1 468 22 discriminator 1 view .LVU279
1173 0016 D969 ldr r1, [r3, #28]
468:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1174 .loc 1 468 44 discriminator 1 view .LVU280
1175 0018 1A6A ldr r2, [r3, #32]
467:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->tlist.next != thread->tlist.prev)
1176 .loc 1 467 65 discriminator 1 view .LVU281
1177 001a 9142 cmp r1, r2
1178 001c 03D1 bne .L85
1179 .L82:
486:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1180 .loc 1 486 5 is_stmt 1 view .LVU282
1181 001e FFF7FEFF bl rt_hw_interrupt_enable
1182 .LVL105:
488:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1183 .loc 1 488 5 view .LVU283
1184 .L83:
489:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1185 .loc 1 489 1 is_stmt 0 view .LVU284
1186 0022 0020 movs r0, #0
1187 0024 10BD pop {r4, pc}
1188 .LVL106:
1189 .L85:
471:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1190 .loc 1 471 9 is_stmt 1 view .LVU285
1191 0026 03F11C04 add r4, r3, #28
1192 .LVL107:
1193 .LBB28:
1194 .LBI28:
86:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 41
1195 .loc 2 86 16 view .LVU286
1196 .LBB29:
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
1197 .loc 2 88 5 view .LVU287
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
1198 .loc 2 88 19 is_stmt 0 view .LVU288
1199 002a 4A60 str r2, [r1, #4]
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1200 .loc 2 89 5 is_stmt 1 view .LVU289
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1201 .loc 2 89 22 is_stmt 0 view .LVU290
1202 002c D969 ldr r1, [r3, #28]
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1203 .loc 2 89 19 view .LVU291
1204 002e 1160 str r1, [r2]
1205 .loc 2 91 5 is_stmt 1 view .LVU292
1206 .loc 2 91 23 is_stmt 0 view .LVU293
1207 0030 1C62 str r4, [r3, #32]
1208 .loc 2 91 13 view .LVU294
1209 0032 DC61 str r4, [r3, #28]
1210 .LVL108:
1211 .loc 2 91 13 view .LVU295
1212 .LBE29:
1213 .LBE28:
474:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** &(thread->tlist));
1214 .loc 1 474 9 is_stmt 1 view .LVU296
474:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** &(thread->tlist));
1215 .loc 1 474 64 is_stmt 0 view .LVU297
1216 0034 93F83D10 ldrb r1, [r3, #61] @ zero_extendqisi2
474:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** &(thread->tlist));
1217 .loc 1 474 9 view .LVU298
1218 0038 074A ldr r2, .L86+4
1219 003a 02EBC102 add r2, r2, r1, lsl #3
1220 .LVL109:
1221 .LBB30:
1222 .LBI30:
73:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
1223 .loc 2 73 16 is_stmt 1 view .LVU299
1224 .LBB31:
75:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l->prev;
1225 .loc 2 75 5 view .LVU300
75:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l->prev;
1226 .loc 2 75 6 is_stmt 0 view .LVU301
1227 003e 5168 ldr r1, [r2, #4]
75:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev = l->prev;
1228 .loc 2 75 19 view .LVU302
1229 0040 0C60 str r4, [r1]
76:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1230 .loc 2 76 5 is_stmt 1 view .LVU303
76:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1231 .loc 2 76 16 is_stmt 0 view .LVU304
1232 0042 5168 ldr r1, [r2, #4]
76:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1233 .loc 2 76 13 view .LVU305
1234 0044 1962 str r1, [r3, #32]
78:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l;
1235 .loc 2 78 5 is_stmt 1 view .LVU306
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 42
78:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->next = l;
1236 .loc 2 78 13 is_stmt 0 view .LVU307
1237 0046 5460 str r4, [r2, #4]
79:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
1238 .loc 2 79 5 is_stmt 1 view .LVU308
79:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
1239 .loc 2 79 13 is_stmt 0 view .LVU309
1240 0048 DA61 str r2, [r3, #28]
1241 .LVL110:
79:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** }
1242 .loc 2 79 13 view .LVU310
1243 .LBE31:
1244 .LBE30:
478:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1245 .loc 1 478 9 is_stmt 1 view .LVU311
1246 004a FFF7FEFF bl rt_hw_interrupt_enable
1247 .LVL111:
480:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1248 .loc 1 480 9 view .LVU312
1249 004e FFF7FEFF bl rt_schedule
1250 .LVL112:
482:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1251 .loc 1 482 9 view .LVU313
482:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1252 .loc 1 482 16 is_stmt 0 view .LVU314
1253 0052 E6E7 b .L83
1254 .L87:
1255 .align 2
1256 .L86:
1257 0054 00000000 .word rt_current_thread
1258 0058 00000000 .word rt_thread_priority_table
1259 .cfi_endproc
1260 .LFE27:
1262 .section .text.rt_thread_suspend,"ax",%progbits
1263 .align 1
1264 .global rt_thread_suspend
1265 .syntax unified
1266 .thumb
1267 .thumb_func
1268 .fpu softvfp
1270 rt_thread_suspend:
1271 .LVL113:
1272 .LFB33:
713:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
1273 .loc 1 713 1 is_stmt 1 view -0
1274 .cfi_startproc
1275 @ args = 0, pretend = 0, frame = 0
1276 @ frame_needed = 0, uses_anonymous_args = 0
713:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
1277 .loc 1 713 1 is_stmt 0 view .LVU316
1278 0000 38B5 push {r3, r4, r5, lr}
1279 .LCFI18:
1280 .cfi_def_cfa_offset 16
1281 .cfi_offset 3, -16
1282 .cfi_offset 4, -12
1283 .cfi_offset 5, -8
1284 .cfi_offset 14, -4
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 43
714:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1285 .loc 1 714 5 is_stmt 1 view .LVU317
717:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1286 .loc 1 717 5 view .LVU318
1287 0002 0446 mov r4, r0
1288 0004 30B3 cbz r0, .L95
1289 .LVL114:
1290 .L89:
717:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1291 .loc 1 717 33 discriminator 3 view .LVU319
718:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1292 .loc 1 718 5 discriminator 3 view .LVU320
1293 0006 2046 mov r0, r4
1294 0008 FFF7FEFF bl rt_object_get_type
1295 .LVL115:
1296 000c 0128 cmp r0, #1
1297 000e 28D1 bne .L96
1298 .L90:
718:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1299 .loc 1 718 81 discriminator 3 view .LVU321
720:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1300 .loc 1 720 5 discriminator 3 view .LVU322
720:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1301 .loc 1 720 5 discriminator 3 view .LVU323
720:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1302 .loc 1 720 5 discriminator 3 view .LVU324
722:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1303 .loc 1 722 5 discriminator 3 view .LVU325
722:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1304 .loc 1 722 16 is_stmt 0 discriminator 3 view .LVU326
1305 0010 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
722:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1306 .loc 1 722 8 discriminator 3 view .LVU327
1307 0014 03F00F03 and r3, r3, #15
1308 0018 012B cmp r3, #1
1309 001a 29D1 bne .L92
731:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1310 .loc 1 731 5 is_stmt 1 view .LVU328
731:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1311 .loc 1 731 12 is_stmt 0 view .LVU329
1312 001c FFF7FEFF bl rt_hw_interrupt_disable
1313 .LVL116:
1314 0020 0546 mov r5, r0
1315 .LVL117:
734:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_SUSPEND | (thread->stat & ~RT_THREAD_STAT_MASK);
1316 .loc 1 734 5 is_stmt 1 view .LVU330
1317 0022 2046 mov r0, r4
1318 .LVL118:
734:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->stat = RT_THREAD_SUSPEND | (thread->stat & ~RT_THREAD_STAT_MASK);
1319 .loc 1 734 5 is_stmt 0 view .LVU331
1320 0024 FFF7FEFF bl rt_schedule_remove_thread
1321 .LVL119:
735:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1322 .loc 1 735 5 is_stmt 1 view .LVU332
735:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1323 .loc 1 735 47 is_stmt 0 view .LVU333
1324 0028 94F93C30 ldrsb r3, [r4, #60]
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 44
735:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1325 .loc 1 735 54 view .LVU334
1326 002c 23F00F03 bic r3, r3, #15
735:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1327 .loc 1 735 38 view .LVU335
1328 0030 43F00203 orr r3, r3, #2
735:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1329 .loc 1 735 18 view .LVU336
1330 0034 84F83C30 strb r3, [r4, #60]
738:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1331 .loc 1 738 5 is_stmt 1 view .LVU337
1332 0038 04F15400 add r0, r4, #84
1333 003c FFF7FEFF bl rt_timer_stop
1334 .LVL120:
741:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1335 .loc 1 741 5 view .LVU338
1336 0040 2846 mov r0, r5
1337 0042 FFF7FEFF bl rt_hw_interrupt_enable
1338 .LVL121:
743:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1339 .loc 1 743 5 view .LVU339
743:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1340 .loc 1 743 5 view .LVU340
1341 0046 0D4B ldr r3, .L97
1342 0048 1B68 ldr r3, [r3]
1343 004a A3B1 cbz r3, .L93
743:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1344 .loc 1 743 5 discriminator 1 view .LVU341
1345 004c 2046 mov r0, r4
1346 004e 9847 blx r3
1347 .LVL122:
744:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1348 .loc 1 744 12 is_stmt 0 discriminator 1 view .LVU342
1349 0050 0020 movs r0, #0
1350 .LVL123:
1351 .L88:
745:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1352 .loc 1 745 1 view .LVU343
1353 0052 38BD pop {r3, r4, r5, pc}
1354 .LVL124:
1355 .L95:
717:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1356 .loc 1 717 5 is_stmt 1 discriminator 1 view .LVU344
1357 0054 40F2CD22 movw r2, #717
1358 0058 0949 ldr r1, .L97+4
1359 005a 0A48 ldr r0, .L97+8
1360 .LVL125:
717:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1361 .loc 1 717 5 is_stmt 0 discriminator 1 view .LVU345
1362 005c FFF7FEFF bl rt_assert_handler
1363 .LVL126:
1364 0060 D1E7 b .L89
1365 .L96:
718:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1366 .loc 1 718 5 is_stmt 1 discriminator 1 view .LVU346
1367 0062 40F2CE22 movw r2, #718
1368 0066 0649 ldr r1, .L97+4
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 45
1369 0068 0748 ldr r0, .L97+12
1370 006a FFF7FEFF bl rt_assert_handler
1371 .LVL127:
1372 006e CFE7 b .L90
1373 .L92:
727:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1374 .loc 1 727 16 is_stmt 0 view .LVU347
1375 0070 4FF0FF30 mov r0, #-1
1376 0074 EDE7 b .L88
1377 .LVL128:
1378 .L93:
744:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1379 .loc 1 744 12 view .LVU348
1380 0076 0020 movs r0, #0
1381 0078 EBE7 b .L88
1382 .L98:
1383 007a 00BF .align 2
1384 .L97:
1385 007c 00000000 .word .LANCHOR3
1386 0080 00000000 .word .LANCHOR8
1387 0084 00000000 .word .LC1
1388 0088 50000000 .word .LC3
1389 .cfi_endproc
1390 .LFE33:
1392 .section .text.rt_thread_sleep,"ax",%progbits
1393 .align 1
1394 .global rt_thread_sleep
1395 .syntax unified
1396 .thumb
1397 .thumb_func
1398 .fpu softvfp
1400 rt_thread_sleep:
1401 .LVL129:
1402 .LFB28:
499:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
1403 .loc 1 499 1 is_stmt 1 view -0
1404 .cfi_startproc
1405 @ args = 0, pretend = 0, frame = 8
1406 @ frame_needed = 0, uses_anonymous_args = 0
499:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
1407 .loc 1 499 1 is_stmt 0 view .LVU350
1408 0000 70B5 push {r4, r5, r6, lr}
1409 .LCFI19:
1410 .cfi_def_cfa_offset 16
1411 .cfi_offset 4, -16
1412 .cfi_offset 5, -12
1413 .cfi_offset 6, -8
1414 .cfi_offset 14, -4
1415 0002 82B0 sub sp, sp, #8
1416 .LCFI20:
1417 .cfi_def_cfa_offset 24
1418 0004 0190 str r0, [sp, #4]
500:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
1419 .loc 1 500 5 is_stmt 1 view .LVU351
501:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1420 .loc 1 501 5 view .LVU352
504:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set to current thread */
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 46
1421 .loc 1 504 5 view .LVU353
504:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set to current thread */
1422 .loc 1 504 12 is_stmt 0 view .LVU354
1423 0006 FFF7FEFF bl rt_hw_interrupt_disable
1424 .LVL130:
504:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* set to current thread */
1425 .loc 1 504 12 view .LVU355
1426 000a 0646 mov r6, r0
1427 .LVL131:
506:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
1428 .loc 1 506 5 is_stmt 1 view .LVU356
506:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
1429 .loc 1 506 12 is_stmt 0 view .LVU357
1430 000c 184B ldr r3, .L107
1431 000e 1C68 ldr r4, [r3]
1432 .LVL132:
507:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1433 .loc 1 507 5 is_stmt 1 view .LVU358
1434 0010 ECB1 cbz r4, .L104
1435 .LVL133:
1436 .L100:
507:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1437 .loc 1 507 33 discriminator 3 view .LVU359
508:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1438 .loc 1 508 5 discriminator 3 view .LVU360
1439 0012 2046 mov r0, r4
1440 0014 FFF7FEFF bl rt_object_get_type
1441 .LVL134:
1442 0018 0128 cmp r0, #1
1443 001a 1FD1 bne .L105
1444 .L101:
508:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1445 .loc 1 508 81 discriminator 3 view .LVU361
511:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1446 .loc 1 511 5 discriminator 3 view .LVU362
1447 001c 2046 mov r0, r4
1448 001e FFF7FEFF bl rt_thread_suspend
1449 .LVL135:
514:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_start(&(thread->thread_timer));
1450 .loc 1 514 5 discriminator 3 view .LVU363
1451 0022 04F15405 add r5, r4, #84
1452 0026 01AA add r2, sp, #4
1453 0028 0021 movs r1, #0
1454 002a 2846 mov r0, r5
1455 002c FFF7FEFF bl rt_timer_control
1456 .LVL136:
515:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1457 .loc 1 515 5 discriminator 3 view .LVU364
1458 0030 2846 mov r0, r5
1459 0032 FFF7FEFF bl rt_timer_start
1460 .LVL137:
518:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1461 .loc 1 518 5 discriminator 3 view .LVU365
1462 0036 3046 mov r0, r6
1463 0038 FFF7FEFF bl rt_hw_interrupt_enable
1464 .LVL138:
520:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 47
1465 .loc 1 520 5 discriminator 3 view .LVU366
1466 003c FFF7FEFF bl rt_schedule
1467 .LVL139:
523:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = RT_EOK;
1468 .loc 1 523 5 discriminator 3 view .LVU367
523:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = RT_EOK;
1469 .loc 1 523 15 is_stmt 0 discriminator 3 view .LVU368
1470 0040 A36B ldr r3, [r4, #56]
523:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->error = RT_EOK;
1471 .loc 1 523 8 discriminator 3 view .LVU369
1472 0042 13F1020F cmn r3, #2
1473 0046 10D0 beq .L106
1474 .L102:
526:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1475 .loc 1 526 5 is_stmt 1 view .LVU370
527:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1476 .loc 1 527 1 is_stmt 0 view .LVU371
1477 0048 0020 movs r0, #0
1478 004a 02B0 add sp, sp, #8
1479 .LCFI21:
1480 .cfi_remember_state
1481 .cfi_def_cfa_offset 16
1482 @ sp needed
1483 004c 70BD pop {r4, r5, r6, pc}
1484 .LVL140:
1485 .L104:
1486 .LCFI22:
1487 .cfi_restore_state
507:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1488 .loc 1 507 5 is_stmt 1 discriminator 1 view .LVU372
1489 004e 40F2FB12 movw r2, #507
1490 0052 0849 ldr r1, .L107+4
1491 0054 0848 ldr r0, .L107+8
1492 .LVL141:
507:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1493 .loc 1 507 5 is_stmt 0 discriminator 1 view .LVU373
1494 0056 FFF7FEFF bl rt_assert_handler
1495 .LVL142:
1496 005a DAE7 b .L100
1497 .L105:
508:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1498 .loc 1 508 5 is_stmt 1 discriminator 1 view .LVU374
1499 005c 4FF4FE72 mov r2, #508
1500 0060 0449 ldr r1, .L107+4
1501 0062 0648 ldr r0, .L107+12
1502 0064 FFF7FEFF bl rt_assert_handler
1503 .LVL143:
1504 0068 D8E7 b .L101
1505 .L106:
524:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1506 .loc 1 524 9 view .LVU375
524:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1507 .loc 1 524 23 is_stmt 0 view .LVU376
1508 006a 0023 movs r3, #0
1509 006c A363 str r3, [r4, #56]
1510 006e EBE7 b .L102
1511 .L108:
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 48
1512 .align 2
1513 .L107:
1514 0070 00000000 .word rt_current_thread
1515 0074 00000000 .word .LANCHOR9
1516 0078 00000000 .word .LC1
1517 007c 50000000 .word .LC3
1518 .cfi_endproc
1519 .LFE28:
1521 .section .text.rt_thread_delay,"ax",%progbits
1522 .align 1
1523 .global rt_thread_delay
1524 .syntax unified
1525 .thumb
1526 .thumb_func
1527 .fpu softvfp
1529 rt_thread_delay:
1530 .LVL144:
1531 .LFB29:
537:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_sleep(tick);
1532 .loc 1 537 1 is_stmt 1 view -0
1533 .cfi_startproc
1534 @ args = 0, pretend = 0, frame = 0
1535 @ frame_needed = 0, uses_anonymous_args = 0
537:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return rt_thread_sleep(tick);
1536 .loc 1 537 1 is_stmt 0 view .LVU378
1537 0000 08B5 push {r3, lr}
1538 .LCFI23:
1539 .cfi_def_cfa_offset 8
1540 .cfi_offset 3, -8
1541 .cfi_offset 14, -4
538:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1542 .loc 1 538 5 is_stmt 1 view .LVU379
538:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1543 .loc 1 538 12 is_stmt 0 view .LVU380
1544 0002 FFF7FEFF bl rt_thread_sleep
1545 .LVL145:
539:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1546 .loc 1 539 1 view .LVU381
1547 0006 08BD pop {r3, pc}
1548 .cfi_endproc
1549 .LFE29:
1551 .section .text.rt_thread_mdelay,"ax",%progbits
1552 .align 1
1553 .global rt_thread_mdelay
1554 .syntax unified
1555 .thumb
1556 .thumb_func
1557 .fpu softvfp
1559 rt_thread_mdelay:
1560 .LVL146:
1561 .LFB31:
605:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_tick_t tick;
1562 .loc 1 605 1 is_stmt 1 view -0
1563 .cfi_startproc
1564 @ args = 0, pretend = 0, frame = 0
1565 @ frame_needed = 0, uses_anonymous_args = 0
605:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_tick_t tick;
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 49
1566 .loc 1 605 1 is_stmt 0 view .LVU383
1567 0000 08B5 push {r3, lr}
1568 .LCFI24:
1569 .cfi_def_cfa_offset 8
1570 .cfi_offset 3, -8
1571 .cfi_offset 14, -4
606:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1572 .loc 1 606 5 is_stmt 1 view .LVU384
608:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1573 .loc 1 608 5 view .LVU385
608:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1574 .loc 1 608 12 is_stmt 0 view .LVU386
1575 0002 FFF7FEFF bl rt_tick_from_millisecond
1576 .LVL147:
610:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1577 .loc 1 610 5 is_stmt 1 view .LVU387
610:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1578 .loc 1 610 12 is_stmt 0 view .LVU388
1579 0006 FFF7FEFF bl rt_thread_sleep
1580 .LVL148:
611:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1581 .loc 1 611 1 view .LVU389
1582 000a 08BD pop {r3, pc}
1583 .cfi_endproc
1584 .LFE31:
1586 .section .rodata.rt_thread_delay_until.str1.4,"aMS",%progbits,1
1587 .align 2
1588 .LC7:
1589 0000 7469636B .ascii "tick != RT_NULL\000"
1589 20213D20
1589 52545F4E
1589 554C4C00
1590 .section .text.rt_thread_delay_until,"ax",%progbits
1591 .align 1
1592 .global rt_thread_delay_until
1593 .syntax unified
1594 .thumb
1595 .thumb_func
1596 .fpu softvfp
1598 rt_thread_delay_until:
1599 .LVL149:
1600 .LFB30:
550:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
1601 .loc 1 550 1 is_stmt 1 view -0
1602 .cfi_startproc
1603 @ args = 0, pretend = 0, frame = 0
1604 @ frame_needed = 0, uses_anonymous_args = 0
550:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t level;
1605 .loc 1 550 1 is_stmt 0 view .LVU391
1606 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
1607 .LCFI25:
1608 .cfi_def_cfa_offset 24
1609 .cfi_offset 3, -24
1610 .cfi_offset 4, -20
1611 .cfi_offset 5, -16
1612 .cfi_offset 6, -12
1613 .cfi_offset 7, -8
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 50
1614 .cfi_offset 14, -4
1615 0002 0C46 mov r4, r1
551:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** struct rt_thread *thread;
1616 .loc 1 551 5 is_stmt 1 view .LVU392
552:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1617 .loc 1 552 5 view .LVU393
554:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1618 .loc 1 554 5 view .LVU394
1619 0004 0546 mov r5, r0
1620 0006 78B3 cbz r0, .L120
1621 .LVL150:
1622 .L114:
554:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1623 .loc 1 554 31 discriminator 3 view .LVU395
557:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
1624 .loc 1 557 5 discriminator 3 view .LVU396
557:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(thread != RT_NULL);
1625 .loc 1 557 14 is_stmt 0 discriminator 3 view .LVU397
1626 0008 FFF7FEFF bl rt_thread_self
1627 .LVL151:
558:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1628 .loc 1 558 5 is_stmt 1 discriminator 3 view .LVU398
1629 000c 0746 mov r7, r0
1630 000e 90B3 cbz r0, .L121
1631 .LVL152:
1632 .L115:
558:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1633 .loc 1 558 33 discriminator 3 view .LVU399
559:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1634 .loc 1 559 5 discriminator 3 view .LVU400
1635 0010 3846 mov r0, r7
1636 0012 FFF7FEFF bl rt_object_get_type
1637 .LVL153:
1638 0016 0128 cmp r0, #1
1639 0018 34D1 bne .L122
1640 .L116:
559:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1641 .loc 1 559 81 discriminator 3 view .LVU401
562:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1642 .loc 1 562 5 discriminator 3 view .LVU402
562:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1643 .loc 1 562 13 is_stmt 0 discriminator 3 view .LVU403
1644 001a FFF7FEFF bl rt_hw_interrupt_disable
1645 .LVL154:
1646 001e 0646 mov r6, r0
1647 .LVL155:
564:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1648 .loc 1 564 5 is_stmt 1 discriminator 3 view .LVU404
564:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1649 .loc 1 564 9 is_stmt 0 discriminator 3 view .LVU405
1650 0020 FFF7FEFF bl rt_tick_get
1651 .LVL156:
564:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1652 .loc 1 564 25 discriminator 3 view .LVU406
1653 0024 2B68 ldr r3, [r5]
564:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1654 .loc 1 564 23 discriminator 3 view .LVU407
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 51
1655 0026 C01A subs r0, r0, r3
564:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1656 .loc 1 564 8 discriminator 3 view .LVU408
1657 0028 A042 cmp r0, r4
1658 002a 32D2 bcs .L117
566:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1659 .loc 1 566 9 is_stmt 1 view .LVU409
566:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1660 .loc 1 566 23 is_stmt 0 view .LVU410
1661 002c 1C44 add r4, r4, r3
1662 .LVL157:
566:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1663 .loc 1 566 36 view .LVU411
1664 002e FFF7FEFF bl rt_tick_get
1665 .LVL158:
566:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1666 .loc 1 566 34 view .LVU412
1667 0032 201A subs r0, r4, r0
566:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1668 .loc 1 566 15 view .LVU413
1669 0034 2860 str r0, [r5]
569:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1670 .loc 1 569 9 is_stmt 1 view .LVU414
1671 0036 3846 mov r0, r7
1672 0038 FFF7FEFF bl rt_thread_suspend
1673 .LVL159:
572:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_timer_start(&(thread->thread_timer));
1674 .loc 1 572 9 view .LVU415
1675 003c 07F15404 add r4, r7, #84
1676 0040 2A46 mov r2, r5
1677 0042 0021 movs r1, #0
1678 0044 2046 mov r0, r4
1679 0046 FFF7FEFF bl rt_timer_control
1680 .LVL160:
573:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1681 .loc 1 573 9 view .LVU416
1682 004a 2046 mov r0, r4
1683 004c FFF7FEFF bl rt_timer_start
1684 .LVL161:
576:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1685 .loc 1 576 9 view .LVU417
1686 0050 3046 mov r0, r6
1687 0052 FFF7FEFF bl rt_hw_interrupt_enable
1688 .LVL162:
578:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1689 .loc 1 578 9 view .LVU418
1690 0056 FFF7FEFF bl rt_schedule
1691 .LVL163:
581:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1692 .loc 1 581 9 view .LVU419
581:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1693 .loc 1 581 19 is_stmt 0 view .LVU420
1694 005a BB6B ldr r3, [r7, #56]
581:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1695 .loc 1 581 12 view .LVU421
1696 005c 13F1020F cmn r3, #2
1697 0060 1AD1 bne .L118
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 52
583:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1698 .loc 1 583 13 is_stmt 1 view .LVU422
583:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1699 .loc 1 583 27 is_stmt 0 view .LVU423
1700 0062 0023 movs r3, #0
1701 0064 BB63 str r3, [r7, #56]
1702 0066 17E0 b .L118
1703 .LVL164:
1704 .L120:
554:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1705 .loc 1 554 5 is_stmt 1 discriminator 1 view .LVU424
1706 0068 40F22A22 movw r2, #554
1707 006c 0D49 ldr r1, .L123
1708 .LVL165:
554:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1709 .loc 1 554 5 is_stmt 0 discriminator 1 view .LVU425
1710 006e 0E48 ldr r0, .L123+4
1711 .LVL166:
554:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1712 .loc 1 554 5 discriminator 1 view .LVU426
1713 0070 FFF7FEFF bl rt_assert_handler
1714 .LVL167:
1715 0074 C8E7 b .L114
1716 .LVL168:
1717 .L121:
558:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1718 .loc 1 558 5 is_stmt 1 discriminator 1 view .LVU427
1719 0076 40F22E22 movw r2, #558
1720 007a 0A49 ldr r1, .L123
1721 007c 0B48 ldr r0, .L123+8
1722 .LVL169:
558:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1723 .loc 1 558 5 is_stmt 0 discriminator 1 view .LVU428
1724 007e FFF7FEFF bl rt_assert_handler
1725 .LVL170:
1726 0082 C5E7 b .L115
1727 .L122:
559:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1728 .loc 1 559 5 is_stmt 1 discriminator 1 view .LVU429
1729 0084 40F22F22 movw r2, #559
1730 0088 0649 ldr r1, .L123
1731 008a 0948 ldr r0, .L123+12
1732 008c FFF7FEFF bl rt_assert_handler
1733 .LVL171:
1734 0090 C3E7 b .L116
1735 .LVL172:
1736 .L117:
588:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1737 .loc 1 588 9 view .LVU430
1738 0092 3046 mov r0, r6
1739 0094 FFF7FEFF bl rt_hw_interrupt_enable
1740 .LVL173:
1741 .L118:
592:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1742 .loc 1 592 5 view .LVU431
592:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1743 .loc 1 592 13 is_stmt 0 view .LVU432
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 53
1744 0098 FFF7FEFF bl rt_tick_get
1745 .LVL174:
592:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1746 .loc 1 592 11 view .LVU433
1747 009c 2860 str r0, [r5]
594:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1748 .loc 1 594 5 is_stmt 1 view .LVU434
595:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1749 .loc 1 595 1 is_stmt 0 view .LVU435
1750 009e 0020 movs r0, #0
1751 00a0 F8BD pop {r3, r4, r5, r6, r7, pc}
1752 .LVL175:
1753 .L124:
595:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1754 .loc 1 595 1 view .LVU436
1755 00a2 00BF .align 2
1756 .L123:
1757 00a4 00000000 .word .LANCHOR10
1758 00a8 00000000 .word .LC7
1759 00ac 00000000 .word .LC1
1760 00b0 50000000 .word .LC3
1761 .cfi_endproc
1762 .LFE30:
1764 .section .text.rt_thread_resume,"ax",%progbits
1765 .align 1
1766 .global rt_thread_resume
1767 .syntax unified
1768 .thumb
1769 .thumb_func
1770 .fpu softvfp
1772 rt_thread_resume:
1773 .LVL176:
1774 .LFB34:
755:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
1775 .loc 1 755 1 is_stmt 1 view -0
1776 .cfi_startproc
1777 @ args = 0, pretend = 0, frame = 0
1778 @ frame_needed = 0, uses_anonymous_args = 0
755:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
1779 .loc 1 755 1 is_stmt 0 view .LVU438
1780 0000 38B5 push {r3, r4, r5, lr}
1781 .LCFI26:
1782 .cfi_def_cfa_offset 16
1783 .cfi_offset 3, -16
1784 .cfi_offset 4, -12
1785 .cfi_offset 5, -8
1786 .cfi_offset 14, -4
756:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1787 .loc 1 756 5 is_stmt 1 view .LVU439
759:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1788 .loc 1 759 5 view .LVU440
1789 0002 0446 mov r4, r0
1790 0004 38B3 cbz r0, .L132
1791 .LVL177:
1792 .L126:
759:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1793 .loc 1 759 33 discriminator 3 view .LVU441
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 54
760:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1794 .loc 1 760 5 discriminator 3 view .LVU442
1795 0006 2046 mov r0, r4
1796 0008 FFF7FEFF bl rt_object_get_type
1797 .LVL178:
1798 000c 0128 cmp r0, #1
1799 000e 29D1 bne .L133
1800 .L127:
760:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1801 .loc 1 760 81 discriminator 3 view .LVU443
762:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1802 .loc 1 762 5 discriminator 3 view .LVU444
762:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1803 .loc 1 762 5 discriminator 3 view .LVU445
762:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1804 .loc 1 762 5 discriminator 3 view .LVU446
764:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1805 .loc 1 764 5 discriminator 3 view .LVU447
764:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1806 .loc 1 764 16 is_stmt 0 discriminator 3 view .LVU448
1807 0010 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
764:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1808 .loc 1 764 8 discriminator 3 view .LVU449
1809 0014 03F00F03 and r3, r3, #15
1810 0018 022B cmp r3, #2
1811 001a 2AD1 bne .L129
773:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1812 .loc 1 773 5 is_stmt 1 view .LVU450
773:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1813 .loc 1 773 12 is_stmt 0 view .LVU451
1814 001c FFF7FEFF bl rt_hw_interrupt_disable
1815 .LVL179:
1816 0020 0546 mov r5, r0
1817 .LVL180:
776:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1818 .loc 1 776 5 is_stmt 1 view .LVU452
1819 0022 04F11C03 add r3, r4, #28
1820 .LBB32:
1821 .LBI32:
86:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** {
1822 .loc 2 86 16 view .LVU453
1823 .LBB33:
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
1824 .loc 2 88 5 view .LVU454
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
1825 .loc 2 88 6 is_stmt 0 view .LVU455
1826 0026 E169 ldr r1, [r4, #28]
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
1827 .loc 2 88 22 view .LVU456
1828 0028 226A ldr r2, [r4, #32]
88:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h **** n->prev->next = n->next;
1829 .loc 2 88 19 view .LVU457
1830 002a 4A60 str r2, [r1, #4]
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1831 .loc 2 89 5 is_stmt 1 view .LVU458
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1832 .loc 2 89 22 is_stmt 0 view .LVU459
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 55
1833 002c E169 ldr r1, [r4, #28]
89:Middlewares/Third_Party/RealThread_RTOS/include/rtservice.h ****
1834 .loc 2 89 19 view .LVU460
1835 002e 1160 str r1, [r2]
1836 .loc 2 91 5 is_stmt 1 view .LVU461
1837 .loc 2 91 23 is_stmt 0 view .LVU462
1838 0030 2362 str r3, [r4, #32]
1839 .loc 2 91 13 view .LVU463
1840 0032 E361 str r3, [r4, #28]
1841 .LBE33:
1842 .LBE32:
778:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1843 .loc 1 778 5 is_stmt 1 view .LVU464
1844 0034 04F15400 add r0, r4, #84
1845 .LVL181:
778:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1846 .loc 1 778 5 is_stmt 0 view .LVU465
1847 0038 FFF7FEFF bl rt_timer_stop
1848 .LVL182:
781:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1849 .loc 1 781 5 is_stmt 1 view .LVU466
1850 003c 2846 mov r0, r5
1851 003e FFF7FEFF bl rt_hw_interrupt_enable
1852 .LVL183:
784:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1853 .loc 1 784 5 view .LVU467
1854 0042 2046 mov r0, r4
1855 0044 FFF7FEFF bl rt_schedule_insert_thread
1856 .LVL184:
786:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1857 .loc 1 786 5 view .LVU468
786:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1858 .loc 1 786 5 view .LVU469
1859 0048 0C4B ldr r3, .L134
1860 004a 1B68 ldr r3, [r3]
1861 004c A3B1 cbz r3, .L130
786:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return RT_EOK;
1862 .loc 1 786 5 discriminator 1 view .LVU470
1863 004e 2046 mov r0, r4
1864 0050 9847 blx r3
1865 .LVL185:
787:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1866 .loc 1 787 12 is_stmt 0 discriminator 1 view .LVU471
1867 0052 0020 movs r0, #0
1868 .LVL186:
1869 .L125:
788:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1870 .loc 1 788 1 view .LVU472
1871 0054 38BD pop {r3, r4, r5, pc}
1872 .LVL187:
1873 .L132:
759:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1874 .loc 1 759 5 is_stmt 1 discriminator 1 view .LVU473
1875 0056 40F2F722 movw r2, #759
1876 005a 0949 ldr r1, .L134+4
1877 005c 0948 ldr r0, .L134+8
1878 .LVL188:
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 56
759:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1879 .loc 1 759 5 is_stmt 0 discriminator 1 view .LVU474
1880 005e FFF7FEFF bl rt_assert_handler
1881 .LVL189:
1882 0062 D0E7 b .L126
1883 .L133:
760:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1884 .loc 1 760 5 is_stmt 1 discriminator 1 view .LVU475
1885 0064 4FF43E72 mov r2, #760
1886 0068 0549 ldr r1, .L134+4
1887 006a 0748 ldr r0, .L134+12
1888 006c FFF7FEFF bl rt_assert_handler
1889 .LVL190:
1890 0070 CEE7 b .L127
1891 .L129:
769:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1892 .loc 1 769 16 is_stmt 0 view .LVU476
1893 0072 4FF0FF30 mov r0, #-1
1894 0076 EDE7 b .L125
1895 .LVL191:
1896 .L130:
787:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1897 .loc 1 787 12 view .LVU477
1898 0078 0020 movs r0, #0
1899 007a EBE7 b .L125
1900 .L135:
1901 .align 2
1902 .L134:
1903 007c 00000000 .word .LANCHOR4
1904 0080 00000000 .word .LANCHOR11
1905 0084 00000000 .word .LC1
1906 0088 50000000 .word .LC3
1907 .cfi_endproc
1908 .LFE34:
1910 .section .rodata.rt_thread_startup.str1.4,"aMS",%progbits,1
1911 .align 2
1912 .LC8:
1913 0000 28746872 .ascii "(thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_I"
1913 6561642D
1913 3E737461
1913 74202620
1913 52545F54
1914 0033 4E495400 .ascii "NIT\000"
1915 .section .text.rt_thread_startup,"ax",%progbits
1916 .align 1
1917 .global rt_thread_startup
1918 .syntax unified
1919 .thumb
1920 .thumb_func
1921 .fpu softvfp
1923 rt_thread_startup:
1924 .LVL192:
1925 .LFB23:
267:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
1926 .loc 1 267 1 is_stmt 1 view -0
1927 .cfi_startproc
1928 @ args = 0, pretend = 0, frame = 0
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 57
1929 @ frame_needed = 0, uses_anonymous_args = 0
267:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* thread check */
1930 .loc 1 267 1 is_stmt 0 view .LVU479
1931 0000 10B5 push {r4, lr}
1932 .LCFI27:
1933 .cfi_def_cfa_offset 8
1934 .cfi_offset 4, -8
1935 .cfi_offset 14, -4
269:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_INIT);
1936 .loc 1 269 5 is_stmt 1 view .LVU480
1937 0002 0446 mov r4, r0
1938 0004 E8B1 cbz r0, .L142
1939 .LVL193:
1940 .L137:
269:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_INIT);
1941 .loc 1 269 33 discriminator 3 view .LVU481
270:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1942 .loc 1 270 5 discriminator 3 view .LVU482
1943 0006 94F83C30 ldrb r3, [r4, #60] @ zero_extendqisi2
1944 000a 13F00F0F tst r3, #15
1945 000e 1FD1 bne .L143
1946 .L138:
270:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
1947 .loc 1 270 70 discriminator 3 view .LVU483
271:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1948 .loc 1 271 5 discriminator 3 view .LVU484
1949 0010 2046 mov r0, r4
1950 0012 FFF7FEFF bl rt_object_get_type
1951 .LVL194:
1952 0016 0128 cmp r0, #1
1953 0018 21D1 bne .L144
1954 .L139:
271:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1955 .loc 1 271 81 discriminator 3 view .LVU485
274:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1956 .loc 1 274 5 discriminator 3 view .LVU486
274:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1957 .loc 1 274 38 is_stmt 0 discriminator 3 view .LVU487
1958 001a 94F83E20 ldrb r2, [r4, #62] @ zero_extendqisi2
274:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1959 .loc 1 274 30 discriminator 3 view .LVU488
1960 001e 84F83D20 strb r2, [r4, #61]
282:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
1961 .loc 1 282 5 is_stmt 1 discriminator 3 view .LVU489
282:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
1962 .loc 1 282 30 is_stmt 0 discriminator 3 view .LVU490
1963 0022 0123 movs r3, #1
1964 0024 9340 lsls r3, r3, r2
282:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
1965 .loc 1 282 25 discriminator 3 view .LVU491
1966 0026 2364 str r3, [r4, #64]
285:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->name, thread->init_priority));
1967 .loc 1 285 5 is_stmt 1 discriminator 3 view .LVU492
285:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->name, thread->init_priority));
1968 .loc 1 285 5 discriminator 3 view .LVU493
285:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** thread->name, thread->init_priority));
1969 .loc 1 285 5 discriminator 3 view .LVU494
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 58
288:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* then resume it */
1970 .loc 1 288 5 discriminator 3 view .LVU495
288:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /* then resume it */
1971 .loc 1 288 18 is_stmt 0 discriminator 3 view .LVU496
1972 0028 0223 movs r3, #2
1973 002a 84F83C30 strb r3, [r4, #60]
290:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** if (rt_thread_self() != RT_NULL)
1974 .loc 1 290 5 is_stmt 1 discriminator 3 view .LVU497
1975 002e 2046 mov r0, r4
1976 0030 FFF7FEFF bl rt_thread_resume
1977 .LVL195:
291:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1978 .loc 1 291 5 discriminator 3 view .LVU498
291:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1979 .loc 1 291 9 is_stmt 0 discriminator 3 view .LVU499
1980 0034 FFF7FEFF bl rt_thread_self
1981 .LVL196:
291:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
1982 .loc 1 291 8 discriminator 3 view .LVU500
1983 0038 08B1 cbz r0, .L140
294:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1984 .loc 1 294 9 is_stmt 1 view .LVU501
1985 003a FFF7FEFF bl rt_schedule
1986 .LVL197:
1987 .L140:
297:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
1988 .loc 1 297 5 view .LVU502
298:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
1989 .loc 1 298 1 is_stmt 0 view .LVU503
1990 003e 0020 movs r0, #0
1991 0040 10BD pop {r4, pc}
1992 .LVL198:
1993 .L142:
269:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_INIT);
1994 .loc 1 269 5 is_stmt 1 discriminator 1 view .LVU504
1995 0042 40F20D12 movw r2, #269
1996 0046 0949 ldr r1, .L145
1997 0048 0948 ldr r0, .L145+4
1998 .LVL199:
269:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT((thread->stat & RT_THREAD_STAT_MASK) == RT_THREAD_INIT);
1999 .loc 1 269 5 is_stmt 0 discriminator 1 view .LVU505
2000 004a FFF7FEFF bl rt_assert_handler
2001 .LVL200:
2002 004e DAE7 b .L137
2003 .L143:
270:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2004 .loc 1 270 5 is_stmt 1 discriminator 1 view .LVU506
2005 0050 4FF48772 mov r2, #270
2006 0054 0549 ldr r1, .L145
2007 0056 0748 ldr r0, .L145+8
2008 0058 FFF7FEFF bl rt_assert_handler
2009 .LVL201:
2010 005c D8E7 b .L138
2011 .L144:
271:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2012 .loc 1 271 5 discriminator 1 view .LVU507
2013 005e 40F20F12 movw r2, #271
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 59
2014 0062 0249 ldr r1, .L145
2015 0064 0448 ldr r0, .L145+12
2016 0066 FFF7FEFF bl rt_assert_handler
2017 .LVL202:
2018 006a D6E7 b .L139
2019 .L146:
2020 .align 2
2021 .L145:
2022 006c 00000000 .word .LANCHOR12
2023 0070 00000000 .word .LC1
2024 0074 00000000 .word .LC8
2025 0078 50000000 .word .LC3
2026 .cfi_endproc
2027 .LFE23:
2029 .section .text.rt_thread_control,"ax",%progbits
2030 .align 1
2031 .global rt_thread_control
2032 .syntax unified
2033 .thumb
2034 .thumb_func
2035 .fpu softvfp
2037 rt_thread_control:
2038 .LVL203:
2039 .LFB32:
627:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
2040 .loc 1 627 1 view -0
2041 .cfi_startproc
2042 @ args = 0, pretend = 0, frame = 0
2043 @ frame_needed = 0, uses_anonymous_args = 0
627:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** register rt_base_t temp;
2044 .loc 1 627 1 is_stmt 0 view .LVU509
2045 0000 70B5 push {r4, r5, r6, lr}
2046 .LCFI28:
2047 .cfi_def_cfa_offset 16
2048 .cfi_offset 4, -16
2049 .cfi_offset 5, -12
2050 .cfi_offset 6, -8
2051 .cfi_offset 14, -4
2052 0002 0C46 mov r4, r1
2053 0004 1646 mov r6, r2
628:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2054 .loc 1 628 5 is_stmt 1 view .LVU510
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2055 .loc 1 631 5 view .LVU511
2056 0006 0546 mov r5, r0
2057 0008 58B1 cbz r0, .L158
2058 .LVL204:
2059 .L148:
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2060 .loc 1 631 33 discriminator 3 view .LVU512
632:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2061 .loc 1 632 5 discriminator 3 view .LVU513
2062 000a 2846 mov r0, r5
2063 000c FFF7FEFF bl rt_object_get_type
2064 .LVL205:
2065 0010 0128 cmp r0, #1
2066 0012 0DD1 bne .L159
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 60
2067 .L149:
632:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2068 .loc 1 632 81 discriminator 3 view .LVU514
634:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2069 .loc 1 634 5 discriminator 3 view .LVU515
2070 0014 012C cmp r4, #1
2071 0016 37D0 beq .L150
634:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2072 .loc 1 634 5 is_stmt 0 view .LVU516
2073 0018 022C cmp r4, #2
2074 001a 10D0 beq .L151
2075 001c 84B3 cbz r4, .L152
2076 001e 0020 movs r0, #0
2077 .LVL206:
2078 .L147:
700:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2079 .loc 1 700 1 view .LVU517
2080 0020 70BD pop {r4, r5, r6, pc}
2081 .LVL207:
2082 .L158:
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2083 .loc 1 631 5 is_stmt 1 discriminator 1 view .LVU518
2084 0022 40F27722 movw r2, #631
2085 .LVL208:
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2086 .loc 1 631 5 is_stmt 0 discriminator 1 view .LVU519
2087 0026 1F49 ldr r1, .L162
2088 .LVL209:
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2089 .loc 1 631 5 discriminator 1 view .LVU520
2090 0028 1F48 ldr r0, .L162+4
2091 .LVL210:
631:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** RT_ASSERT(rt_object_get_type((rt_object_t)thread) == RT_Object_Class_Thread);
2092 .loc 1 631 5 discriminator 1 view .LVU521
2093 002a FFF7FEFF bl rt_assert_handler
2094 .LVL211:
2095 002e ECE7 b .L148
2096 .L159:
632:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2097 .loc 1 632 5 is_stmt 1 discriminator 1 view .LVU522
2098 0030 4FF41E72 mov r2, #632
2099 0034 1B49 ldr r1, .L162
2100 0036 1D48 ldr r0, .L162+8
2101 0038 FFF7FEFF bl rt_assert_handler
2102 .LVL212:
2103 003c EAE7 b .L149
2104 .L151:
638:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2105 .loc 1 638 9 view .LVU523
638:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2106 .loc 1 638 16 is_stmt 0 view .LVU524
2107 003e FFF7FEFF bl rt_hw_interrupt_disable
2108 .LVL213:
2109 0042 0446 mov r4, r0
2110 .LVL214:
641:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2111 .loc 1 641 9 is_stmt 1 view .LVU525
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 61
641:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2112 .loc 1 641 20 is_stmt 0 view .LVU526
2113 0044 95F83C30 ldrb r3, [r5, #60] @ zero_extendqisi2
641:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2114 .loc 1 641 12 view .LVU527
2115 0048 03F00F03 and r3, r3, #15
2116 004c 012B cmp r3, #1
2117 004e 0AD0 beq .L160
663:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2118 .loc 1 663 13 is_stmt 1 view .LVU528
663:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2119 .loc 1 663 40 is_stmt 0 view .LVU529
2120 0050 3278 ldrb r2, [r6] @ zero_extendqisi2
663:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2121 .loc 1 663 38 view .LVU530
2122 0052 85F83D20 strb r2, [r5, #61]
671:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
2123 .loc 1 671 13 is_stmt 1 view .LVU531
671:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
2124 .loc 1 671 37 is_stmt 0 view .LVU532
2125 0056 0123 movs r3, #1
2126 0058 9340 lsls r3, r3, r2
671:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
2127 .loc 1 671 33 view .LVU533
2128 005a 2B64 str r3, [r5, #64]
2129 .LVL215:
2130 .L155:
676:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** break;
2131 .loc 1 676 9 is_stmt 1 view .LVU534
2132 005c 2046 mov r0, r4
2133 005e FFF7FEFF bl rt_hw_interrupt_enable
2134 .LVL216:
677:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2135 .loc 1 677 9 view .LVU535
699:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2136 .loc 1 699 12 is_stmt 0 view .LVU536
2137 0062 0020 movs r0, #0
677:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2138 .loc 1 677 9 view .LVU537
2139 0064 DCE7 b .L147
2140 .LVL217:
2141 .L160:
644:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2142 .loc 1 644 13 is_stmt 1 view .LVU538
2143 0066 2846 mov r0, r5
2144 .LVL218:
644:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2145 .loc 1 644 13 is_stmt 0 view .LVU539
2146 0068 FFF7FEFF bl rt_schedule_remove_thread
2147 .LVL219:
647:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2148 .loc 1 647 13 is_stmt 1 view .LVU540
647:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2149 .loc 1 647 40 is_stmt 0 view .LVU541
2150 006c 3278 ldrb r2, [r6] @ zero_extendqisi2
647:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2151 .loc 1 647 38 view .LVU542
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 62
2152 006e 85F83D20 strb r2, [r5, #61]
655:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
2153 .loc 1 655 13 is_stmt 1 view .LVU543
655:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
2154 .loc 1 655 37 is_stmt 0 view .LVU544
2155 0072 0123 movs r3, #1
2156 0074 9340 lsls r3, r3, r2
655:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** #endif
2157 .loc 1 655 33 view .LVU545
2158 0076 2B64 str r3, [r5, #64]
659:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2159 .loc 1 659 13 is_stmt 1 view .LVU546
2160 0078 2846 mov r0, r5
2161 007a FFF7FEFF bl rt_schedule_insert_thread
2162 .LVL220:
2163 007e EDE7 b .L155
2164 .LVL221:
2165 .L152:
680:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2166 .loc 1 680 9 view .LVU547
680:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
2167 .loc 1 680 16 is_stmt 0 view .LVU548
2168 0080 2846 mov r0, r5
2169 0082 FFF7FEFF bl rt_thread_startup
2170 .LVL222:
2171 0086 CBE7 b .L147
2172 .L150:
684:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2173 .loc 1 684 9 is_stmt 1 view .LVU549
684:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2174 .loc 1 684 13 is_stmt 0 view .LVU550
2175 0088 2846 mov r0, r5
2176 008a FFF7FEFF bl rt_object_is_systemobject
2177 .LVL223:
684:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2178 .loc 1 684 12 view .LVU551
2179 008e 0128 cmp r0, #1
2180 0090 03D0 beq .L161
691:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2181 .loc 1 691 13 is_stmt 1 view .LVU552
691:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2182 .loc 1 691 20 is_stmt 0 view .LVU553
2183 0092 2846 mov r0, r5
2184 0094 FFF7FEFF bl rt_thread_delete
2185 .LVL224:
2186 0098 C2E7 b .L147
2187 .L161:
686:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2188 .loc 1 686 13 is_stmt 1 view .LVU554
686:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2189 .loc 1 686 20 is_stmt 0 view .LVU555
2190 009a 2846 mov r0, r5
2191 009c FFF7FEFF bl rt_thread_detach
2192 .LVL225:
2193 00a0 BEE7 b .L147
2194 .L163:
2195 00a2 00BF .align 2
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 63
2196 .L162:
2197 00a4 00000000 .word .LANCHOR13
2198 00a8 00000000 .word .LC1
2199 00ac 50000000 .word .LC3
2200 .cfi_endproc
2201 .LFE32:
2203 .section .text.rt_thread_find,"ax",%progbits
2204 .align 1
2205 .global rt_thread_find
2206 .syntax unified
2207 .thumb
2208 .thumb_func
2209 .fpu softvfp
2211 rt_thread_find:
2212 .LVL226:
2213 .LFB36:
819:Middlewares/Third_Party/RealThread_RTOS/src/thread.c ****
820:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** /**
821:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * This function will find the specified thread.
822:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
823:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @param name the name of thread finding
824:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
825:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @return the found thread
826:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** *
827:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** * @note please don't invoke this function in interrupt status.
828:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** */
829:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** rt_thread_t rt_thread_find(char *name)
830:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** {
2214 .loc 1 830 1 is_stmt 1 view -0
2215 .cfi_startproc
2216 @ args = 0, pretend = 0, frame = 0
2217 @ frame_needed = 0, uses_anonymous_args = 0
2218 .loc 1 830 1 is_stmt 0 view .LVU557
2219 0000 08B5 push {r3, lr}
2220 .LCFI29:
2221 .cfi_def_cfa_offset 8
2222 .cfi_offset 3, -8
2223 .cfi_offset 14, -4
831:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** return (rt_thread_t)rt_object_find(name, RT_Object_Class_Thread);
2224 .loc 1 831 5 is_stmt 1 view .LVU558
2225 .loc 1 831 25 is_stmt 0 view .LVU559
2226 0002 0121 movs r1, #1
2227 0004 FFF7FEFF bl rt_object_find
2228 .LVL227:
832:Middlewares/Third_Party/RealThread_RTOS/src/thread.c **** }
2229 .loc 1 832 1 view .LVU560
2230 0008 08BD pop {r3, pc}
2231 .cfi_endproc
2232 .LFE36:
2234 .section .bss.rt_thread_inited_hook,"aw",%nobits
2235 .align 2
2236 .set .LANCHOR1,. + 0
2239 rt_thread_inited_hook:
2240 0000 00000000 .space 4
2241 .section .bss.rt_thread_resume_hook,"aw",%nobits
2242 .align 2
2243 .set .LANCHOR4,. + 0
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 64
2246 rt_thread_resume_hook:
2247 0000 00000000 .space 4
2248 .section .bss.rt_thread_suspend_hook,"aw",%nobits
2249 .align 2
2250 .set .LANCHOR3,. + 0
2253 rt_thread_suspend_hook:
2254 0000 00000000 .space 4
2255 .section .rodata.__FUNCTION__.0,"a"
2256 .align 2
2257 .set .LANCHOR2,. + 0
2260 __FUNCTION__.0:
2261 0000 72745F74 .ascii "rt_thread_timeout\000"
2261 68726561
2261 645F7469
2261 6D656F75
2261 7400
2262 .section .rodata.__FUNCTION__.1,"a"
2263 .align 2
2264 .set .LANCHOR11,. + 0
2267 __FUNCTION__.1:
2268 0000 72745F74 .ascii "rt_thread_resume\000"
2268 68726561
2268 645F7265
2268 73756D65
2268 00
2269 .section .rodata.__FUNCTION__.10,"a"
2270 .align 2
2271 .set .LANCHOR5,. + 0
2274 __FUNCTION__.10:
2275 0000 72745F74 .ascii "rt_thread_init\000"
2275 68726561
2275 645F696E
2275 697400
2276 .section .rodata.__FUNCTION__.2,"a"
2277 .align 2
2278 .set .LANCHOR8,. + 0
2281 __FUNCTION__.2:
2282 0000 72745F74 .ascii "rt_thread_suspend\000"
2282 68726561
2282 645F7375
2282 7370656E
2282 6400
2283 .section .rodata.__FUNCTION__.3,"a"
2284 .align 2
2285 .set .LANCHOR13,. + 0
2288 __FUNCTION__.3:
2289 0000 72745F74 .ascii "rt_thread_control\000"
2289 68726561
2289 645F636F
2289 6E74726F
2289 6C00
2290 .section .rodata.__FUNCTION__.4,"a"
2291 .align 2
2292 .set .LANCHOR10,. + 0
2295 __FUNCTION__.4:
2296 0000 72745F74 .ascii "rt_thread_delay_until\000"
2296 68726561
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 65
2296 645F6465
2296 6C61795F
2296 756E7469
2297 .section .rodata.__FUNCTION__.5,"a"
2298 .align 2
2299 .set .LANCHOR9,. + 0
2302 __FUNCTION__.5:
2303 0000 72745F74 .ascii "rt_thread_sleep\000"
2303 68726561
2303 645F736C
2303 65657000
2304 .section .rodata.__FUNCTION__.6,"a"
2305 .align 2
2306 .set .LANCHOR7,. + 0
2309 __FUNCTION__.6:
2310 0000 72745F74 .ascii "rt_thread_delete\000"
2310 68726561
2310 645F6465
2310 6C657465
2310 00
2311 .section .rodata.__FUNCTION__.7,"a"
2312 .align 2
2313 .set .LANCHOR6,. + 0
2316 __FUNCTION__.7:
2317 0000 72745F74 .ascii "rt_thread_detach\000"
2317 68726561
2317 645F6465
2317 74616368
2317 00
2318 .section .rodata.__FUNCTION__.8,"a"
2319 .align 2
2320 .set .LANCHOR12,. + 0
2323 __FUNCTION__.8:
2324 0000 72745F74 .ascii "rt_thread_startup\000"
2324 68726561
2324 645F7374
2324 61727475
2324 7000
2325 .section .rodata.__FUNCTION__.9,"a"
2326 .align 2
2327 .set .LANCHOR0,. + 0
2330 __FUNCTION__.9:
2331 0000 5F72745F .ascii "_rt_thread_init\000"
2331 74687265
2331 61645F69
2331 6E697400
2332 .text
2333 .Letext0:
2334 .file 3 "Middlewares/Third_Party/RealThread_RTOS/include/rtdef.h"
2335 .file 4 "Middlewares/Third_Party/RealThread_RTOS/include/rtthread.h"
2336 .file 5 "Middlewares/Third_Party/RealThread_RTOS/include/rthw.h"
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 66
DEFINED SYMBOLS
*ABS*:00000000 thread.c
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:16 .text._thread_cleanup_execute:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:23 .text._thread_cleanup_execute:00000000 _thread_cleanup_execute
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:71 .text.rt_thread_exit:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:78 .text.rt_thread_exit:00000000 rt_thread_exit
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:177 .text.rt_thread_exit:00000054 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:183 .rodata._rt_thread_init.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:187 .text._rt_thread_init:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:193 .text._rt_thread_init:00000000 _rt_thread_init
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:346 .text._rt_thread_init:0000008c $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:374 .text.rt_thread_timeout:00000000 rt_thread_timeout
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:355 .rodata.rt_thread_timeout.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:367 .text.rt_thread_timeout:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:482 .text.rt_thread_timeout:0000006c $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:490 .text.rt_thread_suspend_sethook:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:497 .text.rt_thread_suspend_sethook:00000000 rt_thread_suspend_sethook
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:514 .text.rt_thread_suspend_sethook:00000008 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:519 .text.rt_thread_resume_sethook:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:526 .text.rt_thread_resume_sethook:00000000 rt_thread_resume_sethook
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:543 .text.rt_thread_resume_sethook:00000008 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:548 .text.rt_thread_inited_sethook:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:555 .text.rt_thread_inited_sethook:00000000 rt_thread_inited_sethook
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:572 .text.rt_thread_inited_sethook:00000008 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:577 .rodata.rt_thread_init.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:581 .text.rt_thread_init:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:588 .text.rt_thread_init:00000000 rt_thread_init
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:680 .text.rt_thread_init:00000060 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:687 .text.rt_thread_self:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:694 .text.rt_thread_self:00000000 rt_thread_self
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:709 .text.rt_thread_self:00000008 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:714 .rodata.rt_thread_detach.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:718 .text.rt_thread_detach:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:725 .text.rt_thread_detach:00000000 rt_thread_detach
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:870 .text.rt_thread_detach:0000009c $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:879 .text.rt_thread_create:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:886 .text.rt_thread_create:00000000 rt_thread_create
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:983 .rodata.rt_thread_delete.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:988 .text.rt_thread_delete:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:995 .text.rt_thread_delete:00000000 rt_thread_delete
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1127 .text.rt_thread_delete:00000088 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1136 .text.rt_thread_yield:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1143 .text.rt_thread_yield:00000000 rt_thread_yield
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1257 .text.rt_thread_yield:00000054 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1263 .text.rt_thread_suspend:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1270 .text.rt_thread_suspend:00000000 rt_thread_suspend
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1385 .text.rt_thread_suspend:0000007c $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1393 .text.rt_thread_sleep:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1400 .text.rt_thread_sleep:00000000 rt_thread_sleep
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1514 .text.rt_thread_sleep:00000070 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1522 .text.rt_thread_delay:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1529 .text.rt_thread_delay:00000000 rt_thread_delay
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1552 .text.rt_thread_mdelay:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1559 .text.rt_thread_mdelay:00000000 rt_thread_mdelay
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1587 .rodata.rt_thread_delay_until.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1591 .text.rt_thread_delay_until:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1598 .text.rt_thread_delay_until:00000000 rt_thread_delay_until
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 67
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1757 .text.rt_thread_delay_until:000000a4 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1765 .text.rt_thread_resume:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1772 .text.rt_thread_resume:00000000 rt_thread_resume
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1903 .text.rt_thread_resume:0000007c $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1911 .rodata.rt_thread_startup.str1.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1916 .text.rt_thread_startup:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:1923 .text.rt_thread_startup:00000000 rt_thread_startup
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2022 .text.rt_thread_startup:0000006c $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2030 .text.rt_thread_control:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2037 .text.rt_thread_control:00000000 rt_thread_control
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2197 .text.rt_thread_control:000000a4 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2204 .text.rt_thread_find:00000000 $t
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2211 .text.rt_thread_find:00000000 rt_thread_find
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2235 .bss.rt_thread_inited_hook:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2239 .bss.rt_thread_inited_hook:00000000 rt_thread_inited_hook
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2242 .bss.rt_thread_resume_hook:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2246 .bss.rt_thread_resume_hook:00000000 rt_thread_resume_hook
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2249 .bss.rt_thread_suspend_hook:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2253 .bss.rt_thread_suspend_hook:00000000 rt_thread_suspend_hook
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2256 .rodata.__FUNCTION__.0:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2260 .rodata.__FUNCTION__.0:00000000 __FUNCTION__.0
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2263 .rodata.__FUNCTION__.1:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2267 .rodata.__FUNCTION__.1:00000000 __FUNCTION__.1
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2270 .rodata.__FUNCTION__.10:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2274 .rodata.__FUNCTION__.10:00000000 __FUNCTION__.10
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2277 .rodata.__FUNCTION__.2:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2281 .rodata.__FUNCTION__.2:00000000 __FUNCTION__.2
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2284 .rodata.__FUNCTION__.3:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2288 .rodata.__FUNCTION__.3:00000000 __FUNCTION__.3
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2291 .rodata.__FUNCTION__.4:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2295 .rodata.__FUNCTION__.4:00000000 __FUNCTION__.4
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2298 .rodata.__FUNCTION__.5:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2302 .rodata.__FUNCTION__.5:00000000 __FUNCTION__.5
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2305 .rodata.__FUNCTION__.6:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2309 .rodata.__FUNCTION__.6:00000000 __FUNCTION__.6
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2312 .rodata.__FUNCTION__.7:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2316 .rodata.__FUNCTION__.7:00000000 __FUNCTION__.7
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2319 .rodata.__FUNCTION__.8:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2323 .rodata.__FUNCTION__.8:00000000 __FUNCTION__.8
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2326 .rodata.__FUNCTION__.9:00000000 $d
C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s:2330 .rodata.__FUNCTION__.9:00000000 __FUNCTION__.9
UNDEFINED SYMBOLS
rt_hw_interrupt_disable
rt_hw_interrupt_enable
rt_schedule_remove_thread
rt_timer_detach
rt_object_is_systemobject
rt_schedule
rt_object_detach
rt_current_thread
rt_thread_defunct
rt_memset
rt_hw_stack_init
rt_timer_init
rt_assert_handler
rt_object_get_type
ARM GAS C:\Users\Administrator\AppData\Local\Temp\ccnwOWJZ.s page 68
rt_schedule_insert_thread
rt_object_init
rt_object_allocate
rt_malloc
rt_object_delete
rt_thread_priority_table
rt_timer_stop
rt_timer_control
rt_timer_start
rt_tick_from_millisecond
rt_tick_get
rt_object_find
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/development-board/STM32F407ZGT6-Explorer.git
git@gitee.com:development-board/STM32F407ZGT6-Explorer.git
development-board
STM32F407ZGT6-Explorer
STM32F407ZGT6-Explorer
master

搜索帮助