soft_can.lst 171 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 1
  2. 1 .cpu cortex-m4
  3. 2 .arch armv7e-m
  4. 3 .fpu fpv4-sp-d16
  5. 4 .eabi_attribute 27, 1
  6. 5 .eabi_attribute 28, 1
  7. 6 .eabi_attribute 20, 1
  8. 7 .eabi_attribute 21, 1
  9. 8 .eabi_attribute 23, 3
  10. 9 .eabi_attribute 24, 1
  11. 10 .eabi_attribute 25, 1
  12. 11 .eabi_attribute 26, 1
  13. 12 .eabi_attribute 30, 6
  14. 13 .eabi_attribute 34, 1
  15. 14 .eabi_attribute 18, 4
  16. 15 .file "soft_can.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global RxHeader
  21. 20 .section .bss.RxHeader,"aw",%nobits
  22. 21 .align 2
  23. 24 RxHeader:
  24. 25 0000 00000000 .space 28
  25. 25 00000000
  26. 25 00000000
  27. 25 00000000
  28. 25 00000000
  29. 26 .global TxHeader
  30. 27 .section .bss.TxHeader,"aw",%nobits
  31. 28 .align 2
  32. 31 TxHeader:
  33. 32 0000 00000000 .space 24
  34. 32 00000000
  35. 32 00000000
  36. 32 00000000
  37. 32 00000000
  38. 33 .global RxData
  39. 34 .section .bss.RxData,"aw",%nobits
  40. 35 .align 2
  41. 38 RxData:
  42. 39 0000 00000000 .space 8
  43. 39 00000000
  44. 40 .global Rupdate
  45. 41 .section .bss.Rupdate,"aw",%nobits
  46. 42 .align 2
  47. 45 Rupdate:
  48. 46 0000 00000000 .space 13
  49. 46 00000000
  50. 46 00000000
  51. 46 00
  52. 47 .section .text.Can_decode_data_function,"ax",%progbits
  53. 48 .align 1
  54. 49 .global Can_decode_data_function
  55. 50 .syntax unified
  56. 51 .thumb
  57. 52 .thumb_func
  58. 54 Can_decode_data_function:
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 2
  60. 55 .LFB133:
  61. 56 .file 1 "user_src/soft_can.c"
  62. 1:user_src/soft_can.c **** #include "soft_can.h"
  63. 2:user_src/soft_can.c **** #include <string.h>
  64. 3:user_src/soft_can.c **** #include "can.h"
  65. 4:user_src/soft_can.c **** #include "soft_crc.h"
  66. 5:user_src/soft_can.c **** #include "stdbool.h"
  67. 6:user_src/soft_can.c **** #include "soft_crc.h"
  68. 7:user_src/soft_can.c **** #include "soft_uart.h"
  69. 8:user_src/soft_can.c **** #include "usart.h"
  70. 9:user_src/soft_can.c **** #include "stdio.h"
  71. 10:user_src/soft_can.c **** #include "soft_okcell.h"
  72. 11:user_src/soft_can.c **** #include "soft_tattu.h"
  73. 12:user_src/soft_can.c **** #include "soft_poweramp.h"
  74. 13:user_src/soft_can.c **** #include "soft_terrain.h"
  75. 14:user_src/soft_can.c **** #include "soft_obstacle.h"
  76. 15:user_src/soft_can.c **** #include "soft_engine.h"
  77. 16:user_src/soft_can.c **** #include "soft_p_2_c.h"
  78. 17:user_src/soft_can.c **** #include "soft_herewin.h"
  79. 18:user_src/soft_can.c **** #include "soft_eft.h"
  80. 19:user_src/soft_can.c **** #include "soft_water_device.h"
  81. 20:user_src/soft_can.c **** #include "soft_seed_device.h"
  82. 21:user_src/soft_can.c **** #include "soft_bms.h"
  83. 22:user_src/soft_can.c **** #include "soft_flow.h"
  84. 23:user_src/soft_can.c **** #include "soft_update.h"
  85. 24:user_src/soft_can.c **** #include "can_debug.h"
  86. 25:user_src/soft_can.c **** #include "qingxie_bms.h"
  87. 26:user_src/soft_can.c ****
  88. 27:user_src/soft_can.c **** CAN_RxHeaderTypeDef RxHeader;
  89. 28:user_src/soft_can.c **** CAN_TxHeaderTypeDef TxHeader;
  90. 29:user_src/soft_can.c **** uint8_t RxData[8];
  91. 30:user_src/soft_can.c **** Radar Rupdate;
  92. 31:user_src/soft_can.c ****
  93. 32:user_src/soft_can.c ****
  94. 33:user_src/soft_can.c **** /**
  95. 34:user_src/soft_can.c **** * @file Can_decode_data
  96. 35:user_src/soft_can.c **** * @brief CAN閫�� 銝滩�皛斤�ID
  97. 36:user_src/soft_can.c **** * @param none
  98. 37:user_src/soft_can.c **** * @details
  99. 38:user_src/soft_can.c **** * @author Zhang Sir
  100. 39:user_src/soft_can.c **** **/
  101. 40:user_src/soft_can.c **** void Can_decode_data_function(CAN_RxHeaderTypeDef Rxhead)
  102. 41:user_src/soft_can.c **** {
  103. 57 .loc 1 41 1
  104. 58 .cfi_startproc
  105. 59 @ args = 28, pretend = 16, frame = 0
  106. 60 @ frame_needed = 1, uses_anonymous_args = 0
  107. 61 0000 84B0 sub sp, sp, #16
  108. 62 .LCFI0:
  109. 63 .cfi_def_cfa_offset 16
  110. 64 0002 80B5 push {r7, lr}
  111. 65 .LCFI1:
  112. 66 .cfi_def_cfa_offset 24
  113. 67 .cfi_offset 7, -24
  114. 68 .cfi_offset 14, -20
  115. 69 0004 00AF add r7, sp, #0
  116. 70 .LCFI2:
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 3
  118. 71 .cfi_def_cfa_register 7
  119. 72 0006 07F1080C add ip, r7, #8
  120. 73 000a 8CE80F00 stm ip, {r0, r1, r2, r3}
  121. 42:user_src/soft_can.c **** if(Rxhead.IDE == CAN_ID_STD)
  122. 74 .loc 1 42 14
  123. 75 000e 3B69 ldr r3, [r7, #16]
  124. 76 .loc 1 42 7
  125. 77 0010 002B cmp r3, #0
  126. 78 0012 40F0C580 bne .L2
  127. 43:user_src/soft_can.c **** {
  128. 44:user_src/soft_can.c **** switch (Rxhead.StdId)
  129. 79 .loc 1 44 21
  130. 80 0016 BB68 ldr r3, [r7, #8]
  131. 81 .loc 1 44 7
  132. 82 0018 40F21342 movw r2, #1043
  133. 83 001c 9342 cmp r3, r2
  134. 84 001e 00F23D81 bhi .L28
  135. 85 0022 B3F5826F cmp r3, #1040
  136. 86 0026 61D8 bhi .L4
  137. 87 0028 40F20342 movw r2, #1027
  138. 88 002c 9342 cmp r3, r2
  139. 89 002e 00F23581 bhi .L28
  140. 90 0032 B3F5806F cmp r3, #1024
  141. 91 0036 4FD8 bhi .L5
  142. 92 0038 B3F5457F cmp r3, #788
  143. 93 003c 80F02E81 bcs .L28
  144. 94 0040 B3F5447F cmp r3, #784
  145. 95 0044 66D8 bhi .L6
  146. 96 0046 40F20232 movw r2, #770
  147. 97 004a 9342 cmp r3, r2
  148. 98 004c 00F22681 bhi .L28
  149. 99 0050 B3F5407F cmp r3, #768
  150. 100 0054 54D8 bhi .L7
  151. 101 0056 B3F5407F cmp r3, #768
  152. 102 005a 29D0 beq .L8
  153. 103 005c B3F5407F cmp r3, #768
  154. 104 0060 00F21C81 bhi .L28
  155. 105 0064 B3F5047F cmp r3, #528
  156. 106 0068 2CD0 beq .L9
  157. 107 006a B3F5047F cmp r3, #528
  158. 108 006e 00F21581 bhi .L28
  159. 109 0072 B3F5F87F cmp r3, #496
  160. 110 0076 80F01181 bcs .L28
  161. 111 007a B3F5F07F cmp r3, #480
  162. 112 007e 7BD2 bcs .L10
  163. 113 0080 B3F5E27F cmp r3, #452
  164. 114 0084 00F20A81 bhi .L28
  165. 115 0088 B3F5E07F cmp r3, #448
  166. 116 008c 56D2 bcs .L11
  167. 117 008e B3F5807F cmp r3, #256
  168. 118 0092 5DD0 beq .L12
  169. 119 0094 B3F5807F cmp r3, #256
  170. 120 0098 00F20081 bhi .L28
  171. 121 009c FB2B cmp r3, #251
  172. 122 009e 43D0 beq .L13
  173. 123 00a0 FB2B cmp r3, #251
  174. 124 00a2 00F2FB80 bhi .L28
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 4
  176. 125 00a6 312B cmp r3, #49
  177. 126 00a8 5CD0 beq .L14
  178. 127 00aa 3D2B cmp r3, #61
  179. 128 00ac 6ED0 beq .L15
  180. 45:user_src/soft_can.c **** {
  181. 46:user_src/soft_can.c **** //�拇�隞踹𧑐�瑁噢
  182. 47:user_src/soft_can.c **** case CAN_MIMO_T_ID:
  183. 48:user_src/soft_can.c **** can_recv_enzhao_terrain(RxHeader.StdId, RxData, RxHeader.DLC);
  184. 49:user_src/soft_can.c **** break;
  185. 50:user_src/soft_can.c ****
  186. 51:user_src/soft_can.c **** //�拇�360�瑁噢
  187. 52:user_src/soft_can.c **** // case CAN_HEAD_MIMO360_ID ... CAN_INFO_MIMO360_ID:
  188. 53:user_src/soft_can.c **** // can_recv_mocib_360_obstacle(RxHeader.StdId, RxData, RxHeader.DLC);
  189. 54:user_src/soft_can.c **** // break;
  190. 55:user_src/soft_can.c ****
  191. 56:user_src/soft_can.c **** //�拇�瘚��霈�
  192. 57:user_src/soft_can.c **** case CAN_MIMO_FLOW:
  193. 58:user_src/soft_can.c **** can_recv_mimor_flow_function(RxHeader.StdId, RxData, RxHeader.DLC);
  194. 59:user_src/soft_can.c **** break;
  195. 60:user_src/soft_can.c ****
  196. 61:user_src/soft_can.c **** //��𤌍�菜�
  197. 62:user_src/soft_can.c **** // case CAN_POWERAMP:
  198. 63:user_src/soft_can.c **** // PowerAmpCanRecvHookFunction(RxHeader.StdId, RxData, RxHeader.DLC);
  199. 64:user_src/soft_can.c **** // break;
  200. 65:user_src/soft_can.c ****
  201. 66:user_src/soft_can.c **** //�拇�360�瑁噢 �啣�霈�
  202. 67:user_src/soft_can.c **** // case CAN_360MIMO_1ID ... CAN_360MIMO_2ID:
  203. 68:user_src/soft_can.c **** // //can_recv_mocib_new360_obstacle(RxHeader.StdId, RxData, RxHeader.DLC);
  204. 69:user_src/soft_can.c **** // break;
  205. 70:user_src/soft_can.c **** //�拇��滚��輸��瑁噢(憭𡁶�)
  206. 71:user_src/soft_can.c **** case CAN_MIMO_FOBS_ID1 ... CAN_MIMO_FOBS_ID3:
  207. 72:user_src/soft_can.c **** can_recv_enzhao_obstacle(RxHeader.StdId, RxData, RxHeader.DLC);
  208. 73:user_src/soft_can.c **** break;
  209. 74:user_src/soft_can.c **** case CAN_MIMO_BOBS_ID1 ... CAN_MIMO_BOBS_ID3:
  210. 75:user_src/soft_can.c **** can_recv_enzhao_obstacle(RxHeader.StdId, RxData, RxHeader.DLC);
  211. 76:user_src/soft_can.c **** break;
  212. 77:user_src/soft_can.c ****
  213. 78:user_src/soft_can.c **** //�拇��滚��輸��瑁噢(�閧�)
  214. 79:user_src/soft_can.c **** case CAN_MIMO_FOBS_SIG ... CAN_MIMO_BOBS_SIG:
  215. 80:user_src/soft_can.c **** can_recv_mimo_signal_obstacle(RxHeader.StdId, RxData, RxHeader.DLC);
  216. 81:user_src/soft_can.c **** break;
  217. 82:user_src/soft_can.c ****
  218. 83:user_src/soft_can.c **** //�拇���躹�脣𧑐
  219. 84:user_src/soft_can.c **** case CAN_MIMO_T_ID1 ... CAN_MIMO_T_ID3:
  220. 85:user_src/soft_can.c **** can_recv_enzhao_terrain(RxHeader.StdId, RxData, RxHeader.DLC);
  221. 86:user_src/soft_can.c **** break;
  222. 87:user_src/soft_can.c ****
  223. 88:user_src/soft_can.c **** //�拇��瑁噢��𧋦靽⊥� �峕��讛恣蝟餅㺭
  224. 89:user_src/soft_can.c **** case CAN_MIMO_VERSION:
  225. 90:user_src/soft_can.c **** can_recv_mimo_radar_version(RxHeader.StdId, RxData, RxHeader.DLC);
  226. 91:user_src/soft_can.c **** break;
  227. 92:user_src/soft_can.c ****
  228. 93:user_src/soft_can.c **** //�匧⏚�穃𢆡��
  229. 94:user_src/soft_can.c **** case GEELY_ENGINE_START_ID ... GEELY_ENGINE_END_ID:
  230. 95:user_src/soft_can.c **** EngGeelyCanRecvHookFunction(RxHeader.StdId, RxData, RxHeader.DLC);
  231. 96:user_src/soft_can.c **** break;
  232. 97:user_src/soft_can.c **** case 0x100: //geely�穃𢆡�� 銝羓㩞�踹���
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 5
  234. 98:user_src/soft_can.c **** EngGeelyCanRecvHookFunction(RxHeader.StdId, RxData, RxHeader.DLC);
  235. 99:user_src/soft_can.c **** break;
  236. 100:user_src/soft_can.c **** case 0x031: //憌墧綉�煾��𧒄�游�擐�
  237. 101:user_src/soft_can.c **** EngGeelyCanRecvHookFunction(RxHeader.StdId, RxData, RxHeader.DLC);
  238. 102:user_src/soft_can.c **** break;
  239. 103:user_src/soft_can.c **** //�匧⏚�穃𢆡��
  240. 104:user_src/soft_can.c **** case GEELY_ENGINE_START_ID2 ... GEELY_ENGINE_END_ID2:
  241. 105:user_src/soft_can.c **** EngGeelyCanRecvHookFunction(RxHeader.StdId, RxData, RxHeader.DLC);
  242. 106:user_src/soft_can.c **** break;
  243. 107:user_src/soft_can.c **** case CAN_EZ_R_UPDATE:
  244. 108:user_src/soft_can.c **** EZ_Radar_UpdateCanRecvHookFunction(RxHeader.StdId, RxData, RxHeader.DLC);
  245. 109:user_src/soft_can.c **** break;
  246. 110:user_src/soft_can.c **** default:
  247. 111:user_src/soft_can.c **** break;
  248. 129 .loc 1 111 9
  249. 130 00ae F5E0 b .L28
  250. 131 .L8:
  251. 48:user_src/soft_can.c **** break;
  252. 132 .loc 1 48 9
  253. 133 00b0 7F4B ldr r3, .L31
  254. 134 00b2 1B68 ldr r3, [r3]
  255. 48:user_src/soft_can.c **** break;
  256. 135 .loc 1 48 65
  257. 136 00b4 7E4A ldr r2, .L31
  258. 137 00b6 1269 ldr r2, [r2, #16]
  259. 48:user_src/soft_can.c **** break;
  260. 138 .loc 1 48 9
  261. 139 00b8 D2B2 uxtb r2, r2
  262. 140 00ba 7E49 ldr r1, .L31+4
  263. 141 00bc 1846 mov r0, r3
  264. 142 00be FFF7FEFF bl can_recv_enzhao_terrain
  265. 49:user_src/soft_can.c ****
  266. 143 .loc 1 49 9
  267. 144 00c2 EEE0 b .L17
  268. 145 .L9:
  269. 58:user_src/soft_can.c **** break;
  270. 146 .loc 1 58 9
  271. 147 00c4 7A4B ldr r3, .L31
  272. 148 00c6 1B68 ldr r3, [r3]
  273. 58:user_src/soft_can.c **** break;
  274. 149 .loc 1 58 70
  275. 150 00c8 794A ldr r2, .L31
  276. 151 00ca 1269 ldr r2, [r2, #16]
  277. 58:user_src/soft_can.c **** break;
  278. 152 .loc 1 58 9
  279. 153 00cc D2B2 uxtb r2, r2
  280. 154 00ce 7949 ldr r1, .L31+4
  281. 155 00d0 1846 mov r0, r3
  282. 156 00d2 FFF7FEFF bl can_recv_mimor_flow_function
  283. 59:user_src/soft_can.c ****
  284. 157 .loc 1 59 9
  285. 158 00d6 E4E0 b .L17
  286. 159 .L5:
  287. 72:user_src/soft_can.c **** break;
  288. 160 .loc 1 72 9
  289. 161 00d8 754B ldr r3, .L31
  290. 162 00da 1B68 ldr r3, [r3]
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 6
  292. 72:user_src/soft_can.c **** break;
  293. 163 .loc 1 72 66
  294. 164 00dc 744A ldr r2, .L31
  295. 165 00de 1269 ldr r2, [r2, #16]
  296. 72:user_src/soft_can.c **** break;
  297. 166 .loc 1 72 9
  298. 167 00e0 D2B2 uxtb r2, r2
  299. 168 00e2 7449 ldr r1, .L31+4
  300. 169 00e4 1846 mov r0, r3
  301. 170 00e6 FFF7FEFF bl can_recv_enzhao_obstacle
  302. 73:user_src/soft_can.c **** case CAN_MIMO_BOBS_ID1 ... CAN_MIMO_BOBS_ID3:
  303. 171 .loc 1 73 9
  304. 172 00ea DAE0 b .L17
  305. 173 .L4:
  306. 75:user_src/soft_can.c **** break;
  307. 174 .loc 1 75 9
  308. 175 00ec 704B ldr r3, .L31
  309. 176 00ee 1B68 ldr r3, [r3]
  310. 75:user_src/soft_can.c **** break;
  311. 177 .loc 1 75 66
  312. 178 00f0 6F4A ldr r2, .L31
  313. 179 00f2 1269 ldr r2, [r2, #16]
  314. 75:user_src/soft_can.c **** break;
  315. 180 .loc 1 75 9
  316. 181 00f4 D2B2 uxtb r2, r2
  317. 182 00f6 6F49 ldr r1, .L31+4
  318. 183 00f8 1846 mov r0, r3
  319. 184 00fa FFF7FEFF bl can_recv_enzhao_obstacle
  320. 76:user_src/soft_can.c ****
  321. 185 .loc 1 76 9
  322. 186 00fe D0E0 b .L17
  323. 187 .L7:
  324. 80:user_src/soft_can.c **** break;
  325. 188 .loc 1 80 9
  326. 189 0100 6B4B ldr r3, .L31
  327. 190 0102 1B68 ldr r3, [r3]
  328. 80:user_src/soft_can.c **** break;
  329. 191 .loc 1 80 71
  330. 192 0104 6A4A ldr r2, .L31
  331. 193 0106 1269 ldr r2, [r2, #16]
  332. 80:user_src/soft_can.c **** break;
  333. 194 .loc 1 80 9
  334. 195 0108 D2B2 uxtb r2, r2
  335. 196 010a 6A49 ldr r1, .L31+4
  336. 197 010c 1846 mov r0, r3
  337. 198 010e FFF7FEFF bl can_recv_mimo_signal_obstacle
  338. 81:user_src/soft_can.c ****
  339. 199 .loc 1 81 9
  340. 200 0112 C6E0 b .L17
  341. 201 .L6:
  342. 85:user_src/soft_can.c **** break;
  343. 202 .loc 1 85 9
  344. 203 0114 664B ldr r3, .L31
  345. 204 0116 1B68 ldr r3, [r3]
  346. 85:user_src/soft_can.c **** break;
  347. 205 .loc 1 85 65
  348. 206 0118 654A ldr r2, .L31
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 7
  350. 207 011a 1269 ldr r2, [r2, #16]
  351. 85:user_src/soft_can.c **** break;
  352. 208 .loc 1 85 9
  353. 209 011c D2B2 uxtb r2, r2
  354. 210 011e 6549 ldr r1, .L31+4
  355. 211 0120 1846 mov r0, r3
  356. 212 0122 FFF7FEFF bl can_recv_enzhao_terrain
  357. 86:user_src/soft_can.c ****
  358. 213 .loc 1 86 9
  359. 214 0126 BCE0 b .L17
  360. 215 .L13:
  361. 90:user_src/soft_can.c **** break;
  362. 216 .loc 1 90 9
  363. 217 0128 614B ldr r3, .L31
  364. 218 012a 1B68 ldr r3, [r3]
  365. 90:user_src/soft_can.c **** break;
  366. 219 .loc 1 90 69
  367. 220 012c 604A ldr r2, .L31
  368. 221 012e 1269 ldr r2, [r2, #16]
  369. 90:user_src/soft_can.c **** break;
  370. 222 .loc 1 90 9
  371. 223 0130 D2B2 uxtb r2, r2
  372. 224 0132 6049 ldr r1, .L31+4
  373. 225 0134 1846 mov r0, r3
  374. 226 0136 FFF7FEFF bl can_recv_mimo_radar_version
  375. 91:user_src/soft_can.c ****
  376. 227 .loc 1 91 9
  377. 228 013a B2E0 b .L17
  378. 229 .L11:
  379. 95:user_src/soft_can.c **** break;
  380. 230 .loc 1 95 9
  381. 231 013c 5C4B ldr r3, .L31
  382. 232 013e 1B68 ldr r3, [r3]
  383. 95:user_src/soft_can.c **** break;
  384. 233 .loc 1 95 69
  385. 234 0140 5B4A ldr r2, .L31
  386. 235 0142 1269 ldr r2, [r2, #16]
  387. 95:user_src/soft_can.c **** break;
  388. 236 .loc 1 95 9
  389. 237 0144 D2B2 uxtb r2, r2
  390. 238 0146 5B49 ldr r1, .L31+4
  391. 239 0148 1846 mov r0, r3
  392. 240 014a FFF7FEFF bl EngGeelyCanRecvHookFunction
  393. 96:user_src/soft_can.c **** case 0x100: //geely�穃𢆡�� 銝羓㩞�踹���
  394. 241 .loc 1 96 9
  395. 242 014e A8E0 b .L17
  396. 243 .L12:
  397. 98:user_src/soft_can.c **** break;
  398. 244 .loc 1 98 9
  399. 245 0150 574B ldr r3, .L31
  400. 246 0152 1B68 ldr r3, [r3]
  401. 98:user_src/soft_can.c **** break;
  402. 247 .loc 1 98 69
  403. 248 0154 564A ldr r2, .L31
  404. 249 0156 1269 ldr r2, [r2, #16]
  405. 98:user_src/soft_can.c **** break;
  406. 250 .loc 1 98 9
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 8
  408. 251 0158 D2B2 uxtb r2, r2
  409. 252 015a 5649 ldr r1, .L31+4
  410. 253 015c 1846 mov r0, r3
  411. 254 015e FFF7FEFF bl EngGeelyCanRecvHookFunction
  412. 99:user_src/soft_can.c **** case 0x031: //憌墧綉�煾��𧒄�游�擐�
  413. 255 .loc 1 99 9
  414. 256 0162 9EE0 b .L17
  415. 257 .L14:
  416. 101:user_src/soft_can.c **** break;
  417. 258 .loc 1 101 9
  418. 259 0164 524B ldr r3, .L31
  419. 260 0166 1B68 ldr r3, [r3]
  420. 101:user_src/soft_can.c **** break;
  421. 261 .loc 1 101 69
  422. 262 0168 514A ldr r2, .L31
  423. 263 016a 1269 ldr r2, [r2, #16]
  424. 101:user_src/soft_can.c **** break;
  425. 264 .loc 1 101 9
  426. 265 016c D2B2 uxtb r2, r2
  427. 266 016e 5149 ldr r1, .L31+4
  428. 267 0170 1846 mov r0, r3
  429. 268 0172 FFF7FEFF bl EngGeelyCanRecvHookFunction
  430. 102:user_src/soft_can.c **** //�匧⏚�穃𢆡��
  431. 269 .loc 1 102 9
  432. 270 0176 94E0 b .L17
  433. 271 .L10:
  434. 105:user_src/soft_can.c **** break;
  435. 272 .loc 1 105 9
  436. 273 0178 4D4B ldr r3, .L31
  437. 274 017a 1B68 ldr r3, [r3]
  438. 105:user_src/soft_can.c **** break;
  439. 275 .loc 1 105 69
  440. 276 017c 4C4A ldr r2, .L31
  441. 277 017e 1269 ldr r2, [r2, #16]
  442. 105:user_src/soft_can.c **** break;
  443. 278 .loc 1 105 9
  444. 279 0180 D2B2 uxtb r2, r2
  445. 280 0182 4C49 ldr r1, .L31+4
  446. 281 0184 1846 mov r0, r3
  447. 282 0186 FFF7FEFF bl EngGeelyCanRecvHookFunction
  448. 106:user_src/soft_can.c **** case CAN_EZ_R_UPDATE:
  449. 283 .loc 1 106 9
  450. 284 018a 8AE0 b .L17
  451. 285 .L15:
  452. 108:user_src/soft_can.c **** break;
  453. 286 .loc 1 108 9
  454. 287 018c 484B ldr r3, .L31
  455. 288 018e 1B68 ldr r3, [r3]
  456. 108:user_src/soft_can.c **** break;
  457. 289 .loc 1 108 76
  458. 290 0190 474A ldr r2, .L31
  459. 291 0192 1269 ldr r2, [r2, #16]
  460. 108:user_src/soft_can.c **** break;
  461. 292 .loc 1 108 9
  462. 293 0194 D2B2 uxtb r2, r2
  463. 294 0196 4749 ldr r1, .L31+4
  464. 295 0198 1846 mov r0, r3
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 9
  466. 296 019a FFF7FEFF bl EZ_Radar_UpdateCanRecvHookFunction
  467. 109:user_src/soft_can.c **** default:
  468. 297 .loc 1 109 9
  469. 298 019e 80E0 b .L17
  470. 299 .L2:
  471. 112:user_src/soft_can.c **** }
  472. 113:user_src/soft_can.c **** }
  473. 114:user_src/soft_can.c **** else if(Rxhead.IDE == CAN_ID_EXT)
  474. 300 .loc 1 114 19
  475. 301 01a0 3B69 ldr r3, [r7, #16]
  476. 302 .loc 1 114 12
  477. 303 01a2 042B cmp r3, #4
  478. 304 01a4 7CD1 bne .L29
  479. 115:user_src/soft_can.c **** {
  480. 116:user_src/soft_can.c **** switch (Rxhead.ExtId)
  481. 305 .loc 1 116 21
  482. 306 01a6 FB68 ldr r3, [r7, #12]
  483. 307 .loc 1 116 7
  484. 308 01a8 434A ldr r2, .L31+8
  485. 309 01aa 9342 cmp r3, r2
  486. 310 01ac 64D0 beq .L18
  487. 311 01ae 424A ldr r2, .L31+8
  488. 312 01b0 9342 cmp r3, r2
  489. 313 01b2 6AD8 bhi .L19
  490. 314 01b4 414A ldr r2, .L31+12
  491. 315 01b6 9342 cmp r3, r2
  492. 316 01b8 67D2 bcs .L19
  493. 317 01ba 414A ldr r2, .L31+16
  494. 318 01bc 9342 cmp r3, r2
  495. 319 01be 24D2 bcs .L20
  496. 320 01c0 44F26E62 movw r2, #18030
  497. 321 01c4 9342 cmp r3, r2
  498. 322 01c6 60D8 bhi .L19
  499. 323 01c8 44F26C62 movw r2, #18028
  500. 324 01cc 9342 cmp r3, r2
  501. 325 01ce 4AD2 bcs .L21
  502. 326 01d0 43F26E62 movw r2, #13934
  503. 327 01d4 9342 cmp r3, r2
  504. 328 01d6 58D8 bhi .L19
  505. 329 01d8 43F26C62 movw r2, #13932
  506. 330 01dc 9342 cmp r3, r2
  507. 331 01de 39D2 bcs .L22
  508. 332 01e0 42F26E62 movw r2, #9838
  509. 333 01e4 9342 cmp r3, r2
  510. 334 01e6 50D8 bhi .L19
  511. 335 01e8 42F26C62 movw r2, #9836
  512. 336 01ec 9342 cmp r3, r2
  513. 337 01ee 28D2 bcs .L23
  514. 338 01f0 B3F5866F cmp r3, #1072
  515. 339 01f4 03D8 bhi .L24
  516. 340 01f6 B3F5826F cmp r3, #1040
  517. 341 01fa 10D2 bcs .L25
  518. 342 01fc 45E0 b .L19
  519. 343 .L24:
  520. 344 01fe A3F5B353 sub r3, r3, #5728
  521. 345 0202 0C3B subs r3, r3, #12
  522. 346 0204 022B cmp r3, #2
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 10
  524. 347 0206 40D8 bhi .L19
  525. 348 0208 12E0 b .L27
  526. 349 .L20:
  527. 117:user_src/soft_can.c **** {
  528. 118:user_src/soft_can.c **** //�函�隞踹𧑐�瑁噢
  529. 119:user_src/soft_can.c **** // case CAN_MUNIU:
  530. 120:user_src/soft_can.c **** // can_recv_muniu_terrain(RxData);
  531. 121:user_src/soft_can.c **** // break;
  532. 122:user_src/soft_can.c ****
  533. 123:user_src/soft_can.c **** //�澆��菜�
  534. 124:user_src/soft_can.c **** case CAN_NEWTATTU_MSG ... CAN_NEWTATTU_MSG2:
  535. 125:user_src/soft_can.c **** TattuCanRecvHookFunction(RxHeader.ExtId, RxData, RxHeader.DLC);
  536. 350 .loc 1 125 9
  537. 351 020a 294B ldr r3, .L31
  538. 352 020c 5B68 ldr r3, [r3, #4]
  539. 353 .loc 1 125 66
  540. 354 020e 284A ldr r2, .L31
  541. 355 0210 1269 ldr r2, [r2, #16]
  542. 356 .loc 1 125 9
  543. 357 0212 D2B2 uxtb r2, r2
  544. 358 0214 2749 ldr r1, .L31+4
  545. 359 0216 1846 mov r0, r3
  546. 360 0218 FFF7FEFF bl TattuCanRecvHookFunction
  547. 126:user_src/soft_can.c **** break;
  548. 361 .loc 1 126 9
  549. 362 021c 41E0 b .L17
  550. 363 .L25:
  551. 127:user_src/soft_can.c ****
  552. 128:user_src/soft_can.c **** //�思�瘥娪𡺨颲鋤N��
  553. 129:user_src/soft_can.c **** case CAN_OBSTARCLE11_SN ... CAN_OBSTARCLE56_SN:
  554. 130:user_src/soft_can.c **** can_recv_mocib_version_info(Rxhead.ExtId, RxData, RxHeader.DLC);
  555. 364 .loc 1 130 9
  556. 365 021e FB68 ldr r3, [r7, #12]
  557. 366 .loc 1 130 67
  558. 367 0220 234A ldr r2, .L31
  559. 368 0222 1269 ldr r2, [r2, #16]
  560. 369 .loc 1 130 9
  561. 370 0224 D2B2 uxtb r2, r2
  562. 371 0226 2349 ldr r1, .L31+4
  563. 372 0228 1846 mov r0, r3
  564. 373 022a FFF7FEFF bl can_recv_mocib_version_info
  565. 131:user_src/soft_can.c **** break;
  566. 374 .loc 1 131 9
  567. 375 022e 38E0 b .L17
  568. 376 .L27:
  569. 132:user_src/soft_can.c **** //�𤩺陝�菜�
  570. 133:user_src/soft_can.c **** case QINGXIE_BMS0_CAN_ID1 ... QINGXIE_BMS0_CAN_ID3:
  571. 134:user_src/soft_can.c **** QxBmsCanRecvHookFunction(Rxhead.ExtId, RxData, RxHeader.DLC);
  572. 377 .loc 1 134 10
  573. 378 0230 FB68 ldr r3, [r7, #12]
  574. 379 .loc 1 134 65
  575. 380 0232 1F4A ldr r2, .L31
  576. 381 0234 1269 ldr r2, [r2, #16]
  577. 382 .loc 1 134 10
  578. 383 0236 D2B2 uxtb r2, r2
  579. 384 0238 1E49 ldr r1, .L31+4
  580. 385 023a 1846 mov r0, r3
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 11
  582. 386 023c FFF7FEFF bl QxBmsCanRecvHookFunction
  583. 135:user_src/soft_can.c **** break;
  584. 387 .loc 1 135 10
  585. 388 0240 2FE0 b .L17
  586. 389 .L23:
  587. 136:user_src/soft_can.c **** case QINGXIE_BMS1_CAN_ID1 ... QINGXIE_BMS1_CAN_ID3:
  588. 137:user_src/soft_can.c **** QxBmsCanRecvHookFunction(Rxhead.ExtId, RxData, RxHeader.DLC);
  589. 390 .loc 1 137 10
  590. 391 0242 FB68 ldr r3, [r7, #12]
  591. 392 .loc 1 137 65
  592. 393 0244 1A4A ldr r2, .L31
  593. 394 0246 1269 ldr r2, [r2, #16]
  594. 395 .loc 1 137 10
  595. 396 0248 D2B2 uxtb r2, r2
  596. 397 024a 1A49 ldr r1, .L31+4
  597. 398 024c 1846 mov r0, r3
  598. 399 024e FFF7FEFF bl QxBmsCanRecvHookFunction
  599. 138:user_src/soft_can.c **** break;
  600. 400 .loc 1 138 10
  601. 401 0252 26E0 b .L17
  602. 402 .L22:
  603. 139:user_src/soft_can.c **** case QINGXIE_BMS2_CAN_ID1 ... QINGXIE_BMS2_CAN_ID3:
  604. 140:user_src/soft_can.c **** QxBmsCanRecvHookFunction(Rxhead.ExtId, RxData, RxHeader.DLC);
  605. 403 .loc 1 140 10
  606. 404 0254 FB68 ldr r3, [r7, #12]
  607. 405 .loc 1 140 65
  608. 406 0256 164A ldr r2, .L31
  609. 407 0258 1269 ldr r2, [r2, #16]
  610. 408 .loc 1 140 10
  611. 409 025a D2B2 uxtb r2, r2
  612. 410 025c 1549 ldr r1, .L31+4
  613. 411 025e 1846 mov r0, r3
  614. 412 0260 FFF7FEFF bl QxBmsCanRecvHookFunction
  615. 141:user_src/soft_can.c **** break;
  616. 413 .loc 1 141 10
  617. 414 0264 1DE0 b .L17
  618. 415 .L21:
  619. 142:user_src/soft_can.c **** case QINGXIE_BMS3_CAN_ID1 ... QINGXIE_BMS3_CAN_ID3:
  620. 143:user_src/soft_can.c **** QxBmsCanRecvHookFunction(Rxhead.ExtId, RxData, RxHeader.DLC);
  621. 416 .loc 1 143 10
  622. 417 0266 FB68 ldr r3, [r7, #12]
  623. 418 .loc 1 143 65
  624. 419 0268 114A ldr r2, .L31
  625. 420 026a 1269 ldr r2, [r2, #16]
  626. 421 .loc 1 143 10
  627. 422 026c D2B2 uxtb r2, r2
  628. 423 026e 1149 ldr r1, .L31+4
  629. 424 0270 1846 mov r0, r3
  630. 425 0272 FFF7FEFF bl QxBmsCanRecvHookFunction
  631. 144:user_src/soft_can.c **** break;
  632. 426 .loc 1 144 10
  633. 427 0276 14E0 b .L17
  634. 428 .L18:
  635. 145:user_src/soft_can.c **** case CAN_MSGID_DM_LACKLOSS:
  636. 146:user_src/soft_can.c **** DMlacklossCanRecvFunction(Rxhead.ExtId, RxData, RxHeader.DLC);
  637. 429 .loc 1 146 10
  638. 430 0278 FB68 ldr r3, [r7, #12]
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 12
  640. 431 .loc 1 146 66
  641. 432 027a 0D4A ldr r2, .L31
  642. 433 027c 1269 ldr r2, [r2, #16]
  643. 434 .loc 1 146 10
  644. 435 027e D2B2 uxtb r2, r2
  645. 436 0280 0C49 ldr r1, .L31+4
  646. 437 0282 1846 mov r0, r3
  647. 438 0284 FFF7FEFF bl DMlacklossCanRecvFunction
  648. 147:user_src/soft_can.c **** break;
  649. 439 .loc 1 147 10
  650. 440 0288 0BE0 b .L17
  651. 441 .L19:
  652. 148:user_src/soft_can.c **** default:
  653. 149:user_src/soft_can.c **** //憟賜�ID�箸𧋦瘝⊥��箏�雿㵪��冽�瘚�
  654. 150:user_src/soft_can.c **** HobbywingCanRecvHookFunction(Rxhead.ExtId, RxData, RxHeader.DLC);
  655. 442 .loc 1 150 9
  656. 443 028a FB68 ldr r3, [r7, #12]
  657. 444 .loc 1 150 68
  658. 445 028c 084A ldr r2, .L31
  659. 446 028e 1269 ldr r2, [r2, #16]
  660. 447 .loc 1 150 9
  661. 448 0290 D2B2 uxtb r2, r2
  662. 449 0292 0849 ldr r1, .L31+4
  663. 450 0294 1846 mov r0, r3
  664. 451 0296 FFF7FEFF bl HobbywingCanRecvHookFunction
  665. 151:user_src/soft_can.c **** break;
  666. 452 .loc 1 151 9
  667. 453 029a 02E0 b .L17
  668. 454 .L28:
  669. 111:user_src/soft_can.c **** }
  670. 455 .loc 1 111 9
  671. 456 029c 00BF nop
  672. 457 029e 00E0 b .L30
  673. 458 .L29:
  674. 152:user_src/soft_can.c **** }
  675. 153:user_src/soft_can.c **** }
  676. 459 .loc 1 153 5
  677. 460 02a0 00BF nop
  678. 461 .L17:
  679. 462 .L30:
  680. 154:user_src/soft_can.c **** }
  681. 463 .loc 1 154 1
  682. 464 02a2 00BF nop
  683. 465 02a4 BD46 mov sp, r7
  684. 466 .LCFI3:
  685. 467 .cfi_def_cfa_register 13
  686. 468 @ sp needed
  687. 469 02a6 BDE88040 pop {r7, lr}
  688. 470 .LCFI4:
  689. 471 .cfi_restore 14
  690. 472 .cfi_restore 7
  691. 473 .cfi_def_cfa_offset 16
  692. 474 02aa 04B0 add sp, sp, #16
  693. 475 .LCFI5:
  694. 476 .cfi_def_cfa_offset 0
  695. 477 02ac 7047 bx lr
  696. 478 .L32:
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 13
  698. 479 02ae 00BF .align 2
  699. 480 .L31:
  700. 481 02b0 00000000 .word RxHeader
  701. 482 02b4 00000000 .word RxData
  702. 483 02b8 0BADF218 .word 418557195
  703. 484 02bc 00931001 .word 17863424
  704. 485 02c0 00921001 .word 17863168
  705. 486 .cfi_endproc
  706. 487 .LFE133:
  707. 489 .section .text.Can_filter_init,"ax",%progbits
  708. 490 .align 1
  709. 491 .global Can_filter_init
  710. 492 .syntax unified
  711. 493 .thumb
  712. 494 .thumb_func
  713. 496 Can_filter_init:
  714. 497 .LFB134:
  715. 155:user_src/soft_can.c ****
  716. 156:user_src/soft_can.c ****
  717. 157:user_src/soft_can.c **** /**
  718. 158:user_src/soft_can.c **** * @file Can_filter_init
  719. 159:user_src/soft_can.c **** * @brief CAN餈�誘�嘥���
  720. 160:user_src/soft_can.c **** * @param none
  721. 161:user_src/soft_can.c **** * @details
  722. 162:user_src/soft_can.c **** * @author Zhang Sir
  723. 163:user_src/soft_can.c **** **/
  724. 164:user_src/soft_can.c **** void Can_filter_init()
  725. 165:user_src/soft_can.c **** {
  726. 498 .loc 1 165 1
  727. 499 .cfi_startproc
  728. 500 @ args = 0, pretend = 0, frame = 40
  729. 501 @ frame_needed = 1, uses_anonymous_args = 0
  730. 502 0000 80B5 push {r7, lr}
  731. 503 .LCFI6:
  732. 504 .cfi_def_cfa_offset 8
  733. 505 .cfi_offset 7, -8
  734. 506 .cfi_offset 14, -4
  735. 507 0002 8AB0 sub sp, sp, #40
  736. 508 .LCFI7:
  737. 509 .cfi_def_cfa_offset 48
  738. 510 0004 00AF add r7, sp, #0
  739. 511 .LCFI8:
  740. 512 .cfi_def_cfa_register 7
  741. 166:user_src/soft_can.c **** CAN_FilterTypeDef sFilterConfig;
  742. 167:user_src/soft_can.c ****
  743. 168:user_src/soft_can.c **** //�思�瘥娪��栶��遛�圈𡺨 0
  744. 169:user_src/soft_can.c **** sFilterConfig.FilterBank = 0;
  745. 513 .loc 1 169 28
  746. 514 0006 0023 movs r3, #0
  747. 515 0008 7B61 str r3, [r7, #20]
  748. 170:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  749. 516 .loc 1 170 28
  750. 517 000a 0023 movs r3, #0
  751. 518 000c BB61 str r3, [r7, #24]
  752. 171:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  753. 519 .loc 1 171 29
  754. 520 000e 0123 movs r3, #1
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 14
  756. 521 0010 FB61 str r3, [r7, #28]
  757. 172:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (CAN_MICOB_FILTER_ID >> 13) & 0xffff;
  758. 522 .loc 1 172 30
  759. 523 0012 7723 movs r3, #119
  760. 524 0014 3B60 str r3, [r7]
  761. 173:user_src/soft_can.c **** sFilterConfig.FilterIdLow = ((CAN_MICOB_FILTER_ID << 3) & 0xffff) | CAN_ID_EXT;
  762. 525 .loc 1 173 29
  763. 526 0016 4FF60C03 movw r3, #63500
  764. 527 001a 7B60 str r3, [r7, #4]
  765. 174:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (CAN_MICOB_MASK_ID >> 13) & 0xffff;
  766. 528 .loc 1 174 34
  767. 529 001c 4FF67F03 movw r3, #63615
  768. 530 0020 BB60 str r3, [r7, #8]
  769. 175:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = ((CAN_MICOB_MASK_ID << 3) & 0xffff) | CAN_ID_EXT;
  770. 531 .loc 1 175 33
  771. 532 0022 4FF60473 movw r3, #65284
  772. 533 0026 FB60 str r3, [r7, #12]
  773. 176:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  774. 534 .loc 1 176 38
  775. 535 0028 0023 movs r3, #0
  776. 536 002a 3B61 str r3, [r7, #16]
  777. 177:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  778. 537 .loc 1 177 34
  779. 538 002c 0123 movs r3, #1
  780. 539 002e 3B62 str r3, [r7, #32]
  781. 178:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  782. 540 .loc 1 178 38
  783. 541 0030 0E23 movs r3, #14
  784. 542 0032 7B62 str r3, [r7, #36]
  785. 179:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  786. 543 .loc 1 179 7
  787. 544 0034 3B46 mov r3, r7
  788. 545 0036 1946 mov r1, r3
  789. 546 0038 8848 ldr r0, .L44
  790. 547 003a FFF7FEFF bl HAL_CAN_ConfigFilter
  791. 548 003e 0346 mov r3, r0
  792. 549 .loc 1 179 6
  793. 550 0040 002B cmp r3, #0
  794. 551 0042 01D0 beq .L34
  795. 180:user_src/soft_can.c **** {
  796. 181:user_src/soft_can.c **** Error_Handler();
  797. 552 .loc 1 181 5
  798. 553 0044 FFF7FEFF bl Error_Handler
  799. 554 .L34:
  800. 182:user_src/soft_can.c **** }
  801. 183:user_src/soft_can.c **** //甇�䲮�菜�1
  802. 184:user_src/soft_can.c **** sFilterConfig.FilterBank = 1;
  803. 555 .loc 1 184 28
  804. 556 0048 0123 movs r3, #1
  805. 557 004a 7B61 str r3, [r7, #20]
  806. 185:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  807. 558 .loc 1 185 28
  808. 559 004c 0023 movs r3, #0
  809. 560 004e BB61 str r3, [r7, #24]
  810. 186:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  811. 561 .loc 1 186 29
  812. 562 0050 0123 movs r3, #1
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 15
  814. 563 0052 FB61 str r3, [r7, #28]
  815. 187:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (CAN_ZHENGFANG >> 13) & 0xffff;
  816. 564 .loc 1 187 30
  817. 565 0054 4AF6AC13 movw r3, #43436
  818. 566 0058 3B60 str r3, [r7]
  819. 188:user_src/soft_can.c **** sFilterConfig.FilterIdLow = ((((uint32_t)CAN_ZHENGFANG << 3) & 0xffff) | CAN_ID_EXT);
  820. 567 .loc 1 188 29
  821. 568 005a 4CF23413 movw r3, #49460
  822. 569 005e 7B60 str r3, [r7, #4]
  823. 189:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (CAN_ZHENGFANG_MASk >> 13) & 0xffff;
  824. 570 .loc 1 189 34
  825. 571 0060 4FF6F873 movw r3, #65528
  826. 572 0064 BB60 str r3, [r7, #8]
  827. 190:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = ((((uint32_t)CAN_ZHENGFANG_MASk << 3) & 0xffff) | CAN_ID_EXT);
  828. 573 .loc 1 190 33
  829. 574 0066 0423 movs r3, #4
  830. 575 0068 FB60 str r3, [r7, #12]
  831. 191:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  832. 576 .loc 1 191 38
  833. 577 006a 0023 movs r3, #0
  834. 578 006c 3B61 str r3, [r7, #16]
  835. 192:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  836. 579 .loc 1 192 34
  837. 580 006e 0123 movs r3, #1
  838. 581 0070 3B62 str r3, [r7, #32]
  839. 193:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  840. 582 .loc 1 193 38
  841. 583 0072 0E23 movs r3, #14
  842. 584 0074 7B62 str r3, [r7, #36]
  843. 194:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  844. 585 .loc 1 194 7
  845. 586 0076 3B46 mov r3, r7
  846. 587 0078 1946 mov r1, r3
  847. 588 007a 7848 ldr r0, .L44
  848. 589 007c FFF7FEFF bl HAL_CAN_ConfigFilter
  849. 590 0080 0346 mov r3, r0
  850. 591 .loc 1 194 6
  851. 592 0082 002B cmp r3, #0
  852. 593 0084 01D0 beq .L35
  853. 195:user_src/soft_can.c **** {
  854. 196:user_src/soft_can.c **** Error_Handler();
  855. 594 .loc 1 196 5
  856. 595 0086 FFF7FEFF bl Error_Handler
  857. 596 .L35:
  858. 197:user_src/soft_can.c **** }
  859. 198:user_src/soft_can.c **** //�輸��瑁噢��漣2
  860. 199:user_src/soft_can.c **** sFilterConfig.FilterBank = 2;
  861. 597 .loc 1 199 28
  862. 598 008a 0223 movs r3, #2
  863. 599 008c 7B61 str r3, [r7, #20]
  864. 200:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  865. 600 .loc 1 200 28
  866. 601 008e 0023 movs r3, #0
  867. 602 0090 BB61 str r3, [r7, #24]
  868. 201:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  869. 603 .loc 1 201 29
  870. 604 0092 0123 movs r3, #1
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 16
  872. 605 0094 FB61 str r3, [r7, #28]
  873. 202:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (CAN_UAVRH_FILTER_ID >> 13) & 0xffff;
  874. 606 .loc 1 202 30
  875. 607 0096 0023 movs r3, #0
  876. 608 0098 3B60 str r3, [r7]
  877. 203:user_src/soft_can.c **** sFilterConfig.FilterIdLow = ((CAN_UAVRH_FILTER_ID << 3) & 0xffff) | CAN_ID_EXT;
  878. 609 .loc 1 203 29
  879. 610 009a 43F60473 movw r3, #16132
  880. 611 009e 7B60 str r3, [r7, #4]
  881. 204:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (CAN_UAVRH_MASK_ID >> 13) & 0xffff;
  882. 612 .loc 1 204 34
  883. 613 00a0 4FF6FF73 movw r3, #65535
  884. 614 00a4 BB60 str r3, [r7, #8]
  885. 205:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = ((CAN_UAVRH_MASK_ID << 3) & 0xffff) | CAN_ID_EXT;
  886. 615 .loc 1 205 33
  887. 616 00a6 4FF60473 movw r3, #65284
  888. 617 00aa FB60 str r3, [r7, #12]
  889. 206:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  890. 618 .loc 1 206 38
  891. 619 00ac 0023 movs r3, #0
  892. 620 00ae 3B61 str r3, [r7, #16]
  893. 207:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  894. 621 .loc 1 207 34
  895. 622 00b0 0123 movs r3, #1
  896. 623 00b2 3B62 str r3, [r7, #32]
  897. 208:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  898. 624 .loc 1 208 38
  899. 625 00b4 0E23 movs r3, #14
  900. 626 00b6 7B62 str r3, [r7, #36]
  901. 209:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  902. 627 .loc 1 209 7
  903. 628 00b8 3B46 mov r3, r7
  904. 629 00ba 1946 mov r1, r3
  905. 630 00bc 6748 ldr r0, .L44
  906. 631 00be FFF7FEFF bl HAL_CAN_ConfigFilter
  907. 632 00c2 0346 mov r3, r0
  908. 633 .loc 1 209 6
  909. 634 00c4 002B cmp r3, #0
  910. 635 00c6 01D0 beq .L36
  911. 210:user_src/soft_can.c **** {
  912. 211:user_src/soft_can.c **** Error_Handler();
  913. 636 .loc 1 211 5
  914. 637 00c8 FFF7FEFF bl Error_Handler
  915. 638 .L36:
  916. 212:user_src/soft_can.c **** }
  917. 213:user_src/soft_can.c **** //撖���菜�3
  918. 214:user_src/soft_can.c **** sFilterConfig.FilterBank = 3;
  919. 639 .loc 1 214 28
  920. 640 00cc 0323 movs r3, #3
  921. 641 00ce 7B61 str r3, [r7, #20]
  922. 215:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  923. 642 .loc 1 215 28
  924. 643 00d0 0023 movs r3, #0
  925. 644 00d2 BB61 str r3, [r7, #24]
  926. 216:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  927. 645 .loc 1 216 29
  928. 646 00d4 0123 movs r3, #1
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 17
  930. 647 00d6 FB61 str r3, [r7, #28]
  931. 217:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (uint16_t)((uint32_t)FULLY_CELL_FILTER_ID >> 13 & 0xffff);
  932. 648 .loc 1 217 30
  933. 649 00d8 4BF22003 movw r3, #45088
  934. 650 00dc 3B60 str r3, [r7]
  935. 218:user_src/soft_can.c **** sFilterConfig.FilterIdLow = (uint16_t)((((uint32_t)FULLY_CELL_FILTER_ID << 3) & 0xffff) | CAN_ID_
  936. 651 .loc 1 218 29
  937. 652 00de 42F21C03 movw r3, #8220
  938. 653 00e2 7B60 str r3, [r7, #4]
  939. 219:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (uint16_t)((((uint32_t)FULLY_CELL_MASK_ID) >> 13) & 0xffff);
  940. 654 .loc 1 219 34
  941. 655 00e4 4FF23F03 movw r3, #61503
  942. 656 00e8 BB60 str r3, [r7, #8]
  943. 220:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = (uint16_t)((((uint32_t)FULLY_CELL_MASK_ID << 3) & 0xffff) | CAN_I
  944. 657 .loc 1 220 33
  945. 658 00ea 4EF23C03 movw r3, #57404
  946. 659 00ee FB60 str r3, [r7, #12]
  947. 221:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  948. 660 .loc 1 221 38
  949. 661 00f0 0023 movs r3, #0
  950. 662 00f2 3B61 str r3, [r7, #16]
  951. 222:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  952. 663 .loc 1 222 34
  953. 664 00f4 0123 movs r3, #1
  954. 665 00f6 3B62 str r3, [r7, #32]
  955. 223:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  956. 666 .loc 1 223 38
  957. 667 00f8 0E23 movs r3, #14
  958. 668 00fa 7B62 str r3, [r7, #36]
  959. 224:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  960. 669 .loc 1 224 7
  961. 670 00fc 3B46 mov r3, r7
  962. 671 00fe 1946 mov r1, r3
  963. 672 0100 5648 ldr r0, .L44
  964. 673 0102 FFF7FEFF bl HAL_CAN_ConfigFilter
  965. 674 0106 0346 mov r3, r0
  966. 675 .loc 1 224 6
  967. 676 0108 002B cmp r3, #0
  968. 677 010a 01D0 beq .L37
  969. 225:user_src/soft_can.c **** {
  970. 226:user_src/soft_can.c **** Error_Handler();
  971. 678 .loc 1 226 5
  972. 679 010c FFF7FEFF bl Error_Handler
  973. 680 .L37:
  974. 227:user_src/soft_can.c **** }
  975. 228:user_src/soft_can.c ****
  976. 229:user_src/soft_can.c **** //瘚瑞��箄��菜�4
  977. 230:user_src/soft_can.c **** sFilterConfig.FilterBank = 4;
  978. 681 .loc 1 230 28
  979. 682 0110 0423 movs r3, #4
  980. 683 0112 7B61 str r3, [r7, #20]
  981. 231:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  982. 684 .loc 1 231 28
  983. 685 0114 0023 movs r3, #0
  984. 686 0116 BB61 str r3, [r7, #24]
  985. 232:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  986. 687 .loc 1 232 29
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 18
  988. 688 0118 0123 movs r3, #1
  989. 689 011a FB61 str r3, [r7, #28]
  990. 233:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (HEREWIN_FILTER_ID >> 13) & 0xffff;
  991. 690 .loc 1 233 30
  992. 691 011c 0723 movs r3, #7
  993. 692 011e 3B60 str r3, [r7]
  994. 234:user_src/soft_can.c **** sFilterConfig.FilterIdLow = ((HEREWIN_FILTER_ID << 3) & 0xffff) | CAN_ID_EXT;
  995. 693 .loc 1 234 29
  996. 694 0120 4FF20403 movw r3, #61444
  997. 695 0124 7B60 str r3, [r7, #4]
  998. 235:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (HEREWIN_MASK_ID >> 13) & 0xffff;
  999. 696 .loc 1 235 34
  1000. 697 0126 41F60703 movw r3, #6151
  1001. 698 012a BB60 str r3, [r7, #8]
  1002. 236:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = ((HEREWIN_MASK_ID << 3) & 0xffff) | CAN_ID_EXT;
  1003. 699 .loc 1 236 33
  1004. 700 012c 48F2FC73 movw r3, #34812
  1005. 701 0130 FB60 str r3, [r7, #12]
  1006. 237:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  1007. 702 .loc 1 237 38
  1008. 703 0132 0023 movs r3, #0
  1009. 704 0134 3B61 str r3, [r7, #16]
  1010. 238:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  1011. 705 .loc 1 238 34
  1012. 706 0136 0123 movs r3, #1
  1013. 707 0138 3B62 str r3, [r7, #32]
  1014. 239:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  1015. 708 .loc 1 239 38
  1016. 709 013a 0E23 movs r3, #14
  1017. 710 013c 7B62 str r3, [r7, #36]
  1018. 240:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  1019. 711 .loc 1 240 7
  1020. 712 013e 3B46 mov r3, r7
  1021. 713 0140 1946 mov r1, r3
  1022. 714 0142 4648 ldr r0, .L44
  1023. 715 0144 FFF7FEFF bl HAL_CAN_ConfigFilter
  1024. 716 0148 0346 mov r3, r0
  1025. 717 .loc 1 240 6
  1026. 718 014a 002B cmp r3, #0
  1027. 719 014c 01D0 beq .L38
  1028. 241:user_src/soft_can.c **** {
  1029. 242:user_src/soft_can.c **** Error_Handler();
  1030. 720 .loc 1 242 5
  1031. 721 014e FFF7FEFF bl Error_Handler
  1032. 722 .L38:
  1033. 243:user_src/soft_can.c **** }
  1034. 244:user_src/soft_can.c ****
  1035. 245:user_src/soft_can.c **** //EFT�剜���5
  1036. 246:user_src/soft_can.c **** sFilterConfig.FilterBank = 5;
  1037. 723 .loc 1 246 28
  1038. 724 0152 0523 movs r3, #5
  1039. 725 0154 7B61 str r3, [r7, #20]
  1040. 247:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  1041. 726 .loc 1 247 28
  1042. 727 0156 0023 movs r3, #0
  1043. 728 0158 BB61 str r3, [r7, #24]
  1044. 248:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 19
  1046. 729 .loc 1 248 29
  1047. 730 015a 0123 movs r3, #1
  1048. 731 015c FB61 str r3, [r7, #28]
  1049. 249:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (EFT_FILTER_ID >> 13) & 0xffff;
  1050. 732 .loc 1 249 30
  1051. 733 015e 0423 movs r3, #4
  1052. 734 0160 3B60 str r3, [r7]
  1053. 250:user_src/soft_can.c **** sFilterConfig.FilterIdLow = ((EFT_FILTER_ID << 3) & 0xffff) | CAN_ID_EXT;
  1054. 735 .loc 1 250 29
  1055. 736 0162 44F28C23 movw r3, #17036
  1056. 737 0166 7B60 str r3, [r7, #4]
  1057. 251:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (EFT_MASK_ID >> 13) & 0xffff;
  1058. 738 .loc 1 251 34
  1059. 739 0168 4FF6FF73 movw r3, #65535
  1060. 740 016c BB60 str r3, [r7, #8]
  1061. 252:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = ((EFT_MASK_ID << 3) & 0xffff) | CAN_ID_EXT;
  1062. 741 .loc 1 252 33
  1063. 742 016e 4FF60403 movw r3, #63492
  1064. 743 0172 FB60 str r3, [r7, #12]
  1065. 253:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  1066. 744 .loc 1 253 38
  1067. 745 0174 0023 movs r3, #0
  1068. 746 0176 3B61 str r3, [r7, #16]
  1069. 254:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  1070. 747 .loc 1 254 34
  1071. 748 0178 0123 movs r3, #1
  1072. 749 017a 3B62 str r3, [r7, #32]
  1073. 255:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  1074. 750 .loc 1 255 38
  1075. 751 017c 0E23 movs r3, #14
  1076. 752 017e 7B62 str r3, [r7, #36]
  1077. 256:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  1078. 753 .loc 1 256 7
  1079. 754 0180 3B46 mov r3, r7
  1080. 755 0182 1946 mov r1, r3
  1081. 756 0184 3548 ldr r0, .L44
  1082. 757 0186 FFF7FEFF bl HAL_CAN_ConfigFilter
  1083. 758 018a 0346 mov r3, r0
  1084. 759 .loc 1 256 6
  1085. 760 018c 002B cmp r3, #0
  1086. 761 018e 01D0 beq .L39
  1087. 257:user_src/soft_can.c **** {
  1088. 258:user_src/soft_can.c **** Error_Handler();
  1089. 762 .loc 1 258 5
  1090. 763 0190 FFF7FEFF bl Error_Handler
  1091. 764 .L39:
  1092. 259:user_src/soft_can.c **** }
  1093. 260:user_src/soft_can.c ****
  1094. 261:user_src/soft_can.c **** //VK�讛悅���霈曉� 6
  1095. 262:user_src/soft_can.c **** sFilterConfig.FilterBank = 6;
  1096. 765 .loc 1 262 28
  1097. 766 0194 0623 movs r3, #6
  1098. 767 0196 7B61 str r3, [r7, #20]
  1099. 263:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  1100. 768 .loc 1 263 28
  1101. 769 0198 0023 movs r3, #0
  1102. 770 019a BB61 str r3, [r7, #24]
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 20
  1104. 264:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  1105. 771 .loc 1 264 29
  1106. 772 019c 0123 movs r3, #1
  1107. 773 019e FB61 str r3, [r7, #28]
  1108. 265:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (CAN_MC_FILTER_ID >> 13) & 0xffff;
  1109. 774 .loc 1 265 30
  1110. 775 01a0 4023 movs r3, #64
  1111. 776 01a2 3B60 str r3, [r7]
  1112. 266:user_src/soft_can.c **** sFilterConfig.FilterIdLow = ((CAN_MC_FILTER_ID << 3) & 0xffff) | CAN_ID_EXT;
  1113. 777 .loc 1 266 29
  1114. 778 01a4 48F20423 movw r3, #33284
  1115. 779 01a8 7B60 str r3, [r7, #4]
  1116. 267:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (CAN_MC_MASK_ID >> 13) & 0xffff;
  1117. 780 .loc 1 267 34
  1118. 781 01aa 4FF63F03 movw r3, #63551
  1119. 782 01ae BB60 str r3, [r7, #8]
  1120. 268:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = ((CAN_MC_MASK_ID << 3) & 0xffff) | CAN_ID_EXT;
  1121. 783 .loc 1 268 33
  1122. 784 01b0 4CF20403 movw r3, #49156
  1123. 785 01b4 FB60 str r3, [r7, #12]
  1124. 269:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  1125. 786 .loc 1 269 38
  1126. 787 01b6 0023 movs r3, #0
  1127. 788 01b8 3B61 str r3, [r7, #16]
  1128. 270:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  1129. 789 .loc 1 270 34
  1130. 790 01ba 0123 movs r3, #1
  1131. 791 01bc 3B62 str r3, [r7, #32]
  1132. 271:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  1133. 792 .loc 1 271 38
  1134. 793 01be 0E23 movs r3, #14
  1135. 794 01c0 7B62 str r3, [r7, #36]
  1136. 272:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  1137. 795 .loc 1 272 7
  1138. 796 01c2 3B46 mov r3, r7
  1139. 797 01c4 1946 mov r1, r3
  1140. 798 01c6 2548 ldr r0, .L44
  1141. 799 01c8 FFF7FEFF bl HAL_CAN_ConfigFilter
  1142. 800 01cc 0346 mov r3, r0
  1143. 801 .loc 1 272 6
  1144. 802 01ce 002B cmp r3, #0
  1145. 803 01d0 01D0 beq .L40
  1146. 273:user_src/soft_can.c **** {
  1147. 274:user_src/soft_can.c **** Error_Handler();
  1148. 804 .loc 1 274 5
  1149. 805 01d2 FFF7FEFF bl Error_Handler
  1150. 806 .L40:
  1151. 275:user_src/soft_can.c **** }
  1152. 276:user_src/soft_can.c ****
  1153. 277:user_src/soft_can.c **** //VK�箄��菜� 7
  1154. 278:user_src/soft_can.c **** sFilterConfig.FilterBank = 7;
  1155. 807 .loc 1 278 28
  1156. 808 01d6 0723 movs r3, #7
  1157. 809 01d8 7B61 str r3, [r7, #20]
  1158. 279:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  1159. 810 .loc 1 279 28
  1160. 811 01da 0023 movs r3, #0
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 21
  1162. 812 01dc BB61 str r3, [r7, #24]
  1163. 280:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  1164. 813 .loc 1 280 29
  1165. 814 01de 0123 movs r3, #1
  1166. 815 01e0 FB61 str r3, [r7, #28]
  1167. 281:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = (VK_BMS_FILTER_ID >> 13) & 0xffff;
  1168. 816 .loc 1 281 30
  1169. 817 01e2 7023 movs r3, #112
  1170. 818 01e4 3B60 str r3, [r7]
  1171. 282:user_src/soft_can.c **** sFilterConfig.FilterIdLow = (((uint32_t)VK_BMS_FILTER_ID << 3) & 0xffff) | CAN_ID_EXT;
  1172. 819 .loc 1 282 29
  1173. 820 01e6 44F20403 movw r3, #16388
  1174. 821 01ea 7B60 str r3, [r7, #4]
  1175. 283:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = (VK_BMS_MASK_ID >> 13) & 0xffff;
  1176. 822 .loc 1 283 34
  1177. 823 01ec 4EF27F03 movw r3, #57471
  1178. 824 01f0 BB60 str r3, [r7, #8]
  1179. 284:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = (((uint32_t)VK_BMS_MASK_ID << 3) & 0xffff) | CAN_ID_EXT;
  1180. 825 .loc 1 284 33
  1181. 826 01f2 4CF20403 movw r3, #49156
  1182. 827 01f6 FB60 str r3, [r7, #12]
  1183. 285:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  1184. 828 .loc 1 285 38
  1185. 829 01f8 0023 movs r3, #0
  1186. 830 01fa 3B61 str r3, [r7, #16]
  1187. 286:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  1188. 831 .loc 1 286 34
  1189. 832 01fc 0123 movs r3, #1
  1190. 833 01fe 3B62 str r3, [r7, #32]
  1191. 287:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  1192. 834 .loc 1 287 38
  1193. 835 0200 0E23 movs r3, #14
  1194. 836 0202 7B62 str r3, [r7, #36]
  1195. 288:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  1196. 837 .loc 1 288 7
  1197. 838 0204 3B46 mov r3, r7
  1198. 839 0206 1946 mov r1, r3
  1199. 840 0208 1448 ldr r0, .L44
  1200. 841 020a FFF7FEFF bl HAL_CAN_ConfigFilter
  1201. 842 020e 0346 mov r3, r0
  1202. 843 .loc 1 288 6
  1203. 844 0210 002B cmp r3, #0
  1204. 845 0212 01D0 beq .L41
  1205. 289:user_src/soft_can.c **** {
  1206. 290:user_src/soft_can.c **** Error_Handler();
  1207. 846 .loc 1 290 5
  1208. 847 0214 FFF7FEFF bl Error_Handler
  1209. 848 .L41:
  1210. 291:user_src/soft_can.c **** }
  1211. 292:user_src/soft_can.c ****
  1212. 293:user_src/soft_can.c **** //隞�銋㇆D�賣𦻖��
  1213. 294:user_src/soft_can.c **** sFilterConfig.FilterBank = 13;
  1214. 849 .loc 1 294 28
  1215. 850 0218 0D23 movs r3, #13
  1216. 851 021a 7B61 str r3, [r7, #20]
  1217. 295:user_src/soft_can.c **** sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
  1218. 852 .loc 1 295 28
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 22
  1220. 853 021c 0023 movs r3, #0
  1221. 854 021e BB61 str r3, [r7, #24]
  1222. 296:user_src/soft_can.c **** sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
  1223. 855 .loc 1 296 29
  1224. 856 0220 0123 movs r3, #1
  1225. 857 0222 FB61 str r3, [r7, #28]
  1226. 297:user_src/soft_can.c **** sFilterConfig.FilterIdHigh = 0;
  1227. 858 .loc 1 297 30
  1228. 859 0224 0023 movs r3, #0
  1229. 860 0226 3B60 str r3, [r7]
  1230. 298:user_src/soft_can.c **** sFilterConfig.FilterIdLow = 0;
  1231. 861 .loc 1 298 29
  1232. 862 0228 0023 movs r3, #0
  1233. 863 022a 7B60 str r3, [r7, #4]
  1234. 299:user_src/soft_can.c **** sFilterConfig.FilterMaskIdHigh = 0;
  1235. 864 .loc 1 299 34
  1236. 865 022c 0023 movs r3, #0
  1237. 866 022e BB60 str r3, [r7, #8]
  1238. 300:user_src/soft_can.c **** sFilterConfig.FilterMaskIdLow = 0;
  1239. 867 .loc 1 300 33
  1240. 868 0230 0023 movs r3, #0
  1241. 869 0232 FB60 str r3, [r7, #12]
  1242. 301:user_src/soft_can.c **** sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
  1243. 870 .loc 1 301 38
  1244. 871 0234 0023 movs r3, #0
  1245. 872 0236 3B61 str r3, [r7, #16]
  1246. 302:user_src/soft_can.c **** sFilterConfig.FilterActivation = ENABLE;
  1247. 873 .loc 1 302 34
  1248. 874 0238 0123 movs r3, #1
  1249. 875 023a 3B62 str r3, [r7, #32]
  1250. 303:user_src/soft_can.c **** sFilterConfig.SlaveStartFilterBank = 14;
  1251. 876 .loc 1 303 38
  1252. 877 023c 0E23 movs r3, #14
  1253. 878 023e 7B62 str r3, [r7, #36]
  1254. 304:user_src/soft_can.c **** if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
  1255. 879 .loc 1 304 7
  1256. 880 0240 3B46 mov r3, r7
  1257. 881 0242 1946 mov r1, r3
  1258. 882 0244 0548 ldr r0, .L44
  1259. 883 0246 FFF7FEFF bl HAL_CAN_ConfigFilter
  1260. 884 024a 0346 mov r3, r0
  1261. 885 .loc 1 304 6
  1262. 886 024c 002B cmp r3, #0
  1263. 887 024e 01D0 beq .L43
  1264. 305:user_src/soft_can.c **** {
  1265. 306:user_src/soft_can.c **** Error_Handler();
  1266. 888 .loc 1 306 5
  1267. 889 0250 FFF7FEFF bl Error_Handler
  1268. 890 .L43:
  1269. 307:user_src/soft_can.c **** }
  1270. 308:user_src/soft_can.c ****
  1271. 309:user_src/soft_can.c **** }
  1272. 891 .loc 1 309 1
  1273. 892 0254 00BF nop
  1274. 893 0256 2837 adds r7, r7, #40
  1275. 894 .LCFI9:
  1276. 895 .cfi_def_cfa_offset 8
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 23
  1278. 896 0258 BD46 mov sp, r7
  1279. 897 .LCFI10:
  1280. 898 .cfi_def_cfa_register 13
  1281. 899 @ sp needed
  1282. 900 025a 80BD pop {r7, pc}
  1283. 901 .L45:
  1284. 902 .align 2
  1285. 903 .L44:
  1286. 904 025c 00000000 .word hcan
  1287. 905 .cfi_endproc
  1288. 906 .LFE134:
  1289. 908 .section .text.HAL_CAN_RxFifo0MsgPendingCallback,"ax",%progbits
  1290. 909 .align 1
  1291. 910 .global HAL_CAN_RxFifo0MsgPendingCallback
  1292. 911 .syntax unified
  1293. 912 .thumb
  1294. 913 .thumb_func
  1295. 915 HAL_CAN_RxFifo0MsgPendingCallback:
  1296. 916 .LFB135:
  1297. 310:user_src/soft_can.c ****
  1298. 311:user_src/soft_can.c ****
  1299. 312:user_src/soft_can.c **** void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
  1300. 313:user_src/soft_can.c **** {
  1301. 917 .loc 1 313 1
  1302. 918 .cfi_startproc
  1303. 919 @ args = 0, pretend = 0, frame = 8
  1304. 920 @ frame_needed = 1, uses_anonymous_args = 0
  1305. 921 0000 90B5 push {r4, r7, lr}
  1306. 922 .LCFI11:
  1307. 923 .cfi_def_cfa_offset 12
  1308. 924 .cfi_offset 4, -12
  1309. 925 .cfi_offset 7, -8
  1310. 926 .cfi_offset 14, -4
  1311. 927 0002 87B0 sub sp, sp, #28
  1312. 928 .LCFI12:
  1313. 929 .cfi_def_cfa_offset 40
  1314. 930 0004 04AF add r7, sp, #16
  1315. 931 .LCFI13:
  1316. 932 .cfi_def_cfa 7, 24
  1317. 933 0006 7860 str r0, [r7, #4]
  1318. 314:user_src/soft_can.c **** if (__HAL_CAN_GET_FLAG(hcan, CAN_FLAG_FF0) != RESET)
  1319. 934 .loc 1 314 7
  1320. 935 0008 7B68 ldr r3, [r7, #4]
  1321. 936 000a 1B68 ldr r3, [r3]
  1322. 937 000c DB68 ldr r3, [r3, #12]
  1323. 938 000e 03F00803 and r3, r3, #8
  1324. 939 .loc 1 314 6
  1325. 940 0012 082B cmp r3, #8
  1326. 941 0014 04D1 bne .L47
  1327. 315:user_src/soft_can.c **** {
  1328. 316:user_src/soft_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FF0);
  1329. 942 .loc 1 316 5
  1330. 943 0016 7B68 ldr r3, [r7, #4]
  1331. 944 0018 1B68 ldr r3, [r3]
  1332. 945 001a 0822 movs r2, #8
  1333. 946 001c DA60 str r2, [r3, #12]
  1334. 947 001e 0AE0 b .L48
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 24
  1336. 948 .L47:
  1337. 317:user_src/soft_can.c **** }
  1338. 318:user_src/soft_can.c **** else if (__HAL_CAN_GET_FLAG(hcan, CAN_FLAG_FOV0) != RESET)
  1339. 949 .loc 1 318 12
  1340. 950 0020 7B68 ldr r3, [r7, #4]
  1341. 951 0022 1B68 ldr r3, [r3]
  1342. 952 0024 DB68 ldr r3, [r3, #12]
  1343. 953 0026 03F01003 and r3, r3, #16
  1344. 954 .loc 1 318 11
  1345. 955 002a 102B cmp r3, #16
  1346. 956 002c 03D1 bne .L48
  1347. 319:user_src/soft_can.c **** {
  1348. 320:user_src/soft_can.c **** __HAL_CAN_CLEAR_FLAG(hcan, CAN_FLAG_FOV0);
  1349. 957 .loc 1 320 5
  1350. 958 002e 7B68 ldr r3, [r7, #4]
  1351. 959 0030 1B68 ldr r3, [r3]
  1352. 960 0032 1022 movs r2, #16
  1353. 961 0034 DA60 str r2, [r3, #12]
  1354. 962 .L48:
  1355. 321:user_src/soft_can.c **** }
  1356. 322:user_src/soft_can.c **** if (HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RxData) != HAL_OK)
  1357. 963 .loc 1 322 7
  1358. 964 0036 A14B ldr r3, .L95
  1359. 965 0038 A14A ldr r2, .L95+4
  1360. 966 003a 0021 movs r1, #0
  1361. 967 003c 7868 ldr r0, [r7, #4]
  1362. 968 003e FFF7FEFF bl HAL_CAN_GetRxMessage
  1363. 969 0042 0346 mov r3, r0
  1364. 970 .loc 1 322 6
  1365. 971 0044 002B cmp r3, #0
  1366. 972 0046 01D0 beq .L49
  1367. 323:user_src/soft_can.c **** {
  1368. 324:user_src/soft_can.c **** Error_Handler();
  1369. 973 .loc 1 324 5
  1370. 974 0048 FFF7FEFF bl Error_Handler
  1371. 975 .L49:
  1372. 325:user_src/soft_can.c **** }
  1373. 326:user_src/soft_can.c ****
  1374. 327:user_src/soft_can.c **** //�思�瘥𥪜�����踴��遛��
  1375. 328:user_src/soft_can.c **** if (RxHeader.FilterMatchIndex == 0)
  1376. 976 .loc 1 328 15
  1377. 977 004c 9C4B ldr r3, .L95+4
  1378. 978 004e 9B69 ldr r3, [r3, #24]
  1379. 979 .loc 1 328 6
  1380. 980 0050 002B cmp r3, #0
  1381. 981 0052 23D1 bne .L50
  1382. 329:user_src/soft_can.c **** {
  1383. 330:user_src/soft_can.c **** switch (RxHeader.ExtId)
  1384. 982 .loc 1 330 21
  1385. 983 0054 9A4B ldr r3, .L95+4
  1386. 984 0056 5B68 ldr r3, [r3, #4]
  1387. 985 .loc 1 330 5
  1388. 986 0058 9A4A ldr r2, .L95+8
  1389. 987 005a 9342 cmp r3, r2
  1390. 988 005c 0CD0 beq .L51
  1391. 989 005e 994A ldr r2, .L95+8
  1392. 990 0060 9342 cmp r3, r2
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 25
  1394. 991 0062 11D8 bhi .L52
  1395. 992 0064 984A ldr r2, .L95+12
  1396. 993 0066 9342 cmp r3, r2
  1397. 994 0068 0AD0 beq .L53
  1398. 995 006a 984A ldr r2, .L95+16
  1399. 996 006c 9342 cmp r3, r2
  1400. 997 006e 0BD1 bne .L52
  1401. 331:user_src/soft_can.c **** {
  1402. 332:user_src/soft_can.c **** case CAN_OBSTACLE_1:
  1403. 333:user_src/soft_can.c **** can_recv_mocib_F_obstacle(RxData);
  1404. 998 .loc 1 333 7
  1405. 999 0070 9248 ldr r0, .L95
  1406. 1000 0072 FFF7FEFF bl can_recv_mocib_F_obstacle
  1407. 334:user_src/soft_can.c **** break;
  1408. 1001 .loc 1 334 7
  1409. 1002 0076 67E1 b .L55
  1410. 1003 .L51:
  1411. 335:user_src/soft_can.c **** case CAN_OBSTACLE_2:
  1412. 336:user_src/soft_can.c **** can_recv_mocib_B_obstacle(RxData);
  1413. 1004 .loc 1 336 7
  1414. 1005 0078 9048 ldr r0, .L95
  1415. 1006 007a FFF7FEFF bl can_recv_mocib_B_obstacle
  1416. 337:user_src/soft_can.c **** break;
  1417. 1007 .loc 1 337 7
  1418. 1008 007e 63E1 b .L55
  1419. 1009 .L53:
  1420. 338:user_src/soft_can.c **** case CAN_UAVH30_MSG:
  1421. 339:user_src/soft_can.c **** can_recv_mocib_terrain(RxData);
  1422. 1010 .loc 1 339 7
  1423. 1011 0080 8E48 ldr r0, .L95
  1424. 1012 0082 FFF7FEFF bl can_recv_mocib_terrain
  1425. 340:user_src/soft_can.c **** break;
  1426. 1013 .loc 1 340 7
  1427. 1014 0086 5FE1 b .L55
  1428. 1015 .L52:
  1429. 341:user_src/soft_can.c **** default:
  1430. 342:user_src/soft_can.c **** can_recv_mocib_version_info(RxHeader.ExtId, RxData, RxHeader.DLC);
  1431. 1016 .loc 1 342 7
  1432. 1017 0088 8D4B ldr r3, .L95+4
  1433. 1018 008a 5B68 ldr r3, [r3, #4]
  1434. 1019 .loc 1 342 67
  1435. 1020 008c 8C4A ldr r2, .L95+4
  1436. 1021 008e 1269 ldr r2, [r2, #16]
  1437. 1022 .loc 1 342 7
  1438. 1023 0090 D2B2 uxtb r2, r2
  1439. 1024 0092 8A49 ldr r1, .L95
  1440. 1025 0094 1846 mov r0, r3
  1441. 1026 0096 FFF7FEFF bl can_recv_mocib_version_info
  1442. 343:user_src/soft_can.c **** break;
  1443. 1027 .loc 1 343 7
  1444. 1028 009a 55E1 b .L55
  1445. 1029 .L50:
  1446. 344:user_src/soft_can.c **** }
  1447. 345:user_src/soft_can.c **** }
  1448. 346:user_src/soft_can.c ****
  1449. 347:user_src/soft_can.c **** //甇�䲮�菜�
  1450. 348:user_src/soft_can.c **** else if (RxHeader.FilterMatchIndex == 1)
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 26
  1452. 1030 .loc 1 348 20
  1453. 1031 009c 884B ldr r3, .L95+4
  1454. 1032 009e 9B69 ldr r3, [r3, #24]
  1455. 1033 .loc 1 348 11
  1456. 1034 00a0 012B cmp r3, #1
  1457. 1035 00a2 09D1 bne .L56
  1458. 349:user_src/soft_can.c **** {
  1459. 350:user_src/soft_can.c **** OkcellCanRecvHookFunction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1460. 1036 .loc 1 350 5
  1461. 1037 00a4 864B ldr r3, .L95+4
  1462. 1038 00a6 5B68 ldr r3, [r3, #4]
  1463. 1039 .loc 1 350 63
  1464. 1040 00a8 854A ldr r2, .L95+4
  1465. 1041 00aa 1269 ldr r2, [r2, #16]
  1466. 1042 .loc 1 350 5
  1467. 1043 00ac D2B2 uxtb r2, r2
  1468. 1044 00ae 8349 ldr r1, .L95
  1469. 1045 00b0 1846 mov r0, r3
  1470. 1046 00b2 FFF7FEFF bl OkcellCanRecvHookFunction
  1471. 1047 00b6 47E1 b .L55
  1472. 1048 .L56:
  1473. 351:user_src/soft_can.c **** }
  1474. 352:user_src/soft_can.c ****
  1475. 353:user_src/soft_can.c **** //�思�瘥娪𡺨颲曉�蝥� 霈曄蔭銝嗉粉�㚚𡺨颲曄��誩漲嚗𣬚��砌縑��
  1476. 354:user_src/soft_can.c **** else if (RxHeader.FilterMatchIndex == 2)
  1477. 1049 .loc 1 354 20
  1478. 1050 00b8 814B ldr r3, .L95+4
  1479. 1051 00ba 9B69 ldr r3, [r3, #24]
  1480. 1052 .loc 1 354 11
  1481. 1053 00bc 022B cmp r3, #2
  1482. 1054 00be 06D1 bne .L57
  1483. 355:user_src/soft_can.c **** {
  1484. 356:user_src/soft_can.c **** can_recv_mocib_updata_read_set_hookfunction(RxHeader.ExtId, RxData);
  1485. 1055 .loc 1 356 5
  1486. 1056 00c0 7F4B ldr r3, .L95+4
  1487. 1057 00c2 5B68 ldr r3, [r3, #4]
  1488. 1058 00c4 7D49 ldr r1, .L95
  1489. 1059 00c6 1846 mov r0, r3
  1490. 1060 00c8 FFF7FEFF bl can_recv_mocib_updata_read_set_hookfunction
  1491. 1061 00cc 3CE1 b .L55
  1492. 1062 .L57:
  1493. 357:user_src/soft_can.c **** }
  1494. 358:user_src/soft_can.c ****
  1495. 359:user_src/soft_can.c **** //瘚瑞��箄��菜�
  1496. 360:user_src/soft_can.c **** else if(RxHeader.FilterMatchIndex == 4)
  1497. 1063 .loc 1 360 19
  1498. 1064 00ce 7C4B ldr r3, .L95+4
  1499. 1065 00d0 9B69 ldr r3, [r3, #24]
  1500. 1066 .loc 1 360 10
  1501. 1067 00d2 042B cmp r3, #4
  1502. 1068 00d4 09D1 bne .L58
  1503. 361:user_src/soft_can.c **** {
  1504. 362:user_src/soft_can.c **** HerewinCanRecvHookFunction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1505. 1069 .loc 1 362 5
  1506. 1070 00d6 7A4B ldr r3, .L95+4
  1507. 1071 00d8 5B68 ldr r3, [r3, #4]
  1508. 1072 .loc 1 362 64
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 27
  1510. 1073 00da 794A ldr r2, .L95+4
  1511. 1074 00dc 1269 ldr r2, [r2, #16]
  1512. 1075 .loc 1 362 5
  1513. 1076 00de D2B2 uxtb r2, r2
  1514. 1077 00e0 7649 ldr r1, .L95
  1515. 1078 00e2 1846 mov r0, r3
  1516. 1079 00e4 FFF7FEFF bl HerewinCanRecvHookFunction
  1517. 1080 00e8 2EE1 b .L55
  1518. 1081 .L58:
  1519. 363:user_src/soft_can.c **** }
  1520. 364:user_src/soft_can.c ****
  1521. 365:user_src/soft_can.c **** //EFT
  1522. 366:user_src/soft_can.c **** else if (RxHeader.FilterMatchIndex == 5)
  1523. 1082 .loc 1 366 20
  1524. 1083 00ea 754B ldr r3, .L95+4
  1525. 1084 00ec 9B69 ldr r3, [r3, #24]
  1526. 1085 .loc 1 366 11
  1527. 1086 00ee 052B cmp r3, #5
  1528. 1087 00f0 09D1 bne .L59
  1529. 367:user_src/soft_can.c **** {
  1530. 368:user_src/soft_can.c **** EftCanRecvHookFunction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1531. 1088 .loc 1 368 5
  1532. 1089 00f2 734B ldr r3, .L95+4
  1533. 1090 00f4 5B68 ldr r3, [r3, #4]
  1534. 1091 .loc 1 368 60
  1535. 1092 00f6 724A ldr r2, .L95+4
  1536. 1093 00f8 1269 ldr r2, [r2, #16]
  1537. 1094 .loc 1 368 5
  1538. 1095 00fa D2B2 uxtb r2, r2
  1539. 1096 00fc 6F49 ldr r1, .L95
  1540. 1097 00fe 1846 mov r0, r3
  1541. 1098 0100 FFF7FEFF bl EftCanRecvHookFunction
  1542. 1099 0104 20E1 b .L55
  1543. 1100 .L59:
  1544. 369:user_src/soft_can.c **** }
  1545. 370:user_src/soft_can.c ****
  1546. 371:user_src/soft_can.c **** //VK�讛悅霈曉�
  1547. 372:user_src/soft_can.c **** else if (RxHeader.FilterMatchIndex == 6)
  1548. 1101 .loc 1 372 20
  1549. 1102 0106 6E4B ldr r3, .L95+4
  1550. 1103 0108 9B69 ldr r3, [r3, #24]
  1551. 1104 .loc 1 372 11
  1552. 1105 010a 062B cmp r3, #6
  1553. 1106 010c 40F00281 bne .L60
  1554. 373:user_src/soft_can.c **** {
  1555. 374:user_src/soft_can.c **** if(RxHeader.ExtId == 0x166C || RxHeader.ExtId == 0x166D || RxHeader.ExtId == 0x166E)
  1556. 1107 .loc 1 374 16
  1557. 1108 0110 6B4B ldr r3, .L95+4
  1558. 1109 0112 5B68 ldr r3, [r3, #4]
  1559. 1110 .loc 1 374 7
  1560. 1111 0114 41F26C62 movw r2, #5740
  1561. 1112 0118 9342 cmp r3, r2
  1562. 1113 011a 0BD0 beq .L61
  1563. 1114 .loc 1 374 44 discriminator 1
  1564. 1115 011c 684B ldr r3, .L95+4
  1565. 1116 011e 5B68 ldr r3, [r3, #4]
  1566. 1117 .loc 1 374 33 discriminator 1
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 28
  1568. 1118 0120 41F26D62 movw r2, #5741
  1569. 1119 0124 9342 cmp r3, r2
  1570. 1120 0126 05D0 beq .L61
  1571. 1121 .loc 1 374 72 discriminator 2
  1572. 1122 0128 654B ldr r3, .L95+4
  1573. 1123 012a 5B68 ldr r3, [r3, #4]
  1574. 1124 .loc 1 374 61 discriminator 2
  1575. 1125 012c 41F26E62 movw r2, #5742
  1576. 1126 0130 9342 cmp r3, r2
  1577. 1127 0132 08D1 bne .L62
  1578. 1128 .L61:
  1579. 375:user_src/soft_can.c **** {
  1580. 376:user_src/soft_can.c **** QxBmsCanRecvHookFunction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1581. 1129 .loc 1 376 7
  1582. 1130 0134 624B ldr r3, .L95+4
  1583. 1131 0136 5B68 ldr r3, [r3, #4]
  1584. 1132 .loc 1 376 64
  1585. 1133 0138 614A ldr r2, .L95+4
  1586. 1134 013a 1269 ldr r2, [r2, #16]
  1587. 1135 .loc 1 376 7
  1588. 1136 013c D2B2 uxtb r2, r2
  1589. 1137 013e 5F49 ldr r1, .L95
  1590. 1138 0140 1846 mov r0, r3
  1591. 1139 0142 FFF7FEFF bl QxBmsCanRecvHookFunction
  1592. 1140 .L62:
  1593. 377:user_src/soft_can.c **** }
  1594. 378:user_src/soft_can.c ****
  1595. 379:user_src/soft_can.c **** switch (((RxHeader.ExtId) & SRC_ID_MASK) >> 5)
  1596. 1141 .loc 1 379 23
  1597. 1142 0146 5E4B ldr r3, .L95+4
  1598. 1143 0148 5B68 ldr r3, [r3, #4]
  1599. 1144 .loc 1 379 46
  1600. 1145 014a 5B09 lsrs r3, r3, #5
  1601. 1146 014c 03F07F03 and r3, r3, #127
  1602. 1147 .loc 1 379 5
  1603. 1148 0150 153B subs r3, r3, #21
  1604. 1149 0152 0C2B cmp r3, #12
  1605. 1150 0154 00F2F780 bhi .L90
  1606. 1151 0158 01A2 adr r2, .L65
  1607. 1152 015a 52F823F0 ldr pc, [r2, r3, lsl #2]
  1608. 1153 015e 00BF .p2align 2
  1609. 1154 .L65:
  1610. 1155 0160 95010000 .word .L70+1
  1611. 1156 0164 A9010000 .word .L69+1
  1612. 1157 0168 47030000 .word .L90+1
  1613. 1158 016c 79020000 .word .L68+1
  1614. 1159 0170 BD010000 .word .L67+1
  1615. 1160 0174 47030000 .word .L90+1
  1616. 1161 0178 47030000 .word .L90+1
  1617. 1162 017c 47030000 .word .L90+1
  1618. 1163 0180 47030000 .word .L90+1
  1619. 1164 0184 47030000 .word .L90+1
  1620. 1165 0188 47030000 .word .L90+1
  1621. 1166 018c D1010000 .word .L66+1
  1622. 1167 0190 65020000 .word .L64+1
  1623. 1168 .p2align 1
  1624. 1169 .L70:
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 29
  1626. 380:user_src/soft_can.c **** {
  1627. 381:user_src/soft_can.c **** //瘨脖�霈�
  1628. 382:user_src/soft_can.c **** case CAN_NODEID_LIQUED:
  1629. 383:user_src/soft_can.c **** liquid_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1630. 1170 .loc 1 383 7
  1631. 1171 0194 4A4B ldr r3, .L95+4
  1632. 1172 0196 5B68 ldr r3, [r3, #4]
  1633. 1173 .loc 1 383 67
  1634. 1174 0198 494A ldr r2, .L95+4
  1635. 1175 019a 1269 ldr r2, [r2, #16]
  1636. 1176 .loc 1 383 7
  1637. 1177 019c D2B2 uxtb r2, r2
  1638. 1178 019e 4749 ldr r1, .L95
  1639. 1179 01a0 1846 mov r0, r3
  1640. 1180 01a2 FFF7FEFF bl liquid_recieved_hookfuction
  1641. 384:user_src/soft_can.c **** break;
  1642. 1181 .loc 1 384 7
  1643. 1182 01a6 CFE0 b .L55
  1644. 1183 .L69:
  1645. 385:user_src/soft_can.c **** case CAN_NODEID_FLOW:
  1646. 386:user_src/soft_can.c **** Flow_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1647. 1184 .loc 1 386 7
  1648. 1185 01a8 454B ldr r3, .L95+4
  1649. 1186 01aa 5B68 ldr r3, [r3, #4]
  1650. 1187 .loc 1 386 65
  1651. 1188 01ac 444A ldr r2, .L95+4
  1652. 1189 01ae 1269 ldr r2, [r2, #16]
  1653. 1190 .loc 1 386 7
  1654. 1191 01b0 D2B2 uxtb r2, r2
  1655. 1192 01b2 4249 ldr r1, .L95
  1656. 1193 01b4 1846 mov r0, r3
  1657. 1194 01b6 FFF7FEFF bl Flow_recieved_hookfuction
  1658. 387:user_src/soft_can.c **** break;
  1659. 1195 .loc 1 387 7
  1660. 1196 01ba C5E0 b .L55
  1661. 1197 .L67:
  1662. 388:user_src/soft_can.c **** //蝘圈�隡䭾��具��偘�鍦膥
  1663. 389:user_src/soft_can.c **** case CAN_NODEID_WEIGHT:
  1664. 390:user_src/soft_can.c **** Weight_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1665. 1198 .loc 1 390 7
  1666. 1199 01bc 404B ldr r3, .L95+4
  1667. 1200 01be 5B68 ldr r3, [r3, #4]
  1668. 1201 .loc 1 390 67
  1669. 1202 01c0 3F4A ldr r2, .L95+4
  1670. 1203 01c2 1269 ldr r2, [r2, #16]
  1671. 1204 .loc 1 390 7
  1672. 1205 01c4 D2B2 uxtb r2, r2
  1673. 1206 01c6 3D49 ldr r1, .L95
  1674. 1207 01c8 1846 mov r0, r3
  1675. 1208 01ca FFF7FEFF bl Weight_recieved_hookfuction
  1676. 391:user_src/soft_can.c **** break;
  1677. 1209 .loc 1 391 7
  1678. 1210 01ce BBE0 b .L55
  1679. 1211 .L66:
  1680. 392:user_src/soft_can.c **** //VK霈曉���漣
  1681. 393:user_src/soft_can.c **** case CAN_NODEID_RADAR_UPDATE://14
  1682. 394:user_src/soft_can.c **** switch (((RxHeader.ExtId) & MSG_ID_MASK) >> 19)
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 30
  1684. 1212 .loc 1 394 27
  1685. 1213 01d0 3B4B ldr r3, .L95+4
  1686. 1214 01d2 5B68 ldr r3, [r3, #4]
  1687. 1215 .loc 1 394 50
  1688. 1216 01d4 DB0C lsrs r3, r3, #19
  1689. 1217 01d6 03F07F03 and r3, r3, #127
  1690. 1218 01da 092B cmp r3, #9
  1691. 1219 01dc 37D0 beq .L72
  1692. 1220 01de 092B cmp r3, #9
  1693. 1221 01e0 3AD8 bhi .L91
  1694. 1222 01e2 072B cmp r3, #7
  1695. 1223 01e4 02D0 beq .L74
  1696. 1224 01e6 082B cmp r3, #8
  1697. 1225 01e8 15D0 beq .L75
  1698. 395:user_src/soft_can.c **** {
  1699. 396:user_src/soft_can.c **** case CAN_MSGID_RADAR_START:
  1700. 397:user_src/soft_can.c **** if((RxHeader.ExtId & 0x3) == 1)//381401
  1701. 398:user_src/soft_can.c **** {
  1702. 399:user_src/soft_can.c **** uart_info.step_200_flag = true;
  1703. 400:user_src/soft_can.c **** }
  1704. 401:user_src/soft_can.c **** else if((RxHeader.ExtId & 0x3) == 2) //381402
  1705. 402:user_src/soft_can.c **** {
  1706. 403:user_src/soft_can.c **** Update_Dev_Bootversion_Function(RxData);
  1707. 404:user_src/soft_can.c **** }
  1708. 405:user_src/soft_can.c **** break;
  1709. 406:user_src/soft_can.c **** case CAN_MSGID_RADAR_ING:
  1710. 407:user_src/soft_can.c **** if(uart_info.vk_dev_pack_num == (RxData[1] + RxData[2] * 256))
  1711. 408:user_src/soft_can.c **** {
  1712. 409:user_src/soft_can.c **** uart_info.vk_dev_pack_num++;
  1713. 410:user_src/soft_can.c **** uart_info.step_201_flag = true;
  1714. 411:user_src/soft_can.c **** }
  1715. 412:user_src/soft_can.c **** break;
  1716. 413:user_src/soft_can.c **** case CAN_MSGID_RADAR_END:
  1717. 414:user_src/soft_can.c **** uart_info.step_202_flag = true;
  1718. 415:user_src/soft_can.c **** break;
  1719. 416:user_src/soft_can.c **** default:
  1720. 417:user_src/soft_can.c **** break;
  1721. 1226 .loc 1 417 11
  1722. 1227 01ea 35E0 b .L91
  1723. 1228 .L74:
  1724. 397:user_src/soft_can.c **** {
  1725. 1229 .loc 1 397 23
  1726. 1230 01ec 344B ldr r3, .L95+4
  1727. 1231 01ee 5B68 ldr r3, [r3, #4]
  1728. 397:user_src/soft_can.c **** {
  1729. 1232 .loc 1 397 30
  1730. 1233 01f0 03F00303 and r3, r3, #3
  1731. 397:user_src/soft_can.c **** {
  1732. 1234 .loc 1 397 13
  1733. 1235 01f4 012B cmp r3, #1
  1734. 1236 01f6 04D1 bne .L76
  1735. 399:user_src/soft_can.c **** }
  1736. 1237 .loc 1 399 37
  1737. 1238 01f8 354B ldr r3, .L95+20
  1738. 1239 01fa 0122 movs r2, #1
  1739. 1240 01fc 83F82421 strb r2, [r3, #292]
  1740. 405:user_src/soft_can.c **** case CAN_MSGID_RADAR_ING:
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 31
  1742. 1241 .loc 1 405 11
  1743. 1242 0200 2CE0 b .L92
  1744. 1243 .L76:
  1745. 401:user_src/soft_can.c **** {
  1746. 1244 .loc 1 401 28
  1747. 1245 0202 2F4B ldr r3, .L95+4
  1748. 1246 0204 5B68 ldr r3, [r3, #4]
  1749. 401:user_src/soft_can.c **** {
  1750. 1247 .loc 1 401 35
  1751. 1248 0206 03F00303 and r3, r3, #3
  1752. 401:user_src/soft_can.c **** {
  1753. 1249 .loc 1 401 18
  1754. 1250 020a 022B cmp r3, #2
  1755. 1251 020c 26D1 bne .L92
  1756. 403:user_src/soft_can.c **** }
  1757. 1252 .loc 1 403 13
  1758. 1253 020e 2B48 ldr r0, .L95
  1759. 1254 0210 FFF7FEFF bl Update_Dev_Bootversion_Function
  1760. 405:user_src/soft_can.c **** case CAN_MSGID_RADAR_ING:
  1761. 1255 .loc 1 405 11
  1762. 1256 0214 22E0 b .L92
  1763. 1257 .L75:
  1764. 407:user_src/soft_can.c **** {
  1765. 1258 .loc 1 407 23
  1766. 1259 0216 2E4B ldr r3, .L95+20
  1767. 1260 0218 B3F81E31 ldrh r3, [r3, #286] @ unaligned
  1768. 1261 021c 9BB2 uxth r3, r3
  1769. 1262 021e 1A46 mov r2, r3
  1770. 407:user_src/soft_can.c **** {
  1771. 1263 .loc 1 407 50
  1772. 1264 0220 264B ldr r3, .L95
  1773. 1265 0222 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  1774. 1266 0224 1946 mov r1, r3
  1775. 407:user_src/soft_can.c **** {
  1776. 1267 .loc 1 407 62
  1777. 1268 0226 254B ldr r3, .L95
  1778. 1269 0228 9B78 ldrb r3, [r3, #2] @ zero_extendqisi2
  1779. 407:user_src/soft_can.c **** {
  1780. 1270 .loc 1 407 66
  1781. 1271 022a 1B02 lsls r3, r3, #8
  1782. 407:user_src/soft_can.c **** {
  1783. 1272 .loc 1 407 54
  1784. 1273 022c 0B44 add r3, r3, r1
  1785. 407:user_src/soft_can.c **** {
  1786. 1274 .loc 1 407 13
  1787. 1275 022e 9A42 cmp r2, r3
  1788. 1276 0230 16D1 bne .L93
  1789. 409:user_src/soft_can.c **** uart_info.step_201_flag = true;
  1790. 1277 .loc 1 409 22
  1791. 1278 0232 274B ldr r3, .L95+20
  1792. 1279 0234 B3F81E31 ldrh r3, [r3, #286] @ unaligned
  1793. 1280 0238 9BB2 uxth r3, r3
  1794. 409:user_src/soft_can.c **** uart_info.step_201_flag = true;
  1795. 1281 .loc 1 409 38
  1796. 1282 023a 0133 adds r3, r3, #1
  1797. 1283 023c 9AB2 uxth r2, r3
  1798. 1284 023e 244B ldr r3, .L95+20
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 32
  1800. 1285 0240 A3F81E21 strh r2, [r3, #286] @ unaligned
  1801. 410:user_src/soft_can.c **** }
  1802. 1286 .loc 1 410 37
  1803. 1287 0244 224B ldr r3, .L95+20
  1804. 1288 0246 0122 movs r2, #1
  1805. 1289 0248 83F82521 strb r2, [r3, #293]
  1806. 412:user_src/soft_can.c **** case CAN_MSGID_RADAR_END:
  1807. 1290 .loc 1 412 11
  1808. 1291 024c 08E0 b .L93
  1809. 1292 .L72:
  1810. 414:user_src/soft_can.c **** break;
  1811. 1293 .loc 1 414 35
  1812. 1294 024e 204B ldr r3, .L95+20
  1813. 1295 0250 0122 movs r2, #1
  1814. 1296 0252 83F82621 strb r2, [r3, #294]
  1815. 415:user_src/soft_can.c **** default:
  1816. 1297 .loc 1 415 11
  1817. 1298 0256 04E0 b .L78
  1818. 1299 .L91:
  1819. 1300 .loc 1 417 11
  1820. 1301 0258 00BF nop
  1821. 1302 025a 75E0 b .L55
  1822. 1303 .L92:
  1823. 405:user_src/soft_can.c **** case CAN_MSGID_RADAR_ING:
  1824. 1304 .loc 1 405 11
  1825. 1305 025c 00BF nop
  1826. 1306 025e 73E0 b .L55
  1827. 1307 .L93:
  1828. 412:user_src/soft_can.c **** case CAN_MSGID_RADAR_END:
  1829. 1308 .loc 1 412 11
  1830. 1309 0260 00BF nop
  1831. 1310 .L78:
  1832. 418:user_src/soft_can.c **** }
  1833. 419:user_src/soft_can.c **** break;
  1834. 1311 .loc 1 419 9
  1835. 1312 0262 71E0 b .L55
  1836. 1313 .L64:
  1837. 420:user_src/soft_can.c **** case CAN_NODEID_DISTRIBUTOR:
  1838. 421:user_src/soft_can.c **** distributor_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1839. 1314 .loc 1 421 9
  1840. 1315 0264 164B ldr r3, .L95+4
  1841. 1316 0266 5B68 ldr r3, [r3, #4]
  1842. 1317 .loc 1 421 74
  1843. 1318 0268 154A ldr r2, .L95+4
  1844. 1319 026a 1269 ldr r2, [r2, #16]
  1845. 1320 .loc 1 421 9
  1846. 1321 026c D2B2 uxtb r2, r2
  1847. 1322 026e 1349 ldr r1, .L95
  1848. 1323 0270 1846 mov r0, r3
  1849. 1324 0272 FFF7FEFF bl distributor_recieved_hookfuction
  1850. 422:user_src/soft_can.c **** break;
  1851. 1325 .loc 1 422 9
  1852. 1326 0276 67E0 b .L55
  1853. 1327 .L68:
  1854. 423:user_src/soft_can.c **** case CAN_NODEID_LASER:
  1855. 424:user_src/soft_can.c **** switch (((RxHeader.ExtId) & MSG_ID_MASK) >> 19)
  1856. 1328 .loc 1 424 27
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 33
  1858. 1329 0278 114B ldr r3, .L95+4
  1859. 1330 027a 5B68 ldr r3, [r3, #4]
  1860. 1331 .loc 1 424 50
  1861. 1332 027c DB0C lsrs r3, r3, #19
  1862. 1333 027e 03F07F03 and r3, r3, #127
  1863. 1334 0282 123B subs r3, r3, #18
  1864. 1335 0284 052B cmp r3, #5
  1865. 1336 0286 43D8 bhi .L94
  1866. 1337 0288 01A2 adr r2, .L82
  1867. 1338 028a 52F823F0 ldr pc, [r2, r3, lsl #2]
  1868. 1339 028e 00BF .p2align 2
  1869. 1340 .L82:
  1870. 1341 0290 A9020000 .word .L85+1
  1871. 1342 0294 D5020000 .word .L84+1
  1872. 1343 0298 E9020000 .word .L83+1
  1873. 1344 029c E9020000 .word .L83+1
  1874. 1345 02a0 FD020000 .word .L81+1
  1875. 1346 02a4 FD020000 .word .L81+1
  1876. 1347 .p2align 1
  1877. 1348 .L85:
  1878. 425:user_src/soft_can.c **** {
  1879. 426:user_src/soft_can.c **** case CAN_MSGID_RADAR_INFO:
  1880. 427:user_src/soft_can.c **** DM_terrain_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1881. 1349 .loc 1 427 11
  1882. 1350 02a8 054B ldr r3, .L95+4
  1883. 1351 02aa 5B68 ldr r3, [r3, #4]
  1884. 1352 .loc 1 427 75
  1885. 1353 02ac 044A ldr r2, .L95+4
  1886. 1354 02ae 1269 ldr r2, [r2, #16]
  1887. 1355 .loc 1 427 11
  1888. 1356 02b0 D2B2 uxtb r2, r2
  1889. 1357 02b2 0249 ldr r1, .L95
  1890. 1358 02b4 1846 mov r0, r3
  1891. 1359 02b6 FFF7FEFF bl DM_terrain_recieved_hookfuction
  1892. 428:user_src/soft_can.c **** break;
  1893. 1360 .loc 1 428 11
  1894. 1361 02ba 2AE0 b .L86
  1895. 1362 .L96:
  1896. 1363 .align 2
  1897. 1364 .L95:
  1898. 1365 02bc 00000000 .word RxData
  1899. 1366 02c0 00000000 .word RxHeader
  1900. 1367 02c4 12FF0E00 .word 982802
  1901. 1368 02c8 0BFF0E00 .word 982795
  1902. 1369 02cc 11FF0E00 .word 982801
  1903. 1370 02d0 00000000 .word uart_info
  1904. 1371 .L84:
  1905. 429:user_src/soft_can.c **** case CAN_MSGID_RADAR_VERSION_INFO:
  1906. 430:user_src/soft_can.c **** DM_terrain_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1907. 1372 .loc 1 430 11
  1908. 1373 02d4 2D4B ldr r3, .L97
  1909. 1374 02d6 5B68 ldr r3, [r3, #4]
  1910. 1375 .loc 1 430 75
  1911. 1376 02d8 2C4A ldr r2, .L97
  1912. 1377 02da 1269 ldr r2, [r2, #16]
  1913. 1378 .loc 1 430 11
  1914. 1379 02dc D2B2 uxtb r2, r2
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 34
  1916. 1380 02de 2C49 ldr r1, .L97+4
  1917. 1381 02e0 1846 mov r0, r3
  1918. 1382 02e2 FFF7FEFF bl DM_terrain_recieved_hookfuction
  1919. 431:user_src/soft_can.c **** break;
  1920. 1383 .loc 1 431 11
  1921. 1384 02e6 14E0 b .L86
  1922. 1385 .L83:
  1923. 432:user_src/soft_can.c **** case CAN_MSGID_FRADAR_INFO ... CAN_MSGID_FRADAR_VERSION_INFO:
  1924. 433:user_src/soft_can.c **** DM_Fobs_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1925. 1386 .loc 1 433 11
  1926. 1387 02e8 284B ldr r3, .L97
  1927. 1388 02ea 5B68 ldr r3, [r3, #4]
  1928. 1389 .loc 1 433 72
  1929. 1390 02ec 274A ldr r2, .L97
  1930. 1391 02ee 1269 ldr r2, [r2, #16]
  1931. 1392 .loc 1 433 11
  1932. 1393 02f0 D2B2 uxtb r2, r2
  1933. 1394 02f2 2749 ldr r1, .L97+4
  1934. 1395 02f4 1846 mov r0, r3
  1935. 1396 02f6 FFF7FEFF bl DM_Fobs_recieved_hookfuction
  1936. 434:user_src/soft_can.c **** break;
  1937. 1397 .loc 1 434 11
  1938. 1398 02fa 0AE0 b .L86
  1939. 1399 .L81:
  1940. 435:user_src/soft_can.c **** case CAN_MSGID_BRADAR_INFO ... CAN_MSGID_BRADAR_VERSION_INFO:
  1941. 436:user_src/soft_can.c **** DM_Bobs_recieved_hookfuction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1942. 1400 .loc 1 436 11
  1943. 1401 02fc 234B ldr r3, .L97
  1944. 1402 02fe 5B68 ldr r3, [r3, #4]
  1945. 1403 .loc 1 436 72
  1946. 1404 0300 224A ldr r2, .L97
  1947. 1405 0302 1269 ldr r2, [r2, #16]
  1948. 1406 .loc 1 436 11
  1949. 1407 0304 D2B2 uxtb r2, r2
  1950. 1408 0306 2249 ldr r1, .L97+4
  1951. 1409 0308 1846 mov r0, r3
  1952. 1410 030a FFF7FEFF bl DM_Bobs_recieved_hookfuction
  1953. 437:user_src/soft_can.c **** break;
  1954. 1411 .loc 1 437 11
  1955. 1412 030e 00E0 b .L86
  1956. 1413 .L94:
  1957. 438:user_src/soft_can.c **** default:
  1958. 439:user_src/soft_can.c **** break;
  1959. 1414 .loc 1 439 11
  1960. 1415 0310 00BF nop
  1961. 1416 .L86:
  1962. 440:user_src/soft_can.c **** }
  1963. 441:user_src/soft_can.c **** break;
  1964. 1417 .loc 1 441 9
  1965. 1418 0312 19E0 b .L55
  1966. 1419 .L60:
  1967. 442:user_src/soft_can.c **** default:
  1968. 443:user_src/soft_can.c **** break;
  1969. 444:user_src/soft_can.c **** }
  1970. 445:user_src/soft_can.c **** }
  1971. 446:user_src/soft_can.c ****
  1972. 447:user_src/soft_can.c **** //VK�菜�
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 35
  1974. 448:user_src/soft_can.c **** else if(RxHeader.FilterMatchIndex == 7)
  1975. 1420 .loc 1 448 19
  1976. 1421 0314 1D4B ldr r3, .L97
  1977. 1422 0316 9B69 ldr r3, [r3, #24]
  1978. 1423 .loc 1 448 10
  1979. 1424 0318 072B cmp r3, #7
  1980. 1425 031a 09D1 bne .L87
  1981. 449:user_src/soft_can.c **** {
  1982. 450:user_src/soft_can.c **** BMSCanRecvHookFunction(RxHeader.ExtId, RxData, RxHeader.DLC);
  1983. 1426 .loc 1 450 5
  1984. 1427 031c 1B4B ldr r3, .L97
  1985. 1428 031e 5B68 ldr r3, [r3, #4]
  1986. 1429 .loc 1 450 60
  1987. 1430 0320 1A4A ldr r2, .L97
  1988. 1431 0322 1269 ldr r2, [r2, #16]
  1989. 1432 .loc 1 450 5
  1990. 1433 0324 D2B2 uxtb r2, r2
  1991. 1434 0326 1A49 ldr r1, .L97+4
  1992. 1435 0328 1846 mov r0, r3
  1993. 1436 032a FFF7FEFF bl BMSCanRecvHookFunction
  1994. 1437 032e 0BE0 b .L55
  1995. 1438 .L87:
  1996. 451:user_src/soft_can.c **** }
  1997. 452:user_src/soft_can.c ****
  1998. 453:user_src/soft_can.c **** //�嗡�銝滩�皛儿D
  1999. 454:user_src/soft_can.c **** else
  2000. 455:user_src/soft_can.c **** {
  2001. 456:user_src/soft_can.c **** Can_decode_data_function(RxHeader);
  2002. 1439 .loc 1 456 5
  2003. 1440 0330 164B ldr r3, .L97
  2004. 1441 0332 6C46 mov r4, sp
  2005. 1442 0334 03F11002 add r2, r3, #16
  2006. 1443 0338 07CA ldm r2, {r0, r1, r2}
  2007. 1444 033a 84E80700 stm r4, {r0, r1, r2}
  2008. 1445 033e 0FCB ldm r3, {r0, r1, r2, r3}
  2009. 1446 0340 FFF7FEFF bl Can_decode_data_function
  2010. 1447 0344 00E0 b .L55
  2011. 1448 .L90:
  2012. 443:user_src/soft_can.c **** }
  2013. 1449 .loc 1 443 7
  2014. 1450 0346 00BF nop
  2015. 1451 .L55:
  2016. 457:user_src/soft_can.c **** }
  2017. 458:user_src/soft_can.c ****
  2018. 459:user_src/soft_can.c **** if(planep.Candebug_flag == true || HAL_GetTick() < 10000)
  2019. 1452 .loc 1 459 12
  2020. 1453 0348 124B ldr r3, .L97+8
  2021. 1454 034a B3F91430 ldrsh r3, [r3, #20] @ unaligned
  2022. 1455 034e 1BB2 sxth r3, r3
  2023. 1456 .loc 1 459 5
  2024. 1457 0350 012B cmp r3, #1
  2025. 1458 0352 06D0 beq .L88
  2026. 1459 .loc 1 459 38 discriminator 1
  2027. 1460 0354 FFF7FEFF bl HAL_GetTick
  2028. 1461 0358 0346 mov r3, r0
  2029. 1462 .loc 1 459 35 discriminator 1
  2030. 1463 035a 42F20F72 movw r2, #9999
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 36
  2032. 1464 035e 9342 cmp r3, r2
  2033. 1465 0360 0BD8 bhi .L89
  2034. 1466 .L88:
  2035. 460:user_src/soft_can.c **** put_candata_to_rkfifo_rx(RxHeader, RxData);
  2036. 1467 .loc 1 460 5
  2037. 1468 0362 0A4B ldr r3, .L97
  2038. 1469 0364 0A4A ldr r2, .L97+4
  2039. 1470 0366 0392 str r2, [sp, #12]
  2040. 1471 0368 6C46 mov r4, sp
  2041. 1472 036a 03F11002 add r2, r3, #16
  2042. 1473 036e 07CA ldm r2, {r0, r1, r2}
  2043. 1474 0370 84E80700 stm r4, {r0, r1, r2}
  2044. 1475 0374 0FCB ldm r3, {r0, r1, r2, r3}
  2045. 1476 0376 FFF7FEFF bl put_candata_to_rkfifo_rx
  2046. 1477 .L89:
  2047. 461:user_src/soft_can.c ****
  2048. 462:user_src/soft_can.c ****
  2049. 463:user_src/soft_can.c **** //�齿鰵�枏��交𤣰銝剜鱏
  2050. 464:user_src/soft_can.c **** HAL_CAN_ActivateNotification(hcan, CAN_IT_RX_FIFO0_MSG_PENDING);
  2051. 1478 .loc 1 464 3
  2052. 1479 037a 0221 movs r1, #2
  2053. 1480 037c 7868 ldr r0, [r7, #4]
  2054. 1481 037e FFF7FEFF bl HAL_CAN_ActivateNotification
  2055. 465:user_src/soft_can.c **** }
  2056. 1482 .loc 1 465 1
  2057. 1483 0382 00BF nop
  2058. 1484 0384 0C37 adds r7, r7, #12
  2059. 1485 .LCFI14:
  2060. 1486 .cfi_def_cfa_offset 12
  2061. 1487 0386 BD46 mov sp, r7
  2062. 1488 .LCFI15:
  2063. 1489 .cfi_def_cfa_register 13
  2064. 1490 @ sp needed
  2065. 1491 0388 90BD pop {r4, r7, pc}
  2066. 1492 .L98:
  2067. 1493 038a 00BF .align 2
  2068. 1494 .L97:
  2069. 1495 038c 00000000 .word RxHeader
  2070. 1496 0390 00000000 .word RxData
  2071. 1497 0394 00000000 .word planep
  2072. 1498 .cfi_endproc
  2073. 1499 .LFE135:
  2074. 1501 .section .text.can_start_init,"ax",%progbits
  2075. 1502 .align 1
  2076. 1503 .global can_start_init
  2077. 1504 .syntax unified
  2078. 1505 .thumb
  2079. 1506 .thumb_func
  2080. 1508 can_start_init:
  2081. 1509 .LFB136:
  2082. 466:user_src/soft_can.c ****
  2083. 467:user_src/soft_can.c ****
  2084. 468:user_src/soft_can.c **** /**
  2085. 469:user_src/soft_can.c **** * @file can_start_init
  2086. 470:user_src/soft_can.c **** * @brief CAN�嘥���
  2087. 471:user_src/soft_can.c **** * @param none
  2088. 472:user_src/soft_can.c **** * @details
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 37
  2090. 473:user_src/soft_can.c **** * @author Zhang Sir
  2091. 474:user_src/soft_can.c **** **/
  2092. 475:user_src/soft_can.c **** void can_start_init()
  2093. 476:user_src/soft_can.c **** {
  2094. 1510 .loc 1 476 1
  2095. 1511 .cfi_startproc
  2096. 1512 @ args = 0, pretend = 0, frame = 0
  2097. 1513 @ frame_needed = 1, uses_anonymous_args = 0
  2098. 1514 0000 80B5 push {r7, lr}
  2099. 1515 .LCFI16:
  2100. 1516 .cfi_def_cfa_offset 8
  2101. 1517 .cfi_offset 7, -8
  2102. 1518 .cfi_offset 14, -4
  2103. 1519 0002 00AF add r7, sp, #0
  2104. 1520 .LCFI17:
  2105. 1521 .cfi_def_cfa_register 7
  2106. 477:user_src/soft_can.c **** Can_filter_init();
  2107. 1522 .loc 1 477 3
  2108. 1523 0004 FFF7FEFF bl Can_filter_init
  2109. 478:user_src/soft_can.c **** HAL_CAN_Start(&hcan);
  2110. 1524 .loc 1 478 3
  2111. 1525 0008 0D48 ldr r0, .L100
  2112. 1526 000a FFF7FEFF bl HAL_CAN_Start
  2113. 479:user_src/soft_can.c ****
  2114. 480:user_src/soft_can.c **** //撘��舫�霂臬���㦤
  2115. 481:user_src/soft_can.c **** HAL_NVIC_EnableIRQ(CAN_SCE_IRQn);
  2116. 1527 .loc 1 481 3
  2117. 1528 000e 1620 movs r0, #22
  2118. 1529 0010 FFF7FEFF bl HAL_NVIC_EnableIRQ
  2119. 482:user_src/soft_can.c ****
  2120. 483:user_src/soft_can.c **** // //撘��舫�霂臭葉��
  2121. 484:user_src/soft_can.c **** //__HAL_CAN_ENABLE_IT(&hcan, CAN_IT_ERROR | CAN_IT_ERROR_WARNING | CAN_IT_ERROR_PASSIVE | CAN_IT
  2122. 485:user_src/soft_can.c **** // //撘��� �桃拳皛~��滯�箝��𦻖�� 銝剜鱏
  2123. 486:user_src/soft_can.c **** __HAL_CAN_ENABLE_IT(&hcan, CAN_IT_RX_FIFO0_FULL | CAN_IT_RX_FIFO0_OVERRUN);
  2124. 1530 .loc 1 486 3
  2125. 1531 0014 0A4B ldr r3, .L100
  2126. 1532 0016 1B68 ldr r3, [r3]
  2127. 1533 0018 5A69 ldr r2, [r3, #20]
  2128. 1534 001a 094B ldr r3, .L100
  2129. 1535 001c 1B68 ldr r3, [r3]
  2130. 1536 001e 42F00C02 orr r2, r2, #12
  2131. 1537 0022 5A61 str r2, [r3, #20]
  2132. 487:user_src/soft_can.c ****
  2133. 488:user_src/soft_can.c **** HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING);
  2134. 1538 .loc 1 488 3
  2135. 1539 0024 0221 movs r1, #2
  2136. 1540 0026 0648 ldr r0, .L100
  2137. 1541 0028 FFF7FEFF bl HAL_CAN_ActivateNotification
  2138. 489:user_src/soft_can.c **** HAL_GPIO_WritePin(GPIOA, CAN_SLIENT_Pin, GPIO_PIN_RESET); //CAN�餌瑪雿輯�
  2139. 1542 .loc 1 489 3
  2140. 1543 002c 0022 movs r2, #0
  2141. 1544 002e 4FF48071 mov r1, #256
  2142. 1545 0032 4FF09040 mov r0, #1207959552
  2143. 1546 0036 FFF7FEFF bl HAL_GPIO_WritePin
  2144. 490:user_src/soft_can.c **** }
  2145. 1547 .loc 1 490 1
  2146. 1548 003a 00BF nop
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 38
  2148. 1549 003c 80BD pop {r7, pc}
  2149. 1550 .L101:
  2150. 1551 003e 00BF .align 2
  2151. 1552 .L100:
  2152. 1553 0040 00000000 .word hcan
  2153. 1554 .cfi_endproc
  2154. 1555 .LFE136:
  2155. 1557 .global update_count
  2156. 1558 .section .bss.update_count,"aw",%nobits
  2157. 1559 .align 2
  2158. 1562 update_count:
  2159. 1563 0000 00000000 .space 4
  2160. 1564 .section .text.Can_obstacle_update,"ax",%progbits
  2161. 1565 .align 1
  2162. 1566 .global Can_obstacle_update
  2163. 1567 .syntax unified
  2164. 1568 .thumb
  2165. 1569 .thumb_func
  2166. 1571 Can_obstacle_update:
  2167. 1572 .LFB137:
  2168. 491:user_src/soft_can.c ****
  2169. 492:user_src/soft_can.c ****
  2170. 493:user_src/soft_can.c **** /**
  2171. 494:user_src/soft_can.c **** * @file Can_obstacle_update
  2172. 495:user_src/soft_can.c **** * @brief �思�瘥娪𡺨颲遨AN��銁蝥踹�蝥批遆��
  2173. 496:user_src/soft_can.c **** * @param 0=�煾���蝥扯窈瘙� 1=�交𤣰霂瑟���漣�嗆�� 2=�煾��聢撘誩���誘
  2174. 497:user_src/soft_can.c **** * 3=�交𤣰�澆��𣇉𠶖�� 4=�煾𡺨颲曉����蝥批� 5=�煾��嵗撉�� 6=�交𤣰�瑁噢�
  2175. 498:user_src/soft_can.c **** * @details
  2176. 499:user_src/soft_can.c **** * @author Zhang Sir
  2177. 500:user_src/soft_can.c **** **/
  2178. 501:user_src/soft_can.c **** uint32_t update_count = 0;
  2179. 502:user_src/soft_can.c **** void Can_obstacle_update()
  2180. 503:user_src/soft_can.c **** {
  2181. 1573 .loc 1 503 1
  2182. 1574 .cfi_startproc
  2183. 1575 @ args = 0, pretend = 0, frame = 16
  2184. 1576 @ frame_needed = 1, uses_anonymous_args = 0
  2185. 1577 0000 80B5 push {r7, lr}
  2186. 1578 .LCFI18:
  2187. 1579 .cfi_def_cfa_offset 8
  2188. 1580 .cfi_offset 7, -8
  2189. 1581 .cfi_offset 14, -4
  2190. 1582 0002 84B0 sub sp, sp, #16
  2191. 1583 .LCFI19:
  2192. 1584 .cfi_def_cfa_offset 24
  2193. 1585 0004 00AF add r7, sp, #0
  2194. 1586 .LCFI20:
  2195. 1587 .cfi_def_cfa_register 7
  2196. 504:user_src/soft_can.c ****
  2197. 505:user_src/soft_can.c **** static uint32_t update_i = 0;
  2198. 506:user_src/soft_can.c **** static uint32_t check_sum = 0;
  2199. 507:user_src/soft_can.c **** static uint16_t pack_count = 1;
  2200. 508:user_src/soft_can.c **** uint16_t size_count = 0;
  2201. 1588 .loc 1 508 12
  2202. 1589 0006 0023 movs r3, #0
  2203. 1590 0008 7B81 strh r3, [r7, #10] @ movhi
  2204. 509:user_src/soft_can.c **** uint32_t for_i = 0;
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 39
  2206. 1591 .loc 1 509 12
  2207. 1592 000a 0023 movs r3, #0
  2208. 1593 000c FB60 str r3, [r7, #12]
  2209. 510:user_src/soft_can.c **** uint8_t obstacle_buf[8] = {0};
  2210. 1594 .loc 1 510 11
  2211. 1595 000e 0023 movs r3, #0
  2212. 1596 0010 3B60 str r3, [r7]
  2213. 1597 0012 0023 movs r3, #0
  2214. 1598 0014 7B60 str r3, [r7, #4]
  2215. 511:user_src/soft_can.c ****
  2216. 512:user_src/soft_can.c **** switch (update_count)
  2217. 1599 .loc 1 512 3
  2218. 1600 0016 A24B ldr r3, .L139
  2219. 1601 0018 1B68 ldr r3, [r3]
  2220. 1602 001a 062B cmp r3, #6
  2221. 1603 001c 00F2B281 bhi .L133
  2222. 1604 0020 01A2 adr r2, .L105
  2223. 1605 0022 52F823F0 ldr pc, [r2, r3, lsl #2]
  2224. 1606 0026 00BF .p2align 2
  2225. 1607 .L105:
  2226. 1608 0028 45000000 .word .L111+1
  2227. 1609 002c 89000000 .word .L110+1
  2228. 1610 0030 D9000000 .word .L109+1
  2229. 1611 0034 21010000 .word .L108+1
  2230. 1612 0038 8D010000 .word .L107+1
  2231. 1613 003c C9020000 .word .L106+1
  2232. 1614 0040 11030000 .word .L104+1
  2233. 1615 .p2align 1
  2234. 1616 .L111:
  2235. 513:user_src/soft_can.c **** {
  2236. 514:user_src/soft_can.c **** case 0:
  2237. 515:user_src/soft_can.c **** //�煾𡺨颲曉���窈瘙��蝥�
  2238. 516:user_src/soft_can.c **** if (Update_buf[4] == 51)
  2239. 1617 .loc 1 516 19
  2240. 1618 0044 974B ldr r3, .L139+4
  2241. 1619 0046 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2242. 1620 .loc 1 516 8
  2243. 1621 0048 332B cmp r3, #51
  2244. 1622 004a 02D1 bne .L112
  2245. 517:user_src/soft_can.c **** {
  2246. 518:user_src/soft_can.c **** obstacle_buf[0] = 0x11; // �漤𡺨颲�
  2247. 1623 .loc 1 518 23
  2248. 1624 004c 1123 movs r3, #17
  2249. 1625 004e 3B70 strb r3, [r7]
  2250. 1626 0050 0CE0 b .L113
  2251. 1627 .L112:
  2252. 519:user_src/soft_can.c **** }
  2253. 520:user_src/soft_can.c **** else if (Update_buf[4] == 52)
  2254. 1628 .loc 1 520 24
  2255. 1629 0052 944B ldr r3, .L139+4
  2256. 1630 0054 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2257. 1631 .loc 1 520 13
  2258. 1632 0056 342B cmp r3, #52
  2259. 1633 0058 02D1 bne .L114
  2260. 521:user_src/soft_can.c **** {
  2261. 522:user_src/soft_can.c **** obstacle_buf[0] = 0x12; //�𡡞𡺨颲�
  2262. 1634 .loc 1 522 23
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 40
  2264. 1635 005a 1223 movs r3, #18
  2265. 1636 005c 3B70 strb r3, [r7]
  2266. 1637 005e 05E0 b .L113
  2267. 1638 .L114:
  2268. 523:user_src/soft_can.c **** }
  2269. 524:user_src/soft_can.c **** else if (Update_buf[4] == 56)
  2270. 1639 .loc 1 524 24
  2271. 1640 0060 904B ldr r3, .L139+4
  2272. 1641 0062 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2273. 1642 .loc 1 524 13
  2274. 1643 0064 382B cmp r3, #56
  2275. 1644 0066 01D1 bne .L113
  2276. 525:user_src/soft_can.c **** {
  2277. 526:user_src/soft_can.c **** obstacle_buf[0] = 0x0B;
  2278. 1645 .loc 1 526 23
  2279. 1646 0068 0B23 movs r3, #11
  2280. 1647 006a 3B70 strb r3, [r7]
  2281. 1648 .L113:
  2282. 527:user_src/soft_can.c **** }
  2283. 528:user_src/soft_can.c ****
  2284. 529:user_src/soft_can.c **** HAL_Delay(5);
  2285. 1649 .loc 1 529 5
  2286. 1650 006c 0520 movs r0, #5
  2287. 1651 006e FFF7FEFF bl HAL_Delay
  2288. 530:user_src/soft_can.c **** can_send_msg_normal(obstacle_buf, 1, 0x7E0);
  2289. 1652 .loc 1 530 5
  2290. 1653 0072 3B46 mov r3, r7
  2291. 1654 0074 4FF4FC62 mov r2, #2016
  2292. 1655 0078 0121 movs r1, #1
  2293. 1656 007a 1846 mov r0, r3
  2294. 1657 007c FFF7FEFF bl can_send_msg_normal
  2295. 531:user_src/soft_can.c ****
  2296. 532:user_src/soft_can.c **** update_count = 1;
  2297. 1658 .loc 1 532 18
  2298. 1659 0080 874B ldr r3, .L139
  2299. 1660 0082 0122 movs r2, #1
  2300. 1661 0084 1A60 str r2, [r3]
  2301. 533:user_src/soft_can.c ****
  2302. 534:user_src/soft_can.c **** break;
  2303. 1662 .loc 1 534 5
  2304. 1663 0086 86E1 b .L115
  2305. 1664 .L110:
  2306. 535:user_src/soft_can.c ****
  2307. 536:user_src/soft_can.c **** case 1:
  2308. 537:user_src/soft_can.c ****
  2309. 538:user_src/soft_can.c **** if (Rupdate.buf_flag == true && Rupdate.U7E1 == true)
  2310. 1665 .loc 1 538 16
  2311. 1666 0088 874B ldr r3, .L139+8
  2312. 1667 008a DB78 ldrb r3, [r3, #3] @ zero_extendqisi2
  2313. 1668 .loc 1 538 8
  2314. 1669 008c 002B cmp r3, #0
  2315. 1670 008e 00F07B81 beq .L134
  2316. 1671 .loc 1 538 44 discriminator 1
  2317. 1672 0092 854B ldr r3, .L139+8
  2318. 1673 0094 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2319. 1674 .loc 1 538 34 discriminator 1
  2320. 1675 0096 002B cmp r3, #0
  2321. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 41
  2322. 1676 0098 00F07681 beq .L134
  2323. 539:user_src/soft_can.c **** {
  2324. 540:user_src/soft_can.c **** if (Rupdate.update_buf[1] == 0x00) //radar_update_buf[0] 0x11 0x12
  2325. 1677 .loc 1 540 29
  2326. 1678 009c 824B ldr r3, .L139+8
  2327. 1679 009e 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  2328. 1680 .loc 1 540 10
  2329. 1681 00a0 002B cmp r3, #0
  2330. 1682 00a2 03D1 bne .L117
  2331. 541:user_src/soft_can.c **** {
  2332. 542:user_src/soft_can.c **** //�瑁噢餈𥕦��瑕�璅∪�
  2333. 543:user_src/soft_can.c **** update_count = 2;
  2334. 1683 .loc 1 543 22
  2335. 1684 00a4 7E4B ldr r3, .L139
  2336. 1685 00a6 0222 movs r2, #2
  2337. 1686 00a8 1A60 str r2, [r3]
  2338. 1687 00aa 09E0 b .L118
  2339. 1688 .L117:
  2340. 544:user_src/soft_can.c **** }
  2341. 545:user_src/soft_can.c **** else if (Rupdate.update_buf[1] == 0x01)
  2342. 1689 .loc 1 545 34
  2343. 1690 00ac 7E4B ldr r3, .L139+8
  2344. 1691 00ae 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  2345. 1692 .loc 1 545 15
  2346. 1693 00b0 012B cmp r3, #1
  2347. 1694 00b2 05D1 bne .L118
  2348. 546:user_src/soft_can.c **** { //���箏��蹱芋撘�
  2349. 547:user_src/soft_can.c **** radar_update_flag = false; //�喲𡡒��漣
  2350. 1695 .loc 1 547 27
  2351. 1696 00b4 7D4B ldr r3, .L139+12
  2352. 1697 00b6 0022 movs r2, #0
  2353. 1698 00b8 1A70 strb r2, [r3]
  2354. 548:user_src/soft_can.c **** update_count = 0;
  2355. 1699 .loc 1 548 22
  2356. 1700 00ba 794B ldr r3, .L139
  2357. 1701 00bc 0022 movs r2, #0
  2358. 1702 00be 1A60 str r2, [r3]
  2359. 1703 .L118:
  2360. 549:user_src/soft_can.c ****
  2361. 550:user_src/soft_can.c **** }
  2362. 551:user_src/soft_can.c **** Rupdate.U7E1 = false;
  2363. 1704 .loc 1 551 20
  2364. 1705 00c0 794B ldr r3, .L139+8
  2365. 1706 00c2 0022 movs r2, #0
  2366. 1707 00c4 1A70 strb r2, [r3]
  2367. 552:user_src/soft_can.c **** Rupdate.buf_flag = false;
  2368. 1708 .loc 1 552 24
  2369. 1709 00c6 784B ldr r3, .L139+8
  2370. 1710 00c8 0022 movs r2, #0
  2371. 1711 00ca DA70 strb r2, [r3, #3]
  2372. 553:user_src/soft_can.c **** memset(Rupdate.update_buf,0,8);
  2373. 1712 .loc 1 553 7
  2374. 1713 00cc 0822 movs r2, #8
  2375. 1714 00ce 0021 movs r1, #0
  2376. 1715 00d0 7748 ldr r0, .L139+16
  2377. 1716 00d2 FFF7FEFF bl memset
  2378. 554:user_src/soft_can.c **** }
  2379. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 42
  2380. 555:user_src/soft_can.c **** break;
  2381. 1717 .loc 1 555 5
  2382. 1718 00d6 57E1 b .L134
  2383. 1719 .L109:
  2384. 556:user_src/soft_can.c ****
  2385. 557:user_src/soft_can.c **** case 2:
  2386. 558:user_src/soft_can.c **** memset(obstacle_buf, 0, 8);
  2387. 1720 .loc 1 558 5
  2388. 1721 00d8 3B46 mov r3, r7
  2389. 1722 00da 0822 movs r2, #8
  2390. 1723 00dc 0021 movs r1, #0
  2391. 1724 00de 1846 mov r0, r3
  2392. 1725 00e0 FFF7FEFF bl memset
  2393. 559:user_src/soft_can.c ****
  2394. 560:user_src/soft_can.c **** obstacle_buf[0] = 0x01;
  2395. 1726 .loc 1 560 21
  2396. 1727 00e4 0123 movs r3, #1
  2397. 1728 00e6 3B70 strb r3, [r7]
  2398. 561:user_src/soft_can.c **** obstacle_buf[1] = 0x09;
  2399. 1729 .loc 1 561 21
  2400. 1730 00e8 0923 movs r3, #9
  2401. 1731 00ea 7B70 strb r3, [r7, #1]
  2402. 562:user_src/soft_can.c **** obstacle_buf[2] = 0x09;
  2403. 1732 .loc 1 562 21
  2404. 1733 00ec 0923 movs r3, #9
  2405. 1734 00ee BB70 strb r3, [r7, #2]
  2406. 563:user_src/soft_can.c **** obstacle_buf[3] = 0x04;
  2407. 1735 .loc 1 563 21
  2408. 1736 00f0 0423 movs r3, #4
  2409. 1737 00f2 FB70 strb r3, [r7, #3]
  2410. 564:user_src/soft_can.c **** obstacle_buf[4] = 0x00;
  2411. 1738 .loc 1 564 21
  2412. 1739 00f4 0023 movs r3, #0
  2413. 1740 00f6 3B71 strb r3, [r7, #4]
  2414. 565:user_src/soft_can.c **** obstacle_buf[5] = 0x09;
  2415. 1741 .loc 1 565 21
  2416. 1742 00f8 0923 movs r3, #9
  2417. 1743 00fa 7B71 strb r3, [r7, #5]
  2418. 566:user_src/soft_can.c **** obstacle_buf[6] = 0x02;
  2419. 1744 .loc 1 566 21
  2420. 1745 00fc 0223 movs r3, #2
  2421. 1746 00fe BB71 strb r3, [r7, #6]
  2422. 567:user_src/soft_can.c **** obstacle_buf[7] = 0x06;
  2423. 1747 .loc 1 567 21
  2424. 1748 0100 0623 movs r3, #6
  2425. 1749 0102 FB71 strb r3, [r7, #7]
  2426. 568:user_src/soft_can.c ****
  2427. 569:user_src/soft_can.c **** HAL_Delay(5);
  2428. 1750 .loc 1 569 5
  2429. 1751 0104 0520 movs r0, #5
  2430. 1752 0106 FFF7FEFF bl HAL_Delay
  2431. 570:user_src/soft_can.c **** can_send_msg_normal(obstacle_buf, 8, 0x7E2);
  2432. 1753 .loc 1 570 5
  2433. 1754 010a 3B46 mov r3, r7
  2434. 1755 010c 40F2E272 movw r2, #2018
  2435. 1756 0110 0821 movs r1, #8
  2436. 1757 0112 1846 mov r0, r3
  2437. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 43
  2438. 1758 0114 FFF7FEFF bl can_send_msg_normal
  2439. 571:user_src/soft_can.c ****
  2440. 572:user_src/soft_can.c **** update_count = 3;
  2441. 1759 .loc 1 572 18
  2442. 1760 0118 614B ldr r3, .L139
  2443. 1761 011a 0322 movs r2, #3
  2444. 1762 011c 1A60 str r2, [r3]
  2445. 573:user_src/soft_can.c **** break;
  2446. 1763 .loc 1 573 5
  2447. 1764 011e 3AE1 b .L115
  2448. 1765 .L108:
  2449. 574:user_src/soft_can.c ****
  2450. 575:user_src/soft_can.c **** case 3:
  2451. 576:user_src/soft_can.c **** if (Rupdate.buf_flag == true && Rupdate.U7E3 == true)
  2452. 1766 .loc 1 576 16
  2453. 1767 0120 614B ldr r3, .L139+8
  2454. 1768 0122 DB78 ldrb r3, [r3, #3] @ zero_extendqisi2
  2455. 1769 .loc 1 576 8
  2456. 1770 0124 002B cmp r3, #0
  2457. 1771 0126 00F03181 beq .L135
  2458. 1772 .loc 1 576 44 discriminator 1
  2459. 1773 012a 5F4B ldr r3, .L139+8
  2460. 1774 012c 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  2461. 1775 .loc 1 576 34 discriminator 1
  2462. 1776 012e 002B cmp r3, #0
  2463. 1777 0130 00F02C81 beq .L135
  2464. 577:user_src/soft_can.c **** {
  2465. 578:user_src/soft_can.c **** if (Rupdate.update_buf[0] == 0xA6)
  2466. 1778 .loc 1 578 29
  2467. 1779 0134 5C4B ldr r3, .L139+8
  2468. 1780 0136 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2469. 1781 .loc 1 578 10
  2470. 1782 0138 A62B cmp r3, #166
  2471. 1783 013a 13D1 bne .L120
  2472. 579:user_src/soft_can.c **** { //�澆��𡝗���
  2473. 580:user_src/soft_can.c **** update_count = 4;
  2474. 1784 .loc 1 580 22
  2475. 1785 013c 584B ldr r3, .L139
  2476. 1786 013e 0422 movs r2, #4
  2477. 1787 0140 1A60 str r2, [r3]
  2478. 581:user_src/soft_can.c **** update_i = 16;
  2479. 1788 .loc 1 581 18
  2480. 1789 0142 5C4B ldr r3, .L139+20
  2481. 1790 0144 1022 movs r2, #16
  2482. 1791 0146 1A60 str r2, [r3]
  2483. 582:user_src/soft_can.c **** Update_ack_func(Update_buf[4], 200, &Update_buf[6]);
  2484. 1792 .loc 1 582 9
  2485. 1793 0148 564B ldr r3, .L139+4
  2486. 1794 014a 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2487. 1795 014c 5A4A ldr r2, .L139+24
  2488. 1796 014e C821 movs r1, #200
  2489. 1797 0150 1846 mov r0, r3
  2490. 1798 0152 FFF7FEFF bl Update_ack_func
  2491. 583:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2492. 1799 .loc 1 583 39
  2493. 1800 0156 594B ldr r3, .L139+28
  2494. 1801 0158 0022 movs r2, #0
  2495. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 44
  2496. 1802 015a 5A70 strb r2, [r3, #1]
  2497. 584:user_src/soft_can.c **** //�脫迫餈䂿賒��漣
  2498. 585:user_src/soft_can.c **** check_sum = 0;
  2499. 1803 .loc 1 585 19
  2500. 1804 015c 584B ldr r3, .L139+32
  2501. 1805 015e 0022 movs r2, #0
  2502. 1806 0160 1A60 str r2, [r3]
  2503. 1807 0162 0CE0 b .L121
  2504. 1808 .L120:
  2505. 586:user_src/soft_can.c **** }
  2506. 587:user_src/soft_can.c **** else if (Rupdate.update_buf[0] == 0xA8)
  2507. 1809 .loc 1 587 34
  2508. 1810 0164 504B ldr r3, .L139+8
  2509. 1811 0166 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2510. 1812 .loc 1 587 15
  2511. 1813 0168 A82B cmp r3, #168
  2512. 1814 016a 08D1 bne .L121
  2513. 588:user_src/soft_can.c **** { //�澆��硋仃韐�
  2514. 589:user_src/soft_can.c **** radar_update_flag = false;
  2515. 1815 .loc 1 589 27
  2516. 1816 016c 4F4B ldr r3, .L139+12
  2517. 1817 016e 0022 movs r2, #0
  2518. 1818 0170 1A70 strb r2, [r3]
  2519. 590:user_src/soft_can.c **** Rupdate.update_flag = false;
  2520. 1819 .loc 1 590 29
  2521. 1820 0172 4D4B ldr r3, .L139+8
  2522. 1821 0174 0022 movs r2, #0
  2523. 1822 0176 1A71 strb r2, [r3, #4]
  2524. 591:user_src/soft_can.c **** update_count = 0;
  2525. 1823 .loc 1 591 22
  2526. 1824 0178 494B ldr r3, .L139
  2527. 1825 017a 0022 movs r2, #0
  2528. 1826 017c 1A60 str r2, [r3]
  2529. 1827 .L121:
  2530. 592:user_src/soft_can.c **** }
  2531. 593:user_src/soft_can.c **** Rupdate.U7E3 = false;
  2532. 1828 .loc 1 593 20
  2533. 1829 017e 4A4B ldr r3, .L139+8
  2534. 1830 0180 0022 movs r2, #0
  2535. 1831 0182 5A70 strb r2, [r3, #1]
  2536. 594:user_src/soft_can.c **** Rupdate.buf_flag = false;
  2537. 1832 .loc 1 594 24
  2538. 1833 0184 484B ldr r3, .L139+8
  2539. 1834 0186 0022 movs r2, #0
  2540. 1835 0188 DA70 strb r2, [r3, #3]
  2541. 595:user_src/soft_can.c **** }
  2542. 596:user_src/soft_can.c **** break;
  2543. 1836 .loc 1 596 5
  2544. 1837 018a FFE0 b .L135
  2545. 1838 .L107:
  2546. 597:user_src/soft_can.c ****
  2547. 598:user_src/soft_can.c **** case 4:
  2548. 599:user_src/soft_can.c **** if (uart_info.use_update_buf_flag == true)
  2549. 1839 .loc 1 599 18
  2550. 1840 018c 4B4B ldr r3, .L139+28
  2551. 1841 018e 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  2552. 1842 .loc 1 599 8
  2553. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 45
  2554. 1843 0190 002B cmp r3, #0
  2555. 1844 0192 00F0FD80 beq .L136
  2556. 600:user_src/soft_can.c **** {
  2557. 601:user_src/soft_can.c **** if (Update_buf[5] == 201)
  2558. 1845 .loc 1 601 21
  2559. 1846 0196 434B ldr r3, .L139+4
  2560. 1847 0198 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2561. 1848 .loc 1 601 10
  2562. 1849 019a C92B cmp r3, #201
  2563. 1850 019c 5BD1 bne .L123
  2564. 1851 019e 414B ldr r3, .L139+4
  2565. 1852 01a0 DB88 ldrh r3, [r3, #6] @ unaligned
  2566. 1853 01a2 9BB2 uxth r3, r3
  2567. 602:user_src/soft_can.c **** {
  2568. 603:user_src/soft_can.c **** memcpy(&size_count, &Update_buf[6], 2);
  2569. 1854 .loc 1 603 9
  2570. 1855 01a4 7B81 strh r3, [r7, #10] @ movhi
  2571. 604:user_src/soft_can.c **** if (pack_count == size_count)
  2572. 1856 .loc 1 604 24
  2573. 1857 01a6 474B ldr r3, .L139+36
  2574. 1858 01a8 1A88 ldrh r2, [r3]
  2575. 1859 01aa 7B89 ldrh r3, [r7, #10]
  2576. 1860 .loc 1 604 12
  2577. 1861 01ac 9A42 cmp r2, r3
  2578. 1862 01ae 41D1 bne .L124
  2579. 605:user_src/soft_can.c **** { //�脫迫�煾��㮾���
  2580. 606:user_src/soft_can.c ****
  2581. 607:user_src/soft_can.c **** // 蝚砌����8摮𡑒�銝滩� 蝚砌����憪见������128摮𡑒�
  2582. 608:user_src/soft_can.c **** can_send_msg_normal(&Update_buf[update_i], 8, 0x7E4);
  2583. 1863 .loc 1 608 42
  2584. 1864 01b0 404B ldr r3, .L139+20
  2585. 1865 01b2 1B68 ldr r3, [r3]
  2586. 1866 .loc 1 608 31
  2587. 1867 01b4 3B4A ldr r2, .L139+4
  2588. 1868 01b6 1344 add r3, r3, r2
  2589. 1869 .loc 1 608 11
  2590. 1870 01b8 40F2E472 movw r2, #2020
  2591. 1871 01bc 0821 movs r1, #8
  2592. 1872 01be 1846 mov r0, r3
  2593. 1873 01c0 FFF7FEFF bl can_send_msg_normal
  2594. 609:user_src/soft_can.c ****
  2595. 610:user_src/soft_can.c **** for (for_i = 0; for_i < 8; for_i++) // 霈∠��⊿�
  2596. 1874 .loc 1 610 22
  2597. 1875 01c4 0023 movs r3, #0
  2598. 1876 01c6 FB60 str r3, [r7, #12]
  2599. 1877 .loc 1 610 11
  2600. 1878 01c8 0EE0 b .L125
  2601. 1879 .L126:
  2602. 611:user_src/soft_can.c **** {
  2603. 612:user_src/soft_can.c **** check_sum += Update_buf[update_i + for_i];
  2604. 1880 .loc 1 612 46 discriminator 3
  2605. 1881 01ca 3A4B ldr r3, .L139+20
  2606. 1882 01cc 1A68 ldr r2, [r3]
  2607. 1883 01ce FB68 ldr r3, [r7, #12]
  2608. 1884 01d0 1344 add r3, r3, r2
  2609. 1885 .loc 1 612 36 discriminator 3
  2610. 1886 01d2 344A ldr r2, .L139+4
  2611. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 46
  2612. 1887 01d4 D35C ldrb r3, [r2, r3] @ zero_extendqisi2
  2613. 1888 01d6 1A46 mov r2, r3
  2614. 1889 .loc 1 612 23 discriminator 3
  2615. 1890 01d8 394B ldr r3, .L139+32
  2616. 1891 01da 1B68 ldr r3, [r3]
  2617. 1892 01dc 1344 add r3, r3, r2
  2618. 1893 01de 384A ldr r2, .L139+32
  2619. 1894 01e0 1360 str r3, [r2]
  2620. 610:user_src/soft_can.c **** {
  2621. 1895 .loc 1 610 43 discriminator 3
  2622. 1896 01e2 FB68 ldr r3, [r7, #12]
  2623. 1897 01e4 0133 adds r3, r3, #1
  2624. 1898 01e6 FB60 str r3, [r7, #12]
  2625. 1899 .L125:
  2626. 610:user_src/soft_can.c **** {
  2627. 1900 .loc 1 610 11 discriminator 1
  2628. 1901 01e8 FB68 ldr r3, [r7, #12]
  2629. 1902 01ea 072B cmp r3, #7
  2630. 1903 01ec EDD9 bls .L126
  2631. 613:user_src/soft_can.c **** }
  2632. 614:user_src/soft_can.c ****
  2633. 615:user_src/soft_can.c **** update_i += 8;
  2634. 1904 .loc 1 615 20
  2635. 1905 01ee 314B ldr r3, .L139+20
  2636. 1906 01f0 1B68 ldr r3, [r3]
  2637. 1907 01f2 0833 adds r3, r3, #8
  2638. 1908 01f4 2F4A ldr r2, .L139+20
  2639. 1909 01f6 1360 str r3, [r2]
  2640. 616:user_src/soft_can.c ****
  2641. 617:user_src/soft_can.c **** if (update_i >= 136)
  2642. 1910 .loc 1 617 24
  2643. 1911 01f8 2E4B ldr r3, .L139+20
  2644. 1912 01fa 1B68 ldr r3, [r3]
  2645. 1913 .loc 1 617 14
  2646. 1914 01fc 872B cmp r3, #135
  2647. 1915 01fe 40F2C780 bls .L136
  2648. 618:user_src/soft_can.c **** {
  2649. 619:user_src/soft_can.c **** update_i = 8;
  2650. 1916 .loc 1 619 22
  2651. 1917 0202 2C4B ldr r3, .L139+20
  2652. 1918 0204 0822 movs r2, #8
  2653. 1919 0206 1A60 str r2, [r3]
  2654. 620:user_src/soft_can.c **** pack_count++;
  2655. 1920 .loc 1 620 23
  2656. 1921 0208 2E4B ldr r3, .L139+36
  2657. 1922 020a 1B88 ldrh r3, [r3]
  2658. 1923 020c 0133 adds r3, r3, #1
  2659. 1924 020e 9AB2 uxth r2, r3
  2660. 1925 0210 2C4B ldr r3, .L139+36
  2661. 1926 0212 1A80 strh r2, [r3] @ movhi
  2662. 621:user_src/soft_can.c **** Update_ack_func(Update_buf[4], 201, &Update_buf[6]);
  2663. 1927 .loc 1 621 13
  2664. 1928 0214 234B ldr r3, .L139+4
  2665. 1929 0216 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2666. 1930 0218 274A ldr r2, .L139+24
  2667. 1931 021a C921 movs r1, #201
  2668. 1932 021c 1846 mov r0, r3
  2669. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 47
  2670. 1933 021e FFF7FEFF bl Update_ack_func
  2671. 622:user_src/soft_can.c **** memset(&Update_buf, 0, 150);
  2672. 1934 .loc 1 622 13
  2673. 1935 0222 9622 movs r2, #150
  2674. 1936 0224 0021 movs r1, #0
  2675. 1937 0226 1F48 ldr r0, .L139+4
  2676. 1938 0228 FFF7FEFF bl memset
  2677. 623:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2678. 1939 .loc 1 623 43
  2679. 1940 022c 234B ldr r3, .L139+28
  2680. 1941 022e 0022 movs r2, #0
  2681. 1942 0230 5A70 strb r2, [r3, #1]
  2682. 624:user_src/soft_can.c **** }
  2683. 625:user_src/soft_can.c **** }
  2684. 626:user_src/soft_can.c **** else if(pack_count > size_count)
  2685. 627:user_src/soft_can.c **** {
  2686. 628:user_src/soft_can.c **** Update_ack_func(Update_buf[4], 201, &Update_buf[6]);
  2687. 629:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2688. 630:user_src/soft_can.c **** }
  2689. 631:user_src/soft_can.c **** }
  2690. 632:user_src/soft_can.c **** else if (Update_buf[5] == 202)
  2691. 633:user_src/soft_can.c **** {
  2692. 634:user_src/soft_can.c **** //銝脣藁蝏𤘪����
  2693. 635:user_src/soft_can.c **** Update_ack_func(Update_buf[4], 202, &Update_buf[6]);
  2694. 636:user_src/soft_can.c **** update_count = 5;
  2695. 637:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2696. 638:user_src/soft_can.c **** }
  2697. 639:user_src/soft_can.c **** else if (Update_buf[5] == 200)
  2698. 640:user_src/soft_can.c **** {
  2699. 641:user_src/soft_can.c **** Update_ack_func(Update_buf[4], 200, &Update_buf[6]);
  2700. 642:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2701. 643:user_src/soft_can.c **** }
  2702. 644:user_src/soft_can.c **** else
  2703. 645:user_src/soft_can.c **** {
  2704. 646:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2705. 647:user_src/soft_can.c **** }
  2706. 648:user_src/soft_can.c **** }
  2707. 649:user_src/soft_can.c **** break;
  2708. 1943 .loc 1 649 5
  2709. 1944 0232 ADE0 b .L136
  2710. 1945 .L124:
  2711. 626:user_src/soft_can.c **** {
  2712. 1946 .loc 1 626 28
  2713. 1947 0234 234B ldr r3, .L139+36
  2714. 1948 0236 1A88 ldrh r2, [r3]
  2715. 1949 0238 7B89 ldrh r3, [r7, #10]
  2716. 626:user_src/soft_can.c **** {
  2717. 1950 .loc 1 626 16
  2718. 1951 023a 9A42 cmp r2, r3
  2719. 1952 023c 40F2A880 bls .L136
  2720. 628:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2721. 1953 .loc 1 628 13
  2722. 1954 0240 184B ldr r3, .L139+4
  2723. 1955 0242 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2724. 1956 0244 1C4A ldr r2, .L139+24
  2725. 1957 0246 C921 movs r1, #201
  2726. 1958 0248 1846 mov r0, r3
  2727. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 48
  2728. 1959 024a FFF7FEFF bl Update_ack_func
  2729. 629:user_src/soft_can.c **** }
  2730. 1960 .loc 1 629 43
  2731. 1961 024e 1B4B ldr r3, .L139+28
  2732. 1962 0250 0022 movs r2, #0
  2733. 1963 0252 5A70 strb r2, [r3, #1]
  2734. 1964 .loc 1 649 5
  2735. 1965 0254 9CE0 b .L136
  2736. 1966 .L123:
  2737. 632:user_src/soft_can.c **** {
  2738. 1967 .loc 1 632 26
  2739. 1968 0256 134B ldr r3, .L139+4
  2740. 1969 0258 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2741. 632:user_src/soft_can.c **** {
  2742. 1970 .loc 1 632 15
  2743. 1971 025a CA2B cmp r3, #202
  2744. 1972 025c 0DD1 bne .L127
  2745. 635:user_src/soft_can.c **** update_count = 5;
  2746. 1973 .loc 1 635 9
  2747. 1974 025e 114B ldr r3, .L139+4
  2748. 1975 0260 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2749. 1976 0262 154A ldr r2, .L139+24
  2750. 1977 0264 CA21 movs r1, #202
  2751. 1978 0266 1846 mov r0, r3
  2752. 1979 0268 FFF7FEFF bl Update_ack_func
  2753. 636:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2754. 1980 .loc 1 636 22
  2755. 1981 026c 0C4B ldr r3, .L139
  2756. 1982 026e 0522 movs r2, #5
  2757. 1983 0270 1A60 str r2, [r3]
  2758. 637:user_src/soft_can.c **** }
  2759. 1984 .loc 1 637 39
  2760. 1985 0272 124B ldr r3, .L139+28
  2761. 1986 0274 0022 movs r2, #0
  2762. 1987 0276 5A70 strb r2, [r3, #1]
  2763. 1988 .loc 1 649 5
  2764. 1989 0278 8AE0 b .L136
  2765. 1990 .L127:
  2766. 639:user_src/soft_can.c **** {
  2767. 1991 .loc 1 639 26
  2768. 1992 027a 0A4B ldr r3, .L139+4
  2769. 1993 027c 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2770. 639:user_src/soft_can.c **** {
  2771. 1994 .loc 1 639 15
  2772. 1995 027e C82B cmp r3, #200
  2773. 1996 0280 0AD1 bne .L128
  2774. 641:user_src/soft_can.c **** uart_info.use_update_buf_flag = false;
  2775. 1997 .loc 1 641 9
  2776. 1998 0282 084B ldr r3, .L139+4
  2777. 1999 0284 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  2778. 2000 0286 0C4A ldr r2, .L139+24
  2779. 2001 0288 C821 movs r1, #200
  2780. 2002 028a 1846 mov r0, r3
  2781. 2003 028c FFF7FEFF bl Update_ack_func
  2782. 642:user_src/soft_can.c **** }
  2783. 2004 .loc 1 642 39
  2784. 2005 0290 0A4B ldr r3, .L139+28
  2785. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 49
  2786. 2006 0292 0022 movs r2, #0
  2787. 2007 0294 5A70 strb r2, [r3, #1]
  2788. 2008 .loc 1 649 5
  2789. 2009 0296 7BE0 b .L136
  2790. 2010 .L128:
  2791. 646:user_src/soft_can.c **** }
  2792. 2011 .loc 1 646 39
  2793. 2012 0298 084B ldr r3, .L139+28
  2794. 2013 029a 0022 movs r2, #0
  2795. 2014 029c 5A70 strb r2, [r3, #1]
  2796. 2015 .loc 1 649 5
  2797. 2016 029e 77E0 b .L136
  2798. 2017 .L140:
  2799. 2018 .align 2
  2800. 2019 .L139:
  2801. 2020 02a0 00000000 .word update_count
  2802. 2021 02a4 00000000 .word Update_buf
  2803. 2022 02a8 00000000 .word Rupdate
  2804. 2023 02ac 00000000 .word radar_update_flag
  2805. 2024 02b0 05000000 .word Rupdate+5
  2806. 2025 02b4 00000000 .word update_i.2
  2807. 2026 02b8 06000000 .word Update_buf+6
  2808. 2027 02bc 00000000 .word uart_info
  2809. 2028 02c0 00000000 .word check_sum.1
  2810. 2029 02c4 00000000 .word pack_count.0
  2811. 2030 .L106:
  2812. 650:user_src/soft_can.c ****
  2813. 651:user_src/soft_can.c **** case 5:
  2814. 652:user_src/soft_can.c **** memset(obstacle_buf, 0, 8);
  2815. 2031 .loc 1 652 5
  2816. 2032 02c8 3B46 mov r3, r7
  2817. 2033 02ca 0822 movs r2, #8
  2818. 2034 02cc 0021 movs r1, #0
  2819. 2035 02ce 1846 mov r0, r3
  2820. 2036 02d0 FFF7FEFF bl memset
  2821. 653:user_src/soft_can.c ****
  2822. 654:user_src/soft_can.c **** obstacle_buf[0] = (check_sum >> 24) & 0xff;
  2823. 2037 .loc 1 654 34
  2824. 2038 02d4 324B ldr r3, .L141
  2825. 2039 02d6 1B68 ldr r3, [r3]
  2826. 2040 02d8 1B0E lsrs r3, r3, #24
  2827. 2041 .loc 1 654 21
  2828. 2042 02da DBB2 uxtb r3, r3
  2829. 2043 02dc 3B70 strb r3, [r7]
  2830. 655:user_src/soft_can.c **** obstacle_buf[1] = (check_sum >> 16) & 0xff;
  2831. 2044 .loc 1 655 34
  2832. 2045 02de 304B ldr r3, .L141
  2833. 2046 02e0 1B68 ldr r3, [r3]
  2834. 2047 02e2 1B0C lsrs r3, r3, #16
  2835. 2048 .loc 1 655 21
  2836. 2049 02e4 DBB2 uxtb r3, r3
  2837. 2050 02e6 7B70 strb r3, [r7, #1]
  2838. 656:user_src/soft_can.c **** obstacle_buf[2] = (check_sum >> 8) & 0xff;
  2839. 2051 .loc 1 656 34
  2840. 2052 02e8 2D4B ldr r3, .L141
  2841. 2053 02ea 1B68 ldr r3, [r3]
  2842. 2054 02ec 1B0A lsrs r3, r3, #8
  2843. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 50
  2844. 2055 .loc 1 656 21
  2845. 2056 02ee DBB2 uxtb r3, r3
  2846. 2057 02f0 BB70 strb r3, [r7, #2]
  2847. 657:user_src/soft_can.c **** obstacle_buf[3] = (check_sum)&0xff;
  2848. 2058 .loc 1 657 21
  2849. 2059 02f2 2B4B ldr r3, .L141
  2850. 2060 02f4 1B68 ldr r3, [r3]
  2851. 2061 02f6 DBB2 uxtb r3, r3
  2852. 2062 02f8 FB70 strb r3, [r7, #3]
  2853. 658:user_src/soft_can.c ****
  2854. 659:user_src/soft_can.c **** can_send_msg_normal(obstacle_buf, 4, 0x7E5);
  2855. 2063 .loc 1 659 5
  2856. 2064 02fa 3B46 mov r3, r7
  2857. 2065 02fc 40F2E572 movw r2, #2021
  2858. 2066 0300 0421 movs r1, #4
  2859. 2067 0302 1846 mov r0, r3
  2860. 2068 0304 FFF7FEFF bl can_send_msg_normal
  2861. 660:user_src/soft_can.c **** update_count = 6;
  2862. 2069 .loc 1 660 18
  2863. 2070 0308 264B ldr r3, .L141+4
  2864. 2071 030a 0622 movs r2, #6
  2865. 2072 030c 1A60 str r2, [r3]
  2866. 661:user_src/soft_can.c ****
  2867. 662:user_src/soft_can.c **** break;
  2868. 2073 .loc 1 662 5
  2869. 2074 030e 42E0 b .L115
  2870. 2075 .L104:
  2871. 663:user_src/soft_can.c ****
  2872. 664:user_src/soft_can.c **** case 6:
  2873. 665:user_src/soft_can.c **** if (Rupdate.buf_flag == true && Rupdate.U7E6 == true)
  2874. 2076 .loc 1 665 16
  2875. 2077 0310 254B ldr r3, .L141+8
  2876. 2078 0312 DB78 ldrb r3, [r3, #3] @ zero_extendqisi2
  2877. 2079 .loc 1 665 8
  2878. 2080 0314 002B cmp r3, #0
  2879. 2081 0316 3DD0 beq .L137
  2880. 2082 .loc 1 665 44 discriminator 1
  2881. 2083 0318 234B ldr r3, .L141+8
  2882. 2084 031a 9B78 ldrb r3, [r3, #2] @ zero_extendqisi2
  2883. 2085 .loc 1 665 34 discriminator 1
  2884. 2086 031c 002B cmp r3, #0
  2885. 2087 031e 39D0 beq .L137
  2886. 666:user_src/soft_can.c **** {
  2887. 667:user_src/soft_can.c **** if (Rupdate.update_buf[0] == 0x66)
  2888. 2088 .loc 1 667 29
  2889. 2089 0320 214B ldr r3, .L141+8
  2890. 2090 0322 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2891. 2091 .loc 1 667 10
  2892. 2092 0324 662B cmp r3, #102
  2893. 2093 0326 03D1 bne .L130
  2894. 668:user_src/soft_can.c **** {
  2895. 669:user_src/soft_can.c **** update_count = 0; //�湔鰵�𣂼�
  2896. 2094 .loc 1 669 22
  2897. 2095 0328 1E4B ldr r3, .L141+4
  2898. 2096 032a 0022 movs r2, #0
  2899. 2097 032c 1A60 str r2, [r3]
  2900. 2098 032e 0EE0 b .L131
  2901. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 51
  2902. 2099 .L130:
  2903. 670:user_src/soft_can.c **** }
  2904. 671:user_src/soft_can.c **** else if (Rupdate.update_buf[0] == 0x88)
  2905. 2100 .loc 1 671 34
  2906. 2101 0330 1D4B ldr r3, .L141+8
  2907. 2102 0332 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2908. 2103 .loc 1 671 15
  2909. 2104 0334 882B cmp r3, #136
  2910. 2105 0336 03D1 bne .L132
  2911. 672:user_src/soft_can.c **** {
  2912. 673:user_src/soft_can.c **** update_count = 0; //�⊿�憭梯揖
  2913. 2106 .loc 1 673 22
  2914. 2107 0338 1A4B ldr r3, .L141+4
  2915. 2108 033a 0022 movs r2, #0
  2916. 2109 033c 1A60 str r2, [r3]
  2917. 2110 033e 06E0 b .L131
  2918. 2111 .L132:
  2919. 674:user_src/soft_can.c **** }
  2920. 675:user_src/soft_can.c **** else if (Rupdate.update_buf[0] == 0xff)
  2921. 2112 .loc 1 675 34
  2922. 2113 0340 194B ldr r3, .L141+8
  2923. 2114 0342 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  2924. 2115 .loc 1 675 15
  2925. 2116 0344 FF2B cmp r3, #255
  2926. 2117 0346 02D1 bne .L131
  2927. 676:user_src/soft_can.c **** {
  2928. 677:user_src/soft_can.c **** update_count = 0; //銵函內�箔辣頞�枂��憭批��函征�湛� bootloader撠���唳聢撘誩���
  2929. 2118 .loc 1 677 22
  2930. 2119 0348 164B ldr r3, .L141+4
  2931. 2120 034a 0022 movs r2, #0
  2932. 2121 034c 1A60 str r2, [r3]
  2933. 2122 .L131:
  2934. 678:user_src/soft_can.c **** }
  2935. 679:user_src/soft_can.c **** pack_count = 1;
  2936. 2123 .loc 1 679 18
  2937. 2124 034e 174B ldr r3, .L141+12
  2938. 2125 0350 0122 movs r2, #1
  2939. 2126 0352 1A80 strh r2, [r3] @ movhi
  2940. 680:user_src/soft_can.c **** Rupdate.buf_flag = false;
  2941. 2127 .loc 1 680 24
  2942. 2128 0354 144B ldr r3, .L141+8
  2943. 2129 0356 0022 movs r2, #0
  2944. 2130 0358 DA70 strb r2, [r3, #3]
  2945. 681:user_src/soft_can.c **** radar_update_flag = false;
  2946. 2131 .loc 1 681 25
  2947. 2132 035a 154B ldr r3, .L141+16
  2948. 2133 035c 0022 movs r2, #0
  2949. 2134 035e 1A70 strb r2, [r3]
  2950. 682:user_src/soft_can.c **** Rupdate.update_flag = false;
  2951. 2135 .loc 1 682 27
  2952. 2136 0360 114B ldr r3, .L141+8
  2953. 2137 0362 0022 movs r2, #0
  2954. 2138 0364 1A71 strb r2, [r3, #4]
  2955. 683:user_src/soft_can.c **** Rupdate.U7E6 = false;
  2956. 2139 .loc 1 683 20
  2957. 2140 0366 104B ldr r3, .L141+8
  2958. 2141 0368 0022 movs r2, #0
  2959. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 52
  2960. 2142 036a 9A70 strb r2, [r3, #2]
  2961. 684:user_src/soft_can.c ****
  2962. 685:user_src/soft_can.c **** //�齿鰵�煾����砌縑��
  2963. 686:user_src/soft_can.c **** uavr11_info.get_radar_ver_flag = false;
  2964. 2143 .loc 1 686 38
  2965. 2144 036c 114B ldr r3, .L141+20
  2966. 2145 036e 0022 movs r2, #0
  2967. 2146 0370 83F82C20 strb r2, [r3, #44]
  2968. 687:user_src/soft_can.c **** uavr12_info.get_radar_ver_flag = false;
  2969. 2147 .loc 1 687 38
  2970. 2148 0374 104B ldr r3, .L141+24
  2971. 2149 0376 0022 movs r2, #0
  2972. 2150 0378 83F82C20 strb r2, [r3, #44]
  2973. 688:user_src/soft_can.c **** uavr56_info.get_radar_ver_flag = false;
  2974. 2151 .loc 1 688 38
  2975. 2152 037c 0F4B ldr r3, .L141+28
  2976. 2153 037e 0022 movs r2, #0
  2977. 2154 0380 5A76 strb r2, [r3, #25]
  2978. 689:user_src/soft_can.c **** }
  2979. 690:user_src/soft_can.c **** break;
  2980. 2155 .loc 1 690 5
  2981. 2156 0382 07E0 b .L137
  2982. 2157 .L133:
  2983. 691:user_src/soft_can.c **** default:
  2984. 692:user_src/soft_can.c **** break;
  2985. 2158 .loc 1 692 5
  2986. 2159 0384 00BF nop
  2987. 2160 0386 06E0 b .L138
  2988. 2161 .L134:
  2989. 555:user_src/soft_can.c ****
  2990. 2162 .loc 1 555 5
  2991. 2163 0388 00BF nop
  2992. 2164 038a 04E0 b .L138
  2993. 2165 .L135:
  2994. 596:user_src/soft_can.c ****
  2995. 2166 .loc 1 596 5
  2996. 2167 038c 00BF nop
  2997. 2168 038e 02E0 b .L138
  2998. 2169 .L136:
  2999. 649:user_src/soft_can.c ****
  3000. 2170 .loc 1 649 5
  3001. 2171 0390 00BF nop
  3002. 2172 0392 00E0 b .L138
  3003. 2173 .L137:
  3004. 690:user_src/soft_can.c **** default:
  3005. 2174 .loc 1 690 5
  3006. 2175 0394 00BF nop
  3007. 2176 .L115:
  3008. 2177 .L138:
  3009. 693:user_src/soft_can.c **** }
  3010. 694:user_src/soft_can.c ****
  3011. 695:user_src/soft_can.c **** }
  3012. 2178 .loc 1 695 1
  3013. 2179 0396 00BF nop
  3014. 2180 0398 1037 adds r7, r7, #16
  3015. 2181 .LCFI21:
  3016. 2182 .cfi_def_cfa_offset 8
  3017. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 53
  3018. 2183 039a BD46 mov sp, r7
  3019. 2184 .LCFI22:
  3020. 2185 .cfi_def_cfa_register 13
  3021. 2186 @ sp needed
  3022. 2187 039c 80BD pop {r7, pc}
  3023. 2188 .L142:
  3024. 2189 039e 00BF .align 2
  3025. 2190 .L141:
  3026. 2191 03a0 00000000 .word check_sum.1
  3027. 2192 03a4 00000000 .word update_count
  3028. 2193 03a8 00000000 .word Rupdate
  3029. 2194 03ac 00000000 .word pack_count.0
  3030. 2195 03b0 00000000 .word radar_update_flag
  3031. 2196 03b4 00000000 .word uavr11_info
  3032. 2197 03b8 00000000 .word uavr12_info
  3033. 2198 03bc 00000000 .word uavr56_info
  3034. 2199 .cfi_endproc
  3035. 2200 .LFE137:
  3036. 2202 .section .text.can_send_msg_normal,"ax",%progbits
  3037. 2203 .align 1
  3038. 2204 .global can_send_msg_normal
  3039. 2205 .syntax unified
  3040. 2206 .thumb
  3041. 2207 .thumb_func
  3042. 2209 can_send_msg_normal:
  3043. 2210 .LFB138:
  3044. 696:user_src/soft_can.c ****
  3045. 697:user_src/soft_can.c ****
  3046. 698:user_src/soft_can.c **** /**
  3047. 699:user_src/soft_can.c **** * @file can_send_msg_normal
  3048. 700:user_src/soft_can.c **** * @brief CAN���鋆����遆�唳�撅訫葷
  3049. 701:user_src/soft_can.c **** * @param
  3050. 702:user_src/soft_can.c **** * @details
  3051. 703:user_src/soft_can.c **** * @author Zhang Sir
  3052. 704:user_src/soft_can.c **** **/
  3053. 705:user_src/soft_can.c **** void can_send_msg_normal(unsigned char *data, unsigned char length, unsigned int extid)
  3054. 706:user_src/soft_can.c **** {
  3055. 2211 .loc 1 706 1
  3056. 2212 .cfi_startproc
  3057. 2213 @ args = 0, pretend = 0, frame = 48
  3058. 2214 @ frame_needed = 1, uses_anonymous_args = 0
  3059. 2215 0000 90B5 push {r4, r7, lr}
  3060. 2216 .LCFI23:
  3061. 2217 .cfi_def_cfa_offset 12
  3062. 2218 .cfi_offset 4, -12
  3063. 2219 .cfi_offset 7, -8
  3064. 2220 .cfi_offset 14, -4
  3065. 2221 0002 91B0 sub sp, sp, #68
  3066. 2222 .LCFI24:
  3067. 2223 .cfi_def_cfa_offset 80
  3068. 2224 0004 04AF add r7, sp, #16
  3069. 2225 .LCFI25:
  3070. 2226 .cfi_def_cfa 7, 64
  3071. 2227 0006 F860 str r0, [r7, #12]
  3072. 2228 0008 0B46 mov r3, r1
  3073. 2229 000a 7A60 str r2, [r7, #4]
  3074. 2230 000c FB72 strb r3, [r7, #11]
  3075. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 54
  3076. 707:user_src/soft_can.c **** //霈∠��餃葷��
  3077. 708:user_src/soft_can.c **** unsigned char frame_num = (length - 1) / 8 + 1;
  3078. 2231 .loc 1 708 37
  3079. 2232 000e FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3080. 2233 0010 013B subs r3, r3, #1
  3081. 2234 .loc 1 708 42
  3082. 2235 0012 002B cmp r3, #0
  3083. 2236 0014 00DA bge .L144
  3084. 2237 0016 0733 adds r3, r3, #7
  3085. 2238 .L144:
  3086. 2239 0018 DB10 asrs r3, r3, #3
  3087. 2240 .loc 1 708 46
  3088. 2241 001a DBB2 uxtb r3, r3
  3089. 2242 .loc 1 708 17
  3090. 2243 001c 0133 adds r3, r3, #1
  3091. 2244 001e 87F82730 strb r3, [r7, #39]
  3092. 2245 .LBB2:
  3093. 709:user_src/soft_can.c ****
  3094. 710:user_src/soft_can.c **** for (char sequence = 0; sequence < frame_num; sequence++)
  3095. 2246 .loc 1 710 13
  3096. 2247 0022 0023 movs r3, #0
  3097. 2248 0024 87F82F30 strb r3, [r7, #47]
  3098. 2249 .loc 1 710 3
  3099. 2250 0028 77E0 b .L145
  3100. 2251 .L154:
  3101. 2252 .LBB3:
  3102. 711:user_src/soft_can.c **** {
  3103. 712:user_src/soft_can.c **** uint8_t Data[8];
  3104. 713:user_src/soft_can.c **** TxHeader.ExtId = extid;
  3105. 2253 .loc 1 713 20
  3106. 2254 002a 414A ldr r2, .L155
  3107. 2255 002c 7B68 ldr r3, [r7, #4]
  3108. 2256 002e 5360 str r3, [r2, #4]
  3109. 714:user_src/soft_can.c **** TxHeader.RTR = CAN_RTR_DATA;
  3110. 2257 .loc 1 714 18
  3111. 2258 0030 3F4B ldr r3, .L155
  3112. 2259 0032 0022 movs r2, #0
  3113. 2260 0034 DA60 str r2, [r3, #12]
  3114. 715:user_src/soft_can.c **** TxHeader.IDE = CAN_ID_EXT;
  3115. 2261 .loc 1 715 18
  3116. 2262 0036 3E4B ldr r3, .L155
  3117. 2263 0038 0422 movs r2, #4
  3118. 2264 003a 9A60 str r2, [r3, #8]
  3119. 716:user_src/soft_can.c ****
  3120. 717:user_src/soft_can.c **** //���撣扳糓�拙�撣抒�11
  3121. 718:user_src/soft_can.c **** TxHeader.StdId = TxHeader.ExtId & 0x1FFC0000;
  3122. 2265 .loc 1 718 30
  3123. 2266 003c 3C4B ldr r3, .L155
  3124. 2267 003e 5A68 ldr r2, [r3, #4]
  3125. 2268 .loc 1 718 37
  3126. 2269 0040 3C4B ldr r3, .L155+4
  3127. 2270 0042 1340 ands r3, r3, r2
  3128. 2271 .loc 1 718 20
  3129. 2272 0044 3A4A ldr r2, .L155
  3130. 2273 0046 1360 str r3, [r2]
  3131. 719:user_src/soft_can.c ****
  3132. 720:user_src/soft_can.c **** //憒���拐���鵭摨血之鈭�8銝芸�����蹱迨撣批�8摮𡑒�
  3133. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 55
  3134. 721:user_src/soft_can.c **** if (length - (sequence + 1) * 8 >= 0)
  3135. 2274 .loc 1 721 16
  3136. 2275 0048 FA7A ldrb r2, [r7, #11] @ zero_extendqisi2
  3137. 2276 .loc 1 721 28
  3138. 2277 004a 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3139. 2278 004e 0133 adds r3, r3, #1
  3140. 2279 .loc 1 721 33
  3141. 2280 0050 DB00 lsls r3, r3, #3
  3142. 2281 .loc 1 721 16
  3143. 2282 0052 D31A subs r3, r2, r3
  3144. 2283 .loc 1 721 8
  3145. 2284 0054 002B cmp r3, #0
  3146. 2285 0056 03DB blt .L146
  3147. 722:user_src/soft_can.c **** TxHeader.DLC = 8;
  3148. 2286 .loc 1 722 20
  3149. 2287 0058 354B ldr r3, .L155
  3150. 2288 005a 0822 movs r2, #8
  3151. 2289 005c 1A61 str r2, [r3, #16]
  3152. 2290 005e 07E0 b .L147
  3153. 2291 .L146:
  3154. 723:user_src/soft_can.c **** //�血��煾���雿坔���
  3155. 724:user_src/soft_can.c **** else
  3156. 725:user_src/soft_can.c **** TxHeader.DLC = length - sequence * 8;
  3157. 2292 .loc 1 725 29
  3158. 2293 0060 FA7A ldrb r2, [r7, #11] @ zero_extendqisi2
  3159. 2294 .loc 1 725 40
  3160. 2295 0062 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3161. 2296 0066 DB00 lsls r3, r3, #3
  3162. 2297 .loc 1 725 29
  3163. 2298 0068 D31A subs r3, r2, r3
  3164. 2299 006a 1A46 mov r2, r3
  3165. 2300 .loc 1 725 20
  3166. 2301 006c 304B ldr r3, .L155
  3167. 2302 006e 1A61 str r2, [r3, #16]
  3168. 2303 .L147:
  3169. 2304 .LBB4:
  3170. 726:user_src/soft_can.c ****
  3171. 727:user_src/soft_can.c **** //摮𡑒�韏见��
  3172. 728:user_src/soft_can.c **** for (int i = 0; i < TxHeader.DLC; i++)
  3173. 2305 .loc 1 728 14
  3174. 2306 0070 0023 movs r3, #0
  3175. 2307 0072 BB62 str r3, [r7, #40]
  3176. 2308 .loc 1 728 5
  3177. 2309 0074 11E0 b .L148
  3178. 2310 .L149:
  3179. 729:user_src/soft_can.c **** {
  3180. 730:user_src/soft_can.c **** Data[i] = *(data + sequence * 8 + i);
  3181. 2311 .loc 1 730 35 discriminator 3
  3182. 2312 0076 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3183. 2313 007a DB00 lsls r3, r3, #3
  3184. 2314 007c 1A46 mov r2, r3
  3185. 2315 .loc 1 730 39 discriminator 3
  3186. 2316 007e BB6A ldr r3, [r7, #40]
  3187. 2317 0080 1344 add r3, r3, r2
  3188. 2318 0082 FA68 ldr r2, [r7, #12]
  3189. 2319 0084 1344 add r3, r3, r2
  3190. 2320 .loc 1 730 17 discriminator 3
  3191. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 56
  3192. 2321 0086 1978 ldrb r1, [r3] @ zero_extendqisi2
  3193. 2322 .loc 1 730 15 discriminator 3
  3194. 2323 0088 07F11802 add r2, r7, #24
  3195. 2324 008c BB6A ldr r3, [r7, #40]
  3196. 2325 008e 1344 add r3, r3, r2
  3197. 2326 0090 0A46 mov r2, r1
  3198. 2327 0092 1A70 strb r2, [r3]
  3199. 728:user_src/soft_can.c **** {
  3200. 2328 .loc 1 728 40 discriminator 3
  3201. 2329 0094 BB6A ldr r3, [r7, #40]
  3202. 2330 0096 0133 adds r3, r3, #1
  3203. 2331 0098 BB62 str r3, [r7, #40]
  3204. 2332 .L148:
  3205. 728:user_src/soft_can.c **** {
  3206. 2333 .loc 1 728 33 discriminator 1
  3207. 2334 009a 254B ldr r3, .L155
  3208. 2335 009c 1A69 ldr r2, [r3, #16]
  3209. 728:user_src/soft_can.c **** {
  3210. 2336 .loc 1 728 23 discriminator 1
  3211. 2337 009e BB6A ldr r3, [r7, #40]
  3212. 728:user_src/soft_can.c **** {
  3213. 2338 .loc 1 728 5 discriminator 1
  3214. 2339 00a0 9A42 cmp r2, r3
  3215. 2340 00a2 E8D8 bhi .L149
  3216. 2341 .LBE4:
  3217. 731:user_src/soft_can.c **** }
  3218. 732:user_src/soft_can.c **** if(planep.Candebug_flag == true || HAL_GetTick() < 10000)
  3219. 2342 .loc 1 732 14
  3220. 2343 00a4 244B ldr r3, .L155+8
  3221. 2344 00a6 B3F91430 ldrsh r3, [r3, #20] @ unaligned
  3222. 2345 00aa 1BB2 sxth r3, r3
  3223. 2346 .loc 1 732 7
  3224. 2347 00ac 012B cmp r3, #1
  3225. 2348 00ae 06D0 beq .L150
  3226. 2349 .loc 1 732 40 discriminator 1
  3227. 2350 00b0 FFF7FEFF bl HAL_GetTick
  3228. 2351 00b4 0346 mov r3, r0
  3229. 2352 .loc 1 732 37 discriminator 1
  3230. 2353 00b6 42F20F72 movw r2, #9999
  3231. 2354 00ba 9342 cmp r3, r2
  3232. 2355 00bc 0DD8 bhi .L151
  3233. 2356 .L150:
  3234. 733:user_src/soft_can.c **** put_candata_to_rkfifo_tx(TxHeader, Data);
  3235. 2357 .loc 1 733 8
  3236. 2358 00be 1C4B ldr r3, .L155
  3237. 2359 00c0 07F11802 add r2, r7, #24
  3238. 2360 00c4 0292 str r2, [sp, #8]
  3239. 2361 00c6 6C46 mov r4, sp
  3240. 2362 00c8 03F11002 add r2, r3, #16
  3241. 2363 00cc 92E80300 ldm r2, {r0, r1}
  3242. 2364 00d0 84E80300 stm r4, {r0, r1}
  3243. 2365 00d4 0FCB ldm r3, {r0, r1, r2, r3}
  3244. 2366 00d6 FFF7FEFF bl put_candata_to_rkfifo_tx
  3245. 2367 .L151:
  3246. 734:user_src/soft_can.c **** //CAN�望�銝劐葵�煾���蝞梧�敶㮖�銝芷�蝞梢�皛⊥𧒄�唳㺭�格�瘜訫���
  3247. 735:user_src/soft_can.c **** //蝑匧��匧虾雿輻鍂���蝞梧�撟嗅���枂��
  3248. 736:user_src/soft_can.c **** uint32_t time2 = HAL_GetTick();
  3249. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 57
  3250. 2368 .loc 1 736 22
  3251. 2369 00da FFF7FEFF bl HAL_GetTick
  3252. 2370 00de 3862 str r0, [r7, #32]
  3253. 737:user_src/soft_can.c **** uint32_t TxMailBox0 = 0;
  3254. 2371 .loc 1 737 14
  3255. 2372 00e0 0023 movs r3, #0
  3256. 2373 00e2 7B61 str r3, [r7, #20]
  3257. 738:user_src/soft_can.c **** while (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) == 0 && HAL_GetTick() - time2 < 2)
  3258. 2374 .loc 1 738 11
  3259. 2375 00e4 00BF nop
  3260. 2376 .L153:
  3261. 2377 .loc 1 738 12 discriminator 2
  3262. 2378 00e6 1548 ldr r0, .L155+12
  3263. 2379 00e8 FFF7FEFF bl HAL_CAN_GetTxMailboxesFreeLevel
  3264. 2380 00ec 0346 mov r3, r0
  3265. 2381 .loc 1 738 11 discriminator 2
  3266. 2382 00ee 002B cmp r3, #0
  3267. 2383 00f0 06D1 bne .L152
  3268. 2384 .loc 1 738 59 discriminator 1
  3269. 2385 00f2 FFF7FEFF bl HAL_GetTick
  3270. 2386 00f6 0246 mov r2, r0
  3271. 2387 .loc 1 738 73 discriminator 1
  3272. 2388 00f8 3B6A ldr r3, [r7, #32]
  3273. 2389 00fa D31A subs r3, r2, r3
  3274. 2390 .loc 1 738 56 discriminator 1
  3275. 2391 00fc 012B cmp r3, #1
  3276. 2392 00fe F2D9 bls .L153
  3277. 2393 .L152:
  3278. 739:user_src/soft_can.c **** {
  3279. 740:user_src/soft_can.c **** }
  3280. 741:user_src/soft_can.c **** HAL_CAN_AddTxMessage(&hcan, &TxHeader, Data, &TxMailBox0);
  3281. 2394 .loc 1 741 5 discriminator 2
  3282. 2395 0100 07F11403 add r3, r7, #20
  3283. 2396 0104 07F11802 add r2, r7, #24
  3284. 2397 0108 0949 ldr r1, .L155
  3285. 2398 010a 0C48 ldr r0, .L155+12
  3286. 2399 010c FFF7FEFF bl HAL_CAN_AddTxMessage
  3287. 2400 .LBE3:
  3288. 710:user_src/soft_can.c **** {
  3289. 2401 .loc 1 710 57 discriminator 2
  3290. 2402 0110 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3291. 2403 0114 0133 adds r3, r3, #1
  3292. 2404 0116 87F82F30 strb r3, [r7, #47]
  3293. 2405 .L145:
  3294. 710:user_src/soft_can.c **** {
  3295. 2406 .loc 1 710 3 discriminator 1
  3296. 2407 011a 97F82F20 ldrb r2, [r7, #47] @ zero_extendqisi2
  3297. 2408 011e 97F82730 ldrb r3, [r7, #39] @ zero_extendqisi2
  3298. 2409 0122 9A42 cmp r2, r3
  3299. 2410 0124 81D3 bcc .L154
  3300. 2411 .LBE2:
  3301. 742:user_src/soft_can.c **** }
  3302. 743:user_src/soft_can.c **** }
  3303. 2412 .loc 1 743 1
  3304. 2413 0126 00BF nop
  3305. 2414 0128 00BF nop
  3306. 2415 012a 3437 adds r7, r7, #52
  3307. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 58
  3308. 2416 .LCFI26:
  3309. 2417 .cfi_def_cfa_offset 12
  3310. 2418 012c BD46 mov sp, r7
  3311. 2419 .LCFI27:
  3312. 2420 .cfi_def_cfa_register 13
  3313. 2421 @ sp needed
  3314. 2422 012e 90BD pop {r4, r7, pc}
  3315. 2423 .L156:
  3316. 2424 .align 2
  3317. 2425 .L155:
  3318. 2426 0130 00000000 .word TxHeader
  3319. 2427 0134 0000FC1F .word 536608768
  3320. 2428 0138 00000000 .word planep
  3321. 2429 013c 00000000 .word hcan
  3322. 2430 .cfi_endproc
  3323. 2431 .LFE138:
  3324. 2433 .section .text.can_send_msg_normalstd,"ax",%progbits
  3325. 2434 .align 1
  3326. 2435 .global can_send_msg_normalstd
  3327. 2436 .syntax unified
  3328. 2437 .thumb
  3329. 2438 .thumb_func
  3330. 2440 can_send_msg_normalstd:
  3331. 2441 .LFB139:
  3332. 744:user_src/soft_can.c ****
  3333. 745:user_src/soft_can.c ****
  3334. 746:user_src/soft_can.c **** /**
  3335. 747:user_src/soft_can.c **** * @file can_send_msg_normalstd
  3336. 748:user_src/soft_can.c **** * @brief CAN���鋆����遆�唳���葷
  3337. 749:user_src/soft_can.c **** * @param
  3338. 750:user_src/soft_can.c **** * @details
  3339. 751:user_src/soft_can.c **** * @author Zhang Sir
  3340. 752:user_src/soft_can.c **** **/
  3341. 753:user_src/soft_can.c **** void can_send_msg_normalstd(unsigned char *data, unsigned char length, unsigned int stdid)
  3342. 754:user_src/soft_can.c **** {
  3343. 2442 .loc 1 754 1
  3344. 2443 .cfi_startproc
  3345. 2444 @ args = 0, pretend = 0, frame = 48
  3346. 2445 @ frame_needed = 1, uses_anonymous_args = 0
  3347. 2446 0000 90B5 push {r4, r7, lr}
  3348. 2447 .LCFI28:
  3349. 2448 .cfi_def_cfa_offset 12
  3350. 2449 .cfi_offset 4, -12
  3351. 2450 .cfi_offset 7, -8
  3352. 2451 .cfi_offset 14, -4
  3353. 2452 0002 91B0 sub sp, sp, #68
  3354. 2453 .LCFI29:
  3355. 2454 .cfi_def_cfa_offset 80
  3356. 2455 0004 04AF add r7, sp, #16
  3357. 2456 .LCFI30:
  3358. 2457 .cfi_def_cfa 7, 64
  3359. 2458 0006 F860 str r0, [r7, #12]
  3360. 2459 0008 0B46 mov r3, r1
  3361. 2460 000a 7A60 str r2, [r7, #4]
  3362. 2461 000c FB72 strb r3, [r7, #11]
  3363. 755:user_src/soft_can.c **** // 霈∠��餃葷��
  3364. 756:user_src/soft_can.c **** unsigned char frame_num = (length - 1) / 8 + 1;
  3365. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 59
  3366. 2462 .loc 1 756 37
  3367. 2463 000e FB7A ldrb r3, [r7, #11] @ zero_extendqisi2
  3368. 2464 0010 013B subs r3, r3, #1
  3369. 2465 .loc 1 756 42
  3370. 2466 0012 002B cmp r3, #0
  3371. 2467 0014 00DA bge .L158
  3372. 2468 0016 0733 adds r3, r3, #7
  3373. 2469 .L158:
  3374. 2470 0018 DB10 asrs r3, r3, #3
  3375. 2471 .loc 1 756 46
  3376. 2472 001a DBB2 uxtb r3, r3
  3377. 2473 .loc 1 756 17
  3378. 2474 001c 0133 adds r3, r3, #1
  3379. 2475 001e 87F82730 strb r3, [r7, #39]
  3380. 2476 .LBB5:
  3381. 757:user_src/soft_can.c **** uint8_t Datas[8];
  3382. 758:user_src/soft_can.c **** for (char sequence = 0; sequence < frame_num; sequence++)
  3383. 2477 .loc 1 758 13
  3384. 2478 0022 0023 movs r3, #0
  3385. 2479 0024 87F82F30 strb r3, [r7, #47]
  3386. 2480 .loc 1 758 3
  3387. 2481 0028 71E0 b .L159
  3388. 2482 .L168:
  3389. 2483 .LBB6:
  3390. 759:user_src/soft_can.c **** {
  3391. 760:user_src/soft_can.c **** TxHeader.RTR = CAN_RTR_DATA;
  3392. 2484 .loc 1 760 18
  3393. 2485 002a 3E4B ldr r3, .L169
  3394. 2486 002c 0022 movs r2, #0
  3395. 2487 002e DA60 str r2, [r3, #12]
  3396. 761:user_src/soft_can.c **** TxHeader.IDE = CAN_ID_STD;
  3397. 2488 .loc 1 761 18
  3398. 2489 0030 3C4B ldr r3, .L169
  3399. 2490 0032 0022 movs r2, #0
  3400. 2491 0034 9A60 str r2, [r3, #8]
  3401. 762:user_src/soft_can.c ****
  3402. 763:user_src/soft_can.c **** TxHeader.StdId = stdid;
  3403. 2492 .loc 1 763 20
  3404. 2493 0036 3B4A ldr r2, .L169
  3405. 2494 0038 7B68 ldr r3, [r7, #4]
  3406. 2495 003a 1360 str r3, [r2]
  3407. 764:user_src/soft_can.c ****
  3408. 765:user_src/soft_can.c **** //憒���拐���鵭摨血之8銝芸�����蹱迨撣批�8銝�
  3409. 766:user_src/soft_can.c **** if (length - (sequence + 1) * 8 >= 0)
  3410. 2496 .loc 1 766 16
  3411. 2497 003c FA7A ldrb r2, [r7, #11] @ zero_extendqisi2
  3412. 2498 .loc 1 766 28
  3413. 2499 003e 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3414. 2500 0042 0133 adds r3, r3, #1
  3415. 2501 .loc 1 766 33
  3416. 2502 0044 DB00 lsls r3, r3, #3
  3417. 2503 .loc 1 766 16
  3418. 2504 0046 D31A subs r3, r2, r3
  3419. 2505 .loc 1 766 8
  3420. 2506 0048 002B cmp r3, #0
  3421. 2507 004a 03DB blt .L160
  3422. 767:user_src/soft_can.c **** TxHeader.DLC = 8;
  3423. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 60
  3424. 2508 .loc 1 767 20
  3425. 2509 004c 354B ldr r3, .L169
  3426. 2510 004e 0822 movs r2, #8
  3427. 2511 0050 1A61 str r2, [r3, #16]
  3428. 2512 0052 07E0 b .L161
  3429. 2513 .L160:
  3430. 768:user_src/soft_can.c **** //�血��煾���雿坔���
  3431. 769:user_src/soft_can.c **** else
  3432. 770:user_src/soft_can.c **** TxHeader.DLC = length - sequence * 8;
  3433. 2514 .loc 1 770 29
  3434. 2515 0054 FA7A ldrb r2, [r7, #11] @ zero_extendqisi2
  3435. 2516 .loc 1 770 40
  3436. 2517 0056 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3437. 2518 005a DB00 lsls r3, r3, #3
  3438. 2519 .loc 1 770 29
  3439. 2520 005c D31A subs r3, r2, r3
  3440. 2521 005e 1A46 mov r2, r3
  3441. 2522 .loc 1 770 20
  3442. 2523 0060 304B ldr r3, .L169
  3443. 2524 0062 1A61 str r2, [r3, #16]
  3444. 2525 .L161:
  3445. 2526 .LBB7:
  3446. 771:user_src/soft_can.c ****
  3447. 772:user_src/soft_can.c **** //摮𡑒�韏贝�
  3448. 773:user_src/soft_can.c **** for (int i = 0; i < TxHeader.DLC; i++)
  3449. 2527 .loc 1 773 14
  3450. 2528 0064 0023 movs r3, #0
  3451. 2529 0066 BB62 str r3, [r7, #40]
  3452. 2530 .loc 1 773 5
  3453. 2531 0068 11E0 b .L162
  3454. 2532 .L163:
  3455. 774:user_src/soft_can.c **** {
  3456. 775:user_src/soft_can.c **** Datas[i] = *(data + sequence * 8 + i);
  3457. 2533 .loc 1 775 36 discriminator 3
  3458. 2534 006a 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3459. 2535 006e DB00 lsls r3, r3, #3
  3460. 2536 0070 1A46 mov r2, r3
  3461. 2537 .loc 1 775 40 discriminator 3
  3462. 2538 0072 BB6A ldr r3, [r7, #40]
  3463. 2539 0074 1344 add r3, r3, r2
  3464. 2540 0076 FA68 ldr r2, [r7, #12]
  3465. 2541 0078 1344 add r3, r3, r2
  3466. 2542 .loc 1 775 18 discriminator 3
  3467. 2543 007a 1978 ldrb r1, [r3] @ zero_extendqisi2
  3468. 2544 .loc 1 775 16 discriminator 3
  3469. 2545 007c 07F11802 add r2, r7, #24
  3470. 2546 0080 BB6A ldr r3, [r7, #40]
  3471. 2547 0082 1344 add r3, r3, r2
  3472. 2548 0084 0A46 mov r2, r1
  3473. 2549 0086 1A70 strb r2, [r3]
  3474. 773:user_src/soft_can.c **** {
  3475. 2550 .loc 1 773 40 discriminator 3
  3476. 2551 0088 BB6A ldr r3, [r7, #40]
  3477. 2552 008a 0133 adds r3, r3, #1
  3478. 2553 008c BB62 str r3, [r7, #40]
  3479. 2554 .L162:
  3480. 773:user_src/soft_can.c **** {
  3481. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 61
  3482. 2555 .loc 1 773 33 discriminator 1
  3483. 2556 008e 254B ldr r3, .L169
  3484. 2557 0090 1A69 ldr r2, [r3, #16]
  3485. 773:user_src/soft_can.c **** {
  3486. 2558 .loc 1 773 23 discriminator 1
  3487. 2559 0092 BB6A ldr r3, [r7, #40]
  3488. 773:user_src/soft_can.c **** {
  3489. 2560 .loc 1 773 5 discriminator 1
  3490. 2561 0094 9A42 cmp r2, r3
  3491. 2562 0096 E8D8 bhi .L163
  3492. 2563 .LBE7:
  3493. 776:user_src/soft_can.c **** }
  3494. 777:user_src/soft_can.c ****
  3495. 778:user_src/soft_can.c **** if(planep.Candebug_flag == true || HAL_GetTick() < 10000)
  3496. 2564 .loc 1 778 14
  3497. 2565 0098 234B ldr r3, .L169+4
  3498. 2566 009a B3F91430 ldrsh r3, [r3, #20] @ unaligned
  3499. 2567 009e 1BB2 sxth r3, r3
  3500. 2568 .loc 1 778 7
  3501. 2569 00a0 012B cmp r3, #1
  3502. 2570 00a2 06D0 beq .L164
  3503. 2571 .loc 1 778 40 discriminator 1
  3504. 2572 00a4 FFF7FEFF bl HAL_GetTick
  3505. 2573 00a8 0346 mov r3, r0
  3506. 2574 .loc 1 778 37 discriminator 1
  3507. 2575 00aa 42F20F72 movw r2, #9999
  3508. 2576 00ae 9342 cmp r3, r2
  3509. 2577 00b0 0DD8 bhi .L165
  3510. 2578 .L164:
  3511. 779:user_src/soft_can.c **** put_candata_to_rkfifo_tx(TxHeader, Datas);
  3512. 2579 .loc 1 779 8
  3513. 2580 00b2 1C4B ldr r3, .L169
  3514. 2581 00b4 07F11802 add r2, r7, #24
  3515. 2582 00b8 0292 str r2, [sp, #8]
  3516. 2583 00ba 6C46 mov r4, sp
  3517. 2584 00bc 03F11002 add r2, r3, #16
  3518. 2585 00c0 92E80300 ldm r2, {r0, r1}
  3519. 2586 00c4 84E80300 stm r4, {r0, r1}
  3520. 2587 00c8 0FCB ldm r3, {r0, r1, r2, r3}
  3521. 2588 00ca FFF7FEFF bl put_candata_to_rkfifo_tx
  3522. 2589 .L165:
  3523. 780:user_src/soft_can.c ****
  3524. 781:user_src/soft_can.c **** //CAN�望�銝劐葵�煾���蝞梧�敶㮖�銝芷�蝞梢�皛⊥𧒄�唳㺭�格�瘜訫���
  3525. 782:user_src/soft_can.c **** //蝑匧��匧虾雿輻鍂���蝞梧�撟嗅���枂��
  3526. 783:user_src/soft_can.c **** uint32_t time2 = HAL_GetTick();
  3527. 2590 .loc 1 783 22
  3528. 2591 00ce FFF7FEFF bl HAL_GetTick
  3529. 2592 00d2 3862 str r0, [r7, #32]
  3530. 784:user_src/soft_can.c **** uint32_t TxMailBox0 = 0;
  3531. 2593 .loc 1 784 14
  3532. 2594 00d4 0023 movs r3, #0
  3533. 2595 00d6 7B61 str r3, [r7, #20]
  3534. 785:user_src/soft_can.c **** while (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) == 0 && HAL_GetTick() - time2 < 2)
  3535. 2596 .loc 1 785 11
  3536. 2597 00d8 00BF nop
  3537. 2598 .L167:
  3538. 2599 .loc 1 785 12 discriminator 2
  3539. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 62
  3540. 2600 00da 1448 ldr r0, .L169+8
  3541. 2601 00dc FFF7FEFF bl HAL_CAN_GetTxMailboxesFreeLevel
  3542. 2602 00e0 0346 mov r3, r0
  3543. 2603 .loc 1 785 11 discriminator 2
  3544. 2604 00e2 002B cmp r3, #0
  3545. 2605 00e4 06D1 bne .L166
  3546. 2606 .loc 1 785 59 discriminator 1
  3547. 2607 00e6 FFF7FEFF bl HAL_GetTick
  3548. 2608 00ea 0246 mov r2, r0
  3549. 2609 .loc 1 785 73 discriminator 1
  3550. 2610 00ec 3B6A ldr r3, [r7, #32]
  3551. 2611 00ee D31A subs r3, r2, r3
  3552. 2612 .loc 1 785 56 discriminator 1
  3553. 2613 00f0 012B cmp r3, #1
  3554. 2614 00f2 F2D9 bls .L167
  3555. 2615 .L166:
  3556. 786:user_src/soft_can.c **** {
  3557. 787:user_src/soft_can.c **** }
  3558. 788:user_src/soft_can.c **** HAL_CAN_AddTxMessage(&hcan, &TxHeader, Datas, &TxMailBox0);
  3559. 2616 .loc 1 788 5 discriminator 2
  3560. 2617 00f4 07F11403 add r3, r7, #20
  3561. 2618 00f8 07F11802 add r2, r7, #24
  3562. 2619 00fc 0949 ldr r1, .L169
  3563. 2620 00fe 0B48 ldr r0, .L169+8
  3564. 2621 0100 FFF7FEFF bl HAL_CAN_AddTxMessage
  3565. 2622 .LBE6:
  3566. 758:user_src/soft_can.c **** {
  3567. 2623 .loc 1 758 57 discriminator 2
  3568. 2624 0104 97F82F30 ldrb r3, [r7, #47] @ zero_extendqisi2
  3569. 2625 0108 0133 adds r3, r3, #1
  3570. 2626 010a 87F82F30 strb r3, [r7, #47]
  3571. 2627 .L159:
  3572. 758:user_src/soft_can.c **** {
  3573. 2628 .loc 1 758 3 discriminator 1
  3574. 2629 010e 97F82F20 ldrb r2, [r7, #47] @ zero_extendqisi2
  3575. 2630 0112 97F82730 ldrb r3, [r7, #39] @ zero_extendqisi2
  3576. 2631 0116 9A42 cmp r2, r3
  3577. 2632 0118 87D3 bcc .L168
  3578. 2633 .LBE5:
  3579. 789:user_src/soft_can.c **** }
  3580. 790:user_src/soft_can.c **** }
  3581. 2634 .loc 1 790 1
  3582. 2635 011a 00BF nop
  3583. 2636 011c 00BF nop
  3584. 2637 011e 3437 adds r7, r7, #52
  3585. 2638 .LCFI31:
  3586. 2639 .cfi_def_cfa_offset 12
  3587. 2640 0120 BD46 mov sp, r7
  3588. 2641 .LCFI32:
  3589. 2642 .cfi_def_cfa_register 13
  3590. 2643 @ sp needed
  3591. 2644 0122 90BD pop {r4, r7, pc}
  3592. 2645 .L170:
  3593. 2646 .align 2
  3594. 2647 .L169:
  3595. 2648 0124 00000000 .word TxHeader
  3596. 2649 0128 00000000 .word planep
  3597. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 63
  3598. 2650 012c 00000000 .word hcan
  3599. 2651 .cfi_endproc
  3600. 2652 .LFE139:
  3601. 2654 .section .text.check_radar_link_status,"ax",%progbits
  3602. 2655 .align 1
  3603. 2656 .global check_radar_link_status
  3604. 2657 .syntax unified
  3605. 2658 .thumb
  3606. 2659 .thumb_func
  3607. 2661 check_radar_link_status:
  3608. 2662 .LFB140:
  3609. 791:user_src/soft_can.c ****
  3610. 792:user_src/soft_can.c **** /**
  3611. 793:user_src/soft_can.c **** * @file check_radar_link_status
  3612. 794:user_src/soft_can.c **** * @brief 璉��仿𡺨颲曇��亙遆��
  3613. 795:user_src/soft_can.c **** * @param
  3614. 796:user_src/soft_can.c **** * @details
  3615. 797:user_src/soft_can.c **** * @author Zhang Sir
  3616. 798:user_src/soft_can.c **** **/
  3617. 799:user_src/soft_can.c **** void check_radar_link_status()
  3618. 800:user_src/soft_can.c **** {
  3619. 2663 .loc 1 800 1
  3620. 2664 .cfi_startproc
  3621. 2665 @ args = 0, pretend = 0, frame = 0
  3622. 2666 @ frame_needed = 1, uses_anonymous_args = 0
  3623. 2667 0000 80B5 push {r7, lr}
  3624. 2668 .LCFI33:
  3625. 2669 .cfi_def_cfa_offset 8
  3626. 2670 .cfi_offset 7, -8
  3627. 2671 .cfi_offset 14, -4
  3628. 2672 0002 00AF add r7, sp, #0
  3629. 2673 .LCFI34:
  3630. 2674 .cfi_def_cfa_register 7
  3631. 801:user_src/soft_can.c **** //Check_dev_link(&muniu_ter_info.Link,3000,(char *)&muniu_ter_info,sizeof(uavr_terrain));
  3632. 802:user_src/soft_can.c **** Check_dev_link(&mimo_ter_info.Link,3000,(char *)&mimo_ter_info,sizeof(uavr_terrain));
  3633. 2675 .loc 1 802 3
  3634. 2676 0004 4523 movs r3, #69
  3635. 2677 0006 2A4A ldr r2, .L172
  3636. 2678 0008 40F6B831 movw r1, #3000
  3637. 2679 000c 2848 ldr r0, .L172
  3638. 2680 000e FFF7FEFF bl Check_dev_link
  3639. 803:user_src/soft_can.c **** Check_dev_link(&uavr56_info.Link,3000,(char *)&uavr56_info,sizeof(uavr_terrain));
  3640. 2681 .loc 1 803 3
  3641. 2682 0012 4523 movs r3, #69
  3642. 2683 0014 274A ldr r2, .L172+4
  3643. 2684 0016 40F6B831 movw r1, #3000
  3644. 2685 001a 2648 ldr r0, .L172+4
  3645. 2686 001c FFF7FEFF bl Check_dev_link
  3646. 804:user_src/soft_can.c **** Check_dev_link(&uavr11_info.Link,3000,(char *)&uavr11_info,sizeof(uavr_obs));
  3647. 2687 .loc 1 804 3
  3648. 2688 0020 4523 movs r3, #69
  3649. 2689 0022 254A ldr r2, .L172+8
  3650. 2690 0024 40F6B831 movw r1, #3000
  3651. 2691 0028 2348 ldr r0, .L172+8
  3652. 2692 002a FFF7FEFF bl Check_dev_link
  3653. 805:user_src/soft_can.c **** Check_dev_link(&uavr12_info.Link,3000,(char *)&uavr12_info,sizeof(uavr_obs));
  3654. 2693 .loc 1 805 3
  3655. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 64
  3656. 2694 002e 4523 movs r3, #69
  3657. 2695 0030 224A ldr r2, .L172+12
  3658. 2696 0032 40F6B831 movw r1, #3000
  3659. 2697 0036 2148 ldr r0, .L172+12
  3660. 2698 0038 FFF7FEFF bl Check_dev_link
  3661. 806:user_src/soft_can.c **** Check_dev_link(&mimo_f_info.Link,3000,(char *)&mimo_f_info,sizeof(uavr_obs));
  3662. 2699 .loc 1 806 3
  3663. 2700 003c 4523 movs r3, #69
  3664. 2701 003e 204A ldr r2, .L172+16
  3665. 2702 0040 40F6B831 movw r1, #3000
  3666. 2703 0044 1E48 ldr r0, .L172+16
  3667. 2704 0046 FFF7FEFF bl Check_dev_link
  3668. 807:user_src/soft_can.c **** Check_dev_link(&mimo_b_info.Link,3000,(char *)&mimo_b_info,sizeof(uavr_obs));
  3669. 2705 .loc 1 807 3
  3670. 2706 004a 4523 movs r3, #69
  3671. 2707 004c 1D4A ldr r2, .L172+20
  3672. 2708 004e 40F6B831 movw r1, #3000
  3673. 2709 0052 1C48 ldr r0, .L172+20
  3674. 2710 0054 FFF7FEFF bl Check_dev_link
  3675. 808:user_src/soft_can.c **** Check_dev_link(&DM_ter_info.Link,3000,(char *)&DM_ter_info,sizeof(uavr_terrain));
  3676. 2711 .loc 1 808 3
  3677. 2712 0058 4523 movs r3, #69
  3678. 2713 005a 1B4A ldr r2, .L172+24
  3679. 2714 005c 40F6B831 movw r1, #3000
  3680. 2715 0060 1948 ldr r0, .L172+24
  3681. 2716 0062 FFF7FEFF bl Check_dev_link
  3682. 809:user_src/soft_can.c **** Check_dev_link(&DM_f_info.Link,3000,(char *)&DM_f_info,sizeof(uavr_obs));
  3683. 2717 .loc 1 809 3
  3684. 2718 0066 4523 movs r3, #69
  3685. 2719 0068 184A ldr r2, .L172+28
  3686. 2720 006a 40F6B831 movw r1, #3000
  3687. 2721 006e 1748 ldr r0, .L172+28
  3688. 2722 0070 FFF7FEFF bl Check_dev_link
  3689. 810:user_src/soft_can.c **** //Check_dev_link(&mimo_360_info,3000,NULL,sizeof(uavr_obs));
  3690. 811:user_src/soft_can.c **** Check_dev_link(&DM_status,3000,NULL,sizeof(DM_RADAR));
  3691. 2723 .loc 1 811 3
  3692. 2724 0074 9E23 movs r3, #158
  3693. 2725 0076 0022 movs r2, #0
  3694. 2726 0078 40F6B831 movw r1, #3000
  3695. 2727 007c 1448 ldr r0, .L172+32
  3696. 2728 007e FFF7FEFF bl Check_dev_link
  3697. 812:user_src/soft_can.c **** Check_dev_link(&Dev.Part_Tradar_Link,3000,(char *)&Dev.Part_radarT,sizeof(Part_Tradar));
  3698. 2729 .loc 1 812 3
  3699. 2730 0082 0723 movs r3, #7
  3700. 2731 0084 134A ldr r2, .L172+36
  3701. 2732 0086 40F6B831 movw r1, #3000
  3702. 2733 008a 1348 ldr r0, .L172+40
  3703. 2734 008c FFF7FEFF bl Check_dev_link
  3704. 813:user_src/soft_can.c **** Check_dev_link(&Dev.Part_Fradar_Link,3000,(char *)&Dev.Part_radarF,sizeof(Part_Fradar));
  3705. 2735 .loc 1 813 3
  3706. 2736 0090 1323 movs r3, #19
  3707. 2737 0092 124A ldr r2, .L172+44
  3708. 2738 0094 40F6B831 movw r1, #3000
  3709. 2739 0098 1148 ldr r0, .L172+48
  3710. 2740 009a FFF7FEFF bl Check_dev_link
  3711. 814:user_src/soft_can.c **** Check_dev_link(&Dev.Part_Bradar_Link,3000,(char *)&Dev.Part_radarB,sizeof(Part_Fradar));
  3712. 2741 .loc 1 814 3
  3713. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 65
  3714. 2742 009e 1323 movs r3, #19
  3715. 2743 00a0 104A ldr r2, .L172+52
  3716. 2744 00a2 40F6B831 movw r1, #3000
  3717. 2745 00a6 1048 ldr r0, .L172+56
  3718. 2746 00a8 FFF7FEFF bl Check_dev_link
  3719. 815:user_src/soft_can.c **** }
  3720. 2747 .loc 1 815 1
  3721. 2748 00ac 00BF nop
  3722. 2749 00ae 80BD pop {r7, pc}
  3723. 2750 .L173:
  3724. 2751 .align 2
  3725. 2752 .L172:
  3726. 2753 00b0 00000000 .word mimo_ter_info
  3727. 2754 00b4 00000000 .word uavr56_info
  3728. 2755 00b8 00000000 .word uavr11_info
  3729. 2756 00bc 00000000 .word uavr12_info
  3730. 2757 00c0 00000000 .word mimo_f_info
  3731. 2758 00c4 00000000 .word mimo_b_info
  3732. 2759 00c8 00000000 .word DM_ter_info
  3733. 2760 00cc 00000000 .word DM_f_info
  3734. 2761 00d0 00000000 .word DM_status
  3735. 2762 00d4 2C020000 .word Dev+556
  3736. 2763 00d8 34020000 .word Dev+564
  3737. 2764 00dc 40020000 .word Dev+576
  3738. 2765 00e0 54020000 .word Dev+596
  3739. 2766 00e4 74020000 .word Dev+628
  3740. 2767 00e8 88020000 .word Dev+648
  3741. 2768 .cfi_endproc
  3742. 2769 .LFE140:
  3743. 2771 .section .text.put_date_to_can,"ax",%progbits
  3744. 2772 .align 1
  3745. 2773 .global put_date_to_can
  3746. 2774 .syntax unified
  3747. 2775 .thumb
  3748. 2776 .thumb_func
  3749. 2778 put_date_to_can:
  3750. 2779 .LFB141:
  3751. 816:user_src/soft_can.c ****
  3752. 817:user_src/soft_can.c **** void put_date_to_can(uint8_t *buf,uint8_t par1,uint8_t par2,uint8_t par3,uint8_t par4,uint8_t par5,
  3753. 818:user_src/soft_can.c **** uint8_t par6,uint8_t par7,uint8_t par8)
  3754. 819:user_src/soft_can.c **** {
  3755. 2780 .loc 1 819 1
  3756. 2781 .cfi_startproc
  3757. 2782 @ args = 20, pretend = 0, frame = 16
  3758. 2783 @ frame_needed = 1, uses_anonymous_args = 0
  3759. 2784 @ link register save eliminated.
  3760. 2785 0000 80B4 push {r7}
  3761. 2786 .LCFI35:
  3762. 2787 .cfi_def_cfa_offset 4
  3763. 2788 .cfi_offset 7, -4
  3764. 2789 0002 85B0 sub sp, sp, #20
  3765. 2790 .LCFI36:
  3766. 2791 .cfi_def_cfa_offset 24
  3767. 2792 0004 00AF add r7, sp, #0
  3768. 2793 .LCFI37:
  3769. 2794 .cfi_def_cfa_register 7
  3770. 2795 0006 7860 str r0, [r7, #4]
  3771. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 66
  3772. 2796 0008 0846 mov r0, r1
  3773. 2797 000a 1146 mov r1, r2
  3774. 2798 000c 1A46 mov r2, r3
  3775. 2799 000e 0346 mov r3, r0
  3776. 2800 0010 FB70 strb r3, [r7, #3]
  3777. 2801 0012 0B46 mov r3, r1
  3778. 2802 0014 BB70 strb r3, [r7, #2]
  3779. 2803 0016 1346 mov r3, r2
  3780. 2804 0018 7B70 strb r3, [r7, #1]
  3781. 820:user_src/soft_can.c **** uint8_t *ptr = buf;
  3782. 2805 .loc 1 820 12
  3783. 2806 001a 7B68 ldr r3, [r7, #4]
  3784. 2807 001c FB60 str r3, [r7, #12]
  3785. 821:user_src/soft_can.c **** *(ptr++) = par1;
  3786. 2808 .loc 1 821 8
  3787. 2809 001e FB68 ldr r3, [r7, #12]
  3788. 2810 0020 5A1C adds r2, r3, #1
  3789. 2811 0022 FA60 str r2, [r7, #12]
  3790. 2812 .loc 1 821 12
  3791. 2813 0024 FA78 ldrb r2, [r7, #3]
  3792. 2814 0026 1A70 strb r2, [r3]
  3793. 822:user_src/soft_can.c **** *(ptr++) = par2;
  3794. 2815 .loc 1 822 8
  3795. 2816 0028 FB68 ldr r3, [r7, #12]
  3796. 2817 002a 5A1C adds r2, r3, #1
  3797. 2818 002c FA60 str r2, [r7, #12]
  3798. 2819 .loc 1 822 12
  3799. 2820 002e BA78 ldrb r2, [r7, #2]
  3800. 2821 0030 1A70 strb r2, [r3]
  3801. 823:user_src/soft_can.c **** *(ptr++) = par3;
  3802. 2822 .loc 1 823 8
  3803. 2823 0032 FB68 ldr r3, [r7, #12]
  3804. 2824 0034 5A1C adds r2, r3, #1
  3805. 2825 0036 FA60 str r2, [r7, #12]
  3806. 2826 .loc 1 823 12
  3807. 2827 0038 7A78 ldrb r2, [r7, #1]
  3808. 2828 003a 1A70 strb r2, [r3]
  3809. 824:user_src/soft_can.c **** *(ptr++) = par4;
  3810. 2829 .loc 1 824 8
  3811. 2830 003c FB68 ldr r3, [r7, #12]
  3812. 2831 003e 5A1C adds r2, r3, #1
  3813. 2832 0040 FA60 str r2, [r7, #12]
  3814. 2833 .loc 1 824 12
  3815. 2834 0042 3A7E ldrb r2, [r7, #24]
  3816. 2835 0044 1A70 strb r2, [r3]
  3817. 825:user_src/soft_can.c **** *(ptr++) = par5;
  3818. 2836 .loc 1 825 8
  3819. 2837 0046 FB68 ldr r3, [r7, #12]
  3820. 2838 0048 5A1C adds r2, r3, #1
  3821. 2839 004a FA60 str r2, [r7, #12]
  3822. 2840 .loc 1 825 12
  3823. 2841 004c 3A7F ldrb r2, [r7, #28]
  3824. 2842 004e 1A70 strb r2, [r3]
  3825. 826:user_src/soft_can.c **** *(ptr++) = par6;
  3826. 2843 .loc 1 826 8
  3827. 2844 0050 FB68 ldr r3, [r7, #12]
  3828. 2845 0052 5A1C adds r2, r3, #1
  3829. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 67
  3830. 2846 0054 FA60 str r2, [r7, #12]
  3831. 2847 .loc 1 826 12
  3832. 2848 0056 97F82020 ldrb r2, [r7, #32]
  3833. 2849 005a 1A70 strb r2, [r3]
  3834. 827:user_src/soft_can.c **** *(ptr++) = par7;
  3835. 2850 .loc 1 827 8
  3836. 2851 005c FB68 ldr r3, [r7, #12]
  3837. 2852 005e 5A1C adds r2, r3, #1
  3838. 2853 0060 FA60 str r2, [r7, #12]
  3839. 2854 .loc 1 827 12
  3840. 2855 0062 97F82420 ldrb r2, [r7, #36]
  3841. 2856 0066 1A70 strb r2, [r3]
  3842. 828:user_src/soft_can.c **** *(ptr++) = par8;
  3843. 2857 .loc 1 828 8
  3844. 2858 0068 FB68 ldr r3, [r7, #12]
  3845. 2859 006a 5A1C adds r2, r3, #1
  3846. 2860 006c FA60 str r2, [r7, #12]
  3847. 2861 .loc 1 828 12
  3848. 2862 006e 97F82820 ldrb r2, [r7, #40]
  3849. 2863 0072 1A70 strb r2, [r3]
  3850. 829:user_src/soft_can.c **** }
  3851. 2864 .loc 1 829 1
  3852. 2865 0074 00BF nop
  3853. 2866 0076 1437 adds r7, r7, #20
  3854. 2867 .LCFI38:
  3855. 2868 .cfi_def_cfa_offset 4
  3856. 2869 0078 BD46 mov sp, r7
  3857. 2870 .LCFI39:
  3858. 2871 .cfi_def_cfa_register 13
  3859. 2872 @ sp needed
  3860. 2873 007a 5DF8047B ldr r7, [sp], #4
  3861. 2874 .LCFI40:
  3862. 2875 .cfi_restore 7
  3863. 2876 .cfi_def_cfa_offset 0
  3864. 2877 007e 7047 bx lr
  3865. 2878 .cfi_endproc
  3866. 2879 .LFE141:
  3867. 2881 .section .text.CAN1_SCE_IRQHandler,"ax",%progbits
  3868. 2882 .align 1
  3869. 2883 .global CAN1_SCE_IRQHandler
  3870. 2884 .syntax unified
  3871. 2885 .thumb
  3872. 2886 .thumb_func
  3873. 2888 CAN1_SCE_IRQHandler:
  3874. 2889 .LFB142:
  3875. 830:user_src/soft_can.c ****
  3876. 831:user_src/soft_can.c **** /**
  3877. 832:user_src/soft_can.c **** * @file CAN1_SCE_IRQHandler
  3878. 833:user_src/soft_can.c **** * @brief CAN�躰秤銝剜鱏憭��
  3879. 834:user_src/soft_can.c **** * @param
  3880. 835:user_src/soft_can.c **** * @details
  3881. 836:user_src/soft_can.c **** * @author Zhang Sir
  3882. 837:user_src/soft_can.c **** **/
  3883. 838:user_src/soft_can.c **** void CAN1_SCE_IRQHandler()
  3884. 839:user_src/soft_can.c **** {
  3885. 2890 .loc 1 839 1
  3886. 2891 .cfi_startproc
  3887. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 68
  3888. 2892 @ args = 0, pretend = 0, frame = 0
  3889. 2893 @ frame_needed = 1, uses_anonymous_args = 0
  3890. 2894 @ link register save eliminated.
  3891. 2895 0000 80B4 push {r7}
  3892. 2896 .LCFI41:
  3893. 2897 .cfi_def_cfa_offset 4
  3894. 2898 .cfi_offset 7, -4
  3895. 2899 0002 00AF add r7, sp, #0
  3896. 2900 .LCFI42:
  3897. 2901 .cfi_def_cfa_register 7
  3898. 840:user_src/soft_can.c **** if (__HAL_CAN_GET_FLAG(&hcan, CAN_FLAG_BOF) != RESET)
  3899. 2902 .loc 1 840 7
  3900. 2903 0004 144B ldr r3, .L179
  3901. 2904 0006 1B68 ldr r3, [r3]
  3902. 2905 0008 9B69 ldr r3, [r3, #24]
  3903. 2906 000a 03F00403 and r3, r3, #4
  3904. 2907 .loc 1 840 6
  3905. 2908 000e 042B cmp r3, #4
  3906. 2909 0010 03D1 bne .L176
  3907. 841:user_src/soft_can.c **** {
  3908. 842:user_src/soft_can.c **** __HAL_CAN_CLEAR_FLAG(&hcan, CAN_FLAG_ERRI);
  3909. 2910 .loc 1 842 5
  3910. 2911 0012 114B ldr r3, .L179
  3911. 2912 0014 1B68 ldr r3, [r3]
  3912. 2913 0016 0422 movs r2, #4
  3913. 2914 0018 5A60 str r2, [r3, #4]
  3914. 2915 .L176:
  3915. 843:user_src/soft_can.c **** }
  3916. 844:user_src/soft_can.c **** if (__HAL_CAN_GET_FLAG(&hcan, CAN_FLAG_EPV) != RESET)
  3917. 2916 .loc 1 844 7
  3918. 2917 001a 0F4B ldr r3, .L179
  3919. 2918 001c 1B68 ldr r3, [r3]
  3920. 2919 001e 9B69 ldr r3, [r3, #24]
  3921. 2920 0020 03F00203 and r3, r3, #2
  3922. 2921 .loc 1 844 6
  3923. 2922 0024 022B cmp r3, #2
  3924. 2923 0026 03D1 bne .L177
  3925. 845:user_src/soft_can.c **** {
  3926. 846:user_src/soft_can.c **** __HAL_CAN_CLEAR_FLAG(&hcan, CAN_FLAG_ERRI);
  3927. 2924 .loc 1 846 5
  3928. 2925 0028 0B4B ldr r3, .L179
  3929. 2926 002a 1B68 ldr r3, [r3]
  3930. 2927 002c 0422 movs r2, #4
  3931. 2928 002e 5A60 str r2, [r3, #4]
  3932. 2929 .L177:
  3933. 847:user_src/soft_can.c **** }
  3934. 848:user_src/soft_can.c **** if (__HAL_CAN_GET_FLAG(&hcan, CAN_FLAG_EWG) != RESET)
  3935. 2930 .loc 1 848 7
  3936. 2931 0030 094B ldr r3, .L179
  3937. 2932 0032 1B68 ldr r3, [r3]
  3938. 2933 0034 9B69 ldr r3, [r3, #24]
  3939. 2934 0036 03F00103 and r3, r3, #1
  3940. 2935 .loc 1 848 6
  3941. 2936 003a 012B cmp r3, #1
  3942. 2937 003c 03D1 bne .L178
  3943. 849:user_src/soft_can.c **** {
  3944. 850:user_src/soft_can.c **** __HAL_CAN_CLEAR_FLAG(&hcan, CAN_FLAG_ERRI);
  3945. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 69
  3946. 2938 .loc 1 850 5
  3947. 2939 003e 064B ldr r3, .L179
  3948. 2940 0040 1B68 ldr r3, [r3]
  3949. 2941 0042 0422 movs r2, #4
  3950. 2942 0044 5A60 str r2, [r3, #4]
  3951. 2943 .L178:
  3952. 851:user_src/soft_can.c **** }
  3953. 852:user_src/soft_can.c ****
  3954. 853:user_src/soft_can.c **** __HAL_CAN_CLEAR_FLAG(&hcan, CAN_FLAG_ERRI);
  3955. 2944 .loc 1 853 3
  3956. 2945 0046 044B ldr r3, .L179
  3957. 2946 0048 1B68 ldr r3, [r3]
  3958. 2947 004a 0422 movs r2, #4
  3959. 2948 004c 5A60 str r2, [r3, #4]
  3960. 854:user_src/soft_can.c **** }
  3961. 2949 .loc 1 854 1
  3962. 2950 004e 00BF nop
  3963. 2951 0050 BD46 mov sp, r7
  3964. 2952 .LCFI43:
  3965. 2953 .cfi_def_cfa_register 13
  3966. 2954 @ sp needed
  3967. 2955 0052 5DF8047B ldr r7, [sp], #4
  3968. 2956 .LCFI44:
  3969. 2957 .cfi_restore 7
  3970. 2958 .cfi_def_cfa_offset 0
  3971. 2959 0056 7047 bx lr
  3972. 2960 .L180:
  3973. 2961 .align 2
  3974. 2962 .L179:
  3975. 2963 0058 00000000 .word hcan
  3976. 2964 .cfi_endproc
  3977. 2965 .LFE142:
  3978. 2967 .section .bss.update_i.2,"aw",%nobits
  3979. 2968 .align 2
  3980. 2971 update_i.2:
  3981. 2972 0000 00000000 .space 4
  3982. 2973 .section .bss.check_sum.1,"aw",%nobits
  3983. 2974 .align 2
  3984. 2977 check_sum.1:
  3985. 2978 0000 00000000 .space 4
  3986. 2979 .section .data.pack_count.0,"aw"
  3987. 2980 .align 1
  3988. 2983 pack_count.0:
  3989. 2984 0000 0100 .short 1
  3990. 2985 .text
  3991. 2986 .Letext0:
  3992. 2987 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  3993. 2988 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  3994. 2989 .file 4 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f302xc.h"
  3995. 2990 .file 5 "Drivers/CMSIS/Device/ST/STM32F3xx/Include/stm32f3xx.h"
  3996. 2991 .file 6 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_def.h"
  3997. 2992 .file 7 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_gpio.h"
  3998. 2993 .file 8 "Drivers/STM32F3xx_HAL_Driver/Inc/stm32f3xx_hal_can.h"
  3999. 2994 .file 9 "user_inc/soft_can.h"
  4000. 2995 .file 10 "Core/Inc/can.h"
  4001. 2996 .file 11 "user_inc/soft_uart.h"
  4002. 2997 .file 12 "user_inc/common.h"
  4003. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 70
  4004. 2998 .file 13 "user_inc/soft_terrain.h"
  4005. 2999 .file 14 "user_inc/soft_obstacle.h"
  4006. 3000 .file 15 "user_inc/soft_p_2_c.h"
  4007. 3001 .file 16 "user_inc/soft_eft.h"
  4008. 3002 .file 17 "user_inc/soft_seed_device.h"
  4009. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 71
  4010. DEFINED SYMBOLS
  4011. *ABS*:00000000 soft_can.c
  4012. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:24 .bss.RxHeader:00000000 RxHeader
  4013. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:21 .bss.RxHeader:00000000 $d
  4014. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:31 .bss.TxHeader:00000000 TxHeader
  4015. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:28 .bss.TxHeader:00000000 $d
  4016. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:38 .bss.RxData:00000000 RxData
  4017. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:35 .bss.RxData:00000000 $d
  4018. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:45 .bss.Rupdate:00000000 Rupdate
  4019. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:42 .bss.Rupdate:00000000 $d
  4020. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:48 .text.Can_decode_data_function:00000000 $t
  4021. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:54 .text.Can_decode_data_function:00000000 Can_decode_data_function
  4022. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:481 .text.Can_decode_data_function:000002b0 $d
  4023. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:490 .text.Can_filter_init:00000000 $t
  4024. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:496 .text.Can_filter_init:00000000 Can_filter_init
  4025. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:904 .text.Can_filter_init:0000025c $d
  4026. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:909 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 $t
  4027. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:915 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000000 HAL_CAN_RxFifo0MsgPendingCallback
  4028. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1155 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000160 $d
  4029. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1168 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000194 $t
  4030. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1341 .text.HAL_CAN_RxFifo0MsgPendingCallback:00000290 $d
  4031. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1347 .text.HAL_CAN_RxFifo0MsgPendingCallback:000002a8 $t
  4032. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1365 .text.HAL_CAN_RxFifo0MsgPendingCallback:000002bc $d
  4033. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1373 .text.HAL_CAN_RxFifo0MsgPendingCallback:000002d4 $t
  4034. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1495 .text.HAL_CAN_RxFifo0MsgPendingCallback:0000038c $d
  4035. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1502 .text.can_start_init:00000000 $t
  4036. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1508 .text.can_start_init:00000000 can_start_init
  4037. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1553 .text.can_start_init:00000040 $d
  4038. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1562 .bss.update_count:00000000 update_count
  4039. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1559 .bss.update_count:00000000 $d
  4040. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1565 .text.Can_obstacle_update:00000000 $t
  4041. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1571 .text.Can_obstacle_update:00000000 Can_obstacle_update
  4042. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1608 .text.Can_obstacle_update:00000028 $d
  4043. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:1615 .text.Can_obstacle_update:00000044 $t
  4044. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2209 .text.can_send_msg_normal:00000000 can_send_msg_normal
  4045. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2020 .text.Can_obstacle_update:000002a0 $d
  4046. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2971 .bss.update_i.2:00000000 update_i.2
  4047. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2977 .bss.check_sum.1:00000000 check_sum.1
  4048. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2983 .data.pack_count.0:00000000 pack_count.0
  4049. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2032 .text.Can_obstacle_update:000002c8 $t
  4050. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2191 .text.Can_obstacle_update:000003a0 $d
  4051. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2203 .text.can_send_msg_normal:00000000 $t
  4052. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2426 .text.can_send_msg_normal:00000130 $d
  4053. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2434 .text.can_send_msg_normalstd:00000000 $t
  4054. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2440 .text.can_send_msg_normalstd:00000000 can_send_msg_normalstd
  4055. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2648 .text.can_send_msg_normalstd:00000124 $d
  4056. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2655 .text.check_radar_link_status:00000000 $t
  4057. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2661 .text.check_radar_link_status:00000000 check_radar_link_status
  4058. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2753 .text.check_radar_link_status:000000b0 $d
  4059. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2772 .text.put_date_to_can:00000000 $t
  4060. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2778 .text.put_date_to_can:00000000 put_date_to_can
  4061. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2882 .text.CAN1_SCE_IRQHandler:00000000 $t
  4062. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2888 .text.CAN1_SCE_IRQHandler:00000000 CAN1_SCE_IRQHandler
  4063. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2963 .text.CAN1_SCE_IRQHandler:00000058 $d
  4064. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2968 .bss.update_i.2:00000000 $d
  4065. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2974 .bss.check_sum.1:00000000 $d
  4066. C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s:2980 .data.pack_count.0:00000000 $d
  4067. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 72
  4068. UNDEFINED SYMBOLS
  4069. can_recv_enzhao_terrain
  4070. can_recv_mimor_flow_function
  4071. can_recv_enzhao_obstacle
  4072. can_recv_mimo_signal_obstacle
  4073. can_recv_mimo_radar_version
  4074. EngGeelyCanRecvHookFunction
  4075. EZ_Radar_UpdateCanRecvHookFunction
  4076. TattuCanRecvHookFunction
  4077. can_recv_mocib_version_info
  4078. QxBmsCanRecvHookFunction
  4079. DMlacklossCanRecvFunction
  4080. HobbywingCanRecvHookFunction
  4081. HAL_CAN_ConfigFilter
  4082. Error_Handler
  4083. hcan
  4084. HAL_CAN_GetRxMessage
  4085. can_recv_mocib_F_obstacle
  4086. can_recv_mocib_B_obstacle
  4087. can_recv_mocib_terrain
  4088. OkcellCanRecvHookFunction
  4089. can_recv_mocib_updata_read_set_hookfunction
  4090. HerewinCanRecvHookFunction
  4091. EftCanRecvHookFunction
  4092. liquid_recieved_hookfuction
  4093. Flow_recieved_hookfuction
  4094. Weight_recieved_hookfuction
  4095. Update_Dev_Bootversion_Function
  4096. distributor_recieved_hookfuction
  4097. DM_terrain_recieved_hookfuction
  4098. uart_info
  4099. DM_Fobs_recieved_hookfuction
  4100. DM_Bobs_recieved_hookfuction
  4101. BMSCanRecvHookFunction
  4102. HAL_GetTick
  4103. put_candata_to_rkfifo_rx
  4104. HAL_CAN_ActivateNotification
  4105. planep
  4106. HAL_CAN_Start
  4107. HAL_NVIC_EnableIRQ
  4108. HAL_GPIO_WritePin
  4109. HAL_Delay
  4110. memset
  4111. Update_ack_func
  4112. Update_buf
  4113. radar_update_flag
  4114. uavr11_info
  4115. uavr12_info
  4116. uavr56_info
  4117. put_candata_to_rkfifo_tx
  4118. HAL_CAN_GetTxMailboxesFreeLevel
  4119. HAL_CAN_AddTxMessage
  4120. Check_dev_link
  4121. mimo_ter_info
  4122. mimo_f_info
  4123. mimo_b_info
  4124. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccD4Q1Qs.s page 73
  4125. DM_ter_info
  4126. DM_f_info
  4127. DM_status
  4128. Dev