soft_engine.lst 190 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302
  1. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.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_engine.c"
  17. 16 .text
  18. 17 .Ltext0:
  19. 18 .cfi_sections .debug_frame
  20. 19 .global engine_data
  21. 20 .section .bss.engine_data,"aw",%nobits
  22. 21 .align 2
  23. 24 engine_data:
  24. 25 0000 00000000 .space 41
  25. 25 00000000
  26. 25 00000000
  27. 25 00000000
  28. 25 00000000
  29. 26 .global aoan_data
  30. 27 .section .data.aoan_data,"aw"
  31. 28 .align 2
  32. 31 aoan_data:
  33. 32 0000 00 .byte 0
  34. 33 0001 00000000 .space 17
  35. 33 00000000
  36. 33 00000000
  37. 33 00000000
  38. 33 00
  39. 34 0012 FFFF .short -1
  40. 35 0014 00000000 .space 6
  41. 35 0000
  42. 36 .global aoan_engine_Link
  43. 37 .section .bss.aoan_engine_Link,"aw",%nobits
  44. 38 .align 2
  45. 41 aoan_engine_Link:
  46. 42 0000 00000000 .space 12
  47. 42 00000000
  48. 42 00000000
  49. 43 .section .text.decode_aoan_engine,"ax",%progbits
  50. 44 .align 1
  51. 45 .global decode_aoan_engine
  52. 46 .syntax unified
  53. 47 .thumb
  54. 48 .thumb_func
  55. 50 decode_aoan_engine:
  56. 51 .LFB133:
  57. 52 .file 1 "user_src/soft_engine.c"
  58. 1:user_src/soft_engine.c **** #include "soft_engine.h"
  59. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 2
  60. 2:user_src/soft_engine.c **** #include "soft_crc.h"
  61. 3:user_src/soft_engine.c **** #include "crc.h"
  62. 4:user_src/soft_engine.c **** #include "string.h"
  63. 5:user_src/soft_engine.c **** #include "soft_p_2_c.h"
  64. 6:user_src/soft_engine.c **** #include "soft_test.h"
  65. 7:user_src/soft_engine.c **** #include "soft_uart.h"
  66. 8:user_src/soft_engine.c **** #include "math.h"
  67. 9:user_src/soft_engine.c ****
  68. 10:user_src/soft_engine.c **** struct ENGINE_DATA engine_data;
  69. 11:user_src/soft_engine.c ****
  70. 12:user_src/soft_engine.c ****
  71. 13:user_src/soft_engine.c **** //串�接收奥安�动机数�
  72. 14:user_src/soft_engine.c **** AOAN_TYPE aoan_data = {0, .engin_warn = 0xffff};
  73. 15:user_src/soft_engine.c **** Connect_check aoan_engine_Link;
  74. 16:user_src/soft_engine.c **** //解�奥安油电混传感器数�
  75. 17:user_src/soft_engine.c **** short decode_aoan_engine(uint8_t *pdata, uint16_t length)
  76. 18:user_src/soft_engine.c **** {
  77. 53 .loc 1 18 1
  78. 54 .cfi_startproc
  79. 55 @ args = 0, pretend = 0, frame = 16
  80. 56 @ frame_needed = 1, uses_anonymous_args = 0
  81. 57 0000 80B5 push {r7, lr}
  82. 58 .LCFI0:
  83. 59 .cfi_def_cfa_offset 8
  84. 60 .cfi_offset 7, -8
  85. 61 .cfi_offset 14, -4
  86. 62 0002 84B0 sub sp, sp, #16
  87. 63 .LCFI1:
  88. 64 .cfi_def_cfa_offset 24
  89. 65 0004 00AF add r7, sp, #0
  90. 66 .LCFI2:
  91. 67 .cfi_def_cfa_register 7
  92. 68 0006 7860 str r0, [r7, #4]
  93. 69 0008 0B46 mov r3, r1
  94. 70 000a 7B80 strh r3, [r7, #2] @ movhi
  95. 19:user_src/soft_engine.c ****
  96. 20:user_src/soft_engine.c **** short rst = 0;
  97. 71 .loc 1 20 11
  98. 72 000c 0023 movs r3, #0
  99. 73 000e FB81 strh r3, [r7, #14] @ movhi
  100. 21:user_src/soft_engine.c ****
  101. 22:user_src/soft_engine.c **** if (pdata[0] == 0x5A && pdata[1] == 0xA5 && pdata[2] == 0x1A && pdata[3] == 0x02)
  102. 74 .loc 1 22 14
  103. 75 0010 7B68 ldr r3, [r7, #4]
  104. 76 0012 1B78 ldrb r3, [r3] @ zero_extendqisi2
  105. 77 .loc 1 22 8
  106. 78 0014 5A2B cmp r3, #90
  107. 79 0016 2DD1 bne .L2
  108. 80 .loc 1 22 34 discriminator 1
  109. 81 0018 7B68 ldr r3, [r7, #4]
  110. 82 001a 0133 adds r3, r3, #1
  111. 83 001c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  112. 84 .loc 1 22 26 discriminator 1
  113. 85 001e A52B cmp r3, #165
  114. 86 0020 28D1 bne .L2
  115. 87 .loc 1 22 54 discriminator 2
  116. 88 0022 7B68 ldr r3, [r7, #4]
  117. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 3
  118. 89 0024 0233 adds r3, r3, #2
  119. 90 0026 1B78 ldrb r3, [r3] @ zero_extendqisi2
  120. 91 .loc 1 22 46 discriminator 2
  121. 92 0028 1A2B cmp r3, #26
  122. 93 002a 23D1 bne .L2
  123. 94 .loc 1 22 74 discriminator 3
  124. 95 002c 7B68 ldr r3, [r7, #4]
  125. 96 002e 0333 adds r3, r3, #3
  126. 97 0030 1B78 ldrb r3, [r3] @ zero_extendqisi2
  127. 98 .loc 1 22 66 discriminator 3
  128. 99 0032 022B cmp r3, #2
  129. 100 0034 1ED1 bne .L2
  130. 101 .LBB2:
  131. 23:user_src/soft_engine.c **** {
  132. 24:user_src/soft_engine.c **** unsigned char dNum = pdata[2];
  133. 102 .loc 1 24 23
  134. 103 0036 7B68 ldr r3, [r7, #4]
  135. 104 0038 9B78 ldrb r3, [r3, #2]
  136. 105 003a 7B73 strb r3, [r7, #13]
  137. 25:user_src/soft_engine.c ****
  138. 26:user_src/soft_engine.c **** //校验通过。
  139. 27:user_src/soft_engine.c **** if (Get_Crc16(pdata, dNum + 5) == 0)
  140. 106 .loc 1 27 13
  141. 107 003c 7B7B ldrb r3, [r7, #13] @ zero_extendqisi2
  142. 108 003e 9BB2 uxth r3, r3
  143. 109 0040 0533 adds r3, r3, #5
  144. 110 0042 9BB2 uxth r3, r3
  145. 111 0044 1946 mov r1, r3
  146. 112 0046 7868 ldr r0, [r7, #4]
  147. 113 0048 FFF7FEFF bl Get_Crc16
  148. 114 004c 0346 mov r3, r0
  149. 115 .loc 1 27 12
  150. 116 004e 002B cmp r3, #0
  151. 117 0050 10D1 bne .L2
  152. 28:user_src/soft_engine.c **** {
  153. 29:user_src/soft_engine.c **** rst = 1;
  154. 118 .loc 1 29 17
  155. 119 0052 0123 movs r3, #1
  156. 120 0054 FB81 strh r3, [r7, #14] @ movhi
  157. 30:user_src/soft_engine.c ****
  158. 31:user_src/soft_engine.c **** aoan_engine_Link.connect_status = COMP_NORMAL;
  159. 121 .loc 1 31 45
  160. 122 0056 0A4B ldr r3, .L4
  161. 123 0058 0122 movs r2, #1
  162. 124 005a 1A72 strb r2, [r3, #8]
  163. 32:user_src/soft_engine.c ****
  164. 33:user_src/soft_engine.c **** //赋值数�
  165. 34:user_src/soft_engine.c **** memcpy(&aoan_data, &pdata[3], dNum);
  166. 125 .loc 1 34 32
  167. 126 005c 7B68 ldr r3, [r7, #4]
  168. 127 005e 0333 adds r3, r3, #3
  169. 128 .loc 1 34 13
  170. 129 0060 7A7B ldrb r2, [r7, #13] @ zero_extendqisi2
  171. 130 0062 1946 mov r1, r3
  172. 131 0064 0748 ldr r0, .L4+4
  173. 132 0066 FFF7FEFF bl memcpy
  174. 35:user_src/soft_engine.c ****
  175. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 4
  176. 36:user_src/soft_engine.c **** aoan_engine_Link.recv_time = HAL_GetTick();
  177. 133 .loc 1 36 42
  178. 134 006a FFF7FEFF bl HAL_GetTick
  179. 135 006e 0346 mov r3, r0
  180. 136 .loc 1 36 40
  181. 137 0070 034A ldr r2, .L4
  182. 138 0072 1360 str r3, [r2]
  183. 139 .L2:
  184. 140 .LBE2:
  185. 37:user_src/soft_engine.c ****
  186. 38:user_src/soft_engine.c **** }
  187. 39:user_src/soft_engine.c **** }
  188. 40:user_src/soft_engine.c ****
  189. 41:user_src/soft_engine.c **** return rst;
  190. 141 .loc 1 41 12
  191. 142 0074 B7F90E30 ldrsh r3, [r7, #14]
  192. 42:user_src/soft_engine.c **** }
  193. 143 .loc 1 42 1
  194. 144 0078 1846 mov r0, r3
  195. 145 007a 1037 adds r7, r7, #16
  196. 146 .LCFI3:
  197. 147 .cfi_def_cfa_offset 8
  198. 148 007c BD46 mov sp, r7
  199. 149 .LCFI4:
  200. 150 .cfi_def_cfa_register 13
  201. 151 @ sp needed
  202. 152 007e 80BD pop {r7, pc}
  203. 153 .L5:
  204. 154 .align 2
  205. 155 .L4:
  206. 156 0080 00000000 .word aoan_engine_Link
  207. 157 0084 00000000 .word aoan_data
  208. 158 .cfi_endproc
  209. 159 .LFE133:
  210. 161 .global vkv3_data
  211. 162 .section .data.vkv3_data,"aw"
  212. 163 .align 2
  213. 166 vkv3_data:
  214. 167 0000 00 .byte 0
  215. 168 0001 00000000 .space 29
  216. 168 00000000
  217. 168 00000000
  218. 168 00000000
  219. 168 00000000
  220. 169 001e FFFF .short -1
  221. 170 0020 00000000 .space 7
  222. 170 000000
  223. 171 .global vkv3_engine_link
  224. 172 .section .bss.vkv3_engine_link,"aw",%nobits
  225. 173 .align 2
  226. 176 vkv3_engine_link:
  227. 177 0000 00000000 .space 12
  228. 177 00000000
  229. 177 00000000
  230. 178 .section .text.decode_vkv3_engine,"ax",%progbits
  231. 179 .align 1
  232. 180 .global decode_vkv3_engine
  233. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 5
  234. 181 .syntax unified
  235. 182 .thumb
  236. 183 .thumb_func
  237. 185 decode_vkv3_engine:
  238. 186 .LFB134:
  239. 43:user_src/soft_engine.c ****
  240. 44:user_src/soft_engine.c **** // //串�接收VKV3�动机数�
  241. 45:user_src/soft_engine.c **** VKV3_TYPE vkv3_data = {0, .engin_warn = 0xffff};
  242. 46:user_src/soft_engine.c **** // VKV3_TYPE vkv3_data2 = {0, .engin_warn = 0xffff};
  243. 47:user_src/soft_engine.c **** Connect_check vkv3_engine_link;
  244. 48:user_src/soft_engine.c **** // Connect_check vkv3_engine2_link;
  245. 49:user_src/soft_engine.c ****
  246. 50:user_src/soft_engine.c **** //解�V3�议油电混传感器数�
  247. 51:user_src/soft_engine.c **** short decode_vkv3_engine(uint8_t *pdata, uint16_t length)
  248. 52:user_src/soft_engine.c **** {
  249. 187 .loc 1 52 1
  250. 188 .cfi_startproc
  251. 189 @ args = 0, pretend = 0, frame = 24
  252. 190 @ frame_needed = 1, uses_anonymous_args = 0
  253. 191 0000 80B5 push {r7, lr}
  254. 192 .LCFI5:
  255. 193 .cfi_def_cfa_offset 8
  256. 194 .cfi_offset 7, -8
  257. 195 .cfi_offset 14, -4
  258. 196 0002 86B0 sub sp, sp, #24
  259. 197 .LCFI6:
  260. 198 .cfi_def_cfa_offset 32
  261. 199 0004 00AF add r7, sp, #0
  262. 200 .LCFI7:
  263. 201 .cfi_def_cfa_register 7
  264. 202 0006 7860 str r0, [r7, #4]
  265. 203 0008 0B46 mov r3, r1
  266. 204 000a 7B80 strh r3, [r7, #2] @ movhi
  267. 53:user_src/soft_engine.c **** short rst = 0;
  268. 205 .loc 1 53 11
  269. 206 000c 0023 movs r3, #0
  270. 207 000e FB82 strh r3, [r7, #22] @ movhi
  271. 54:user_src/soft_engine.c **** uint32_t engine_sn_temp = 0;
  272. 208 .loc 1 54 14
  273. 209 0010 0023 movs r3, #0
  274. 210 0012 BB60 str r3, [r7, #8]
  275. 55:user_src/soft_engine.c **** static uint32_t engine_sn1 = 0;
  276. 56:user_src/soft_engine.c **** VKV3_TYPE *ptr = NULL;
  277. 211 .loc 1 56 16
  278. 212 0014 0023 movs r3, #0
  279. 213 0016 3B61 str r3, [r7, #16]
  280. 57:user_src/soft_engine.c ****
  281. 58:user_src/soft_engine.c ****
  282. 59:user_src/soft_engine.c **** if (pdata[0] == 0x5A && pdata[1] == 0xA5 && pdata[2] == 0X27 && pdata[4] == 0X03)
  283. 214 .loc 1 59 14
  284. 215 0018 7B68 ldr r3, [r7, #4]
  285. 216 001a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  286. 217 .loc 1 59 8
  287. 218 001c 5A2B cmp r3, #90
  288. 219 001e 4AD1 bne .L12
  289. 220 .loc 1 59 34 discriminator 1
  290. 221 0020 7B68 ldr r3, [r7, #4]
  291. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 6
  292. 222 0022 0133 adds r3, r3, #1
  293. 223 0024 1B78 ldrb r3, [r3] @ zero_extendqisi2
  294. 224 .loc 1 59 26 discriminator 1
  295. 225 0026 A52B cmp r3, #165
  296. 226 0028 45D1 bne .L12
  297. 227 .loc 1 59 54 discriminator 2
  298. 228 002a 7B68 ldr r3, [r7, #4]
  299. 229 002c 0233 adds r3, r3, #2
  300. 230 002e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  301. 231 .loc 1 59 46 discriminator 2
  302. 232 0030 272B cmp r3, #39
  303. 233 0032 40D1 bne .L12
  304. 234 .loc 1 59 74 discriminator 3
  305. 235 0034 7B68 ldr r3, [r7, #4]
  306. 236 0036 0433 adds r3, r3, #4
  307. 237 0038 1B78 ldrb r3, [r3] @ zero_extendqisi2
  308. 238 .loc 1 59 66 discriminator 3
  309. 239 003a 032B cmp r3, #3
  310. 240 003c 3BD1 bne .L12
  311. 241 .LBB3:
  312. 60:user_src/soft_engine.c **** {
  313. 61:user_src/soft_engine.c **** unsigned char dLEN = pdata[2];
  314. 242 .loc 1 61 23
  315. 243 003e 7B68 ldr r3, [r7, #4]
  316. 244 0040 9B78 ldrb r3, [r3, #2]
  317. 245 0042 FB73 strb r3, [r7, #15]
  318. 62:user_src/soft_engine.c **** unsigned char comID = pdata[3];
  319. 246 .loc 1 62 23
  320. 247 0044 7B68 ldr r3, [r7, #4]
  321. 248 0046 DB78 ldrb r3, [r3, #3]
  322. 249 0048 BB73 strb r3, [r7, #14]
  323. 63:user_src/soft_engine.c ****
  324. 64:user_src/soft_engine.c **** //校验通过。
  325. 65:user_src/soft_engine.c **** if (Get_Crc16(pdata, dLEN + 6) == 0)
  326. 250 .loc 1 65 13
  327. 251 004a FB7B ldrb r3, [r7, #15] @ zero_extendqisi2
  328. 252 004c 9BB2 uxth r3, r3
  329. 253 004e 0633 adds r3, r3, #6
  330. 254 0050 9BB2 uxth r3, r3
  331. 255 0052 1946 mov r1, r3
  332. 256 0054 7868 ldr r0, [r7, #4]
  333. 257 0056 FFF7FEFF bl Get_Crc16
  334. 258 005a 0346 mov r3, r0
  335. 259 .loc 1 65 12
  336. 260 005c 002B cmp r3, #0
  337. 261 005e 2AD1 bne .L12
  338. 66:user_src/soft_engine.c **** {
  339. 67:user_src/soft_engine.c **** memcpy(&engine_sn_temp, &pdata[12], 4);
  340. 262 .loc 1 67 37
  341. 263 0060 7B68 ldr r3, [r7, #4]
  342. 264 0062 0C33 adds r3, r3, #12
  343. 265 0064 1B68 ldr r3, [r3] @ unaligned
  344. 266 .loc 1 67 13
  345. 267 0066 BB60 str r3, [r7, #8]
  346. 68:user_src/soft_engine.c **** rst = 1;
  347. 268 .loc 1 68 17
  348. 269 0068 0123 movs r3, #1
  349. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 7
  350. 270 006a FB82 strh r3, [r7, #22] @ movhi
  351. 69:user_src/soft_engine.c ****
  352. 70:user_src/soft_engine.c **** if(engine_sn1 == 0 || engine_sn_temp == engine_sn1)
  353. 271 .loc 1 70 27
  354. 272 006c 164B ldr r3, .L14
  355. 273 006e 1B68 ldr r3, [r3]
  356. 274 .loc 1 70 15
  357. 275 0070 002B cmp r3, #0
  358. 276 0072 04D0 beq .L8
  359. 277 .loc 1 70 50 discriminator 1
  360. 278 0074 BA68 ldr r2, [r7, #8]
  361. 279 0076 144B ldr r3, .L14
  362. 280 0078 1B68 ldr r3, [r3]
  363. 281 .loc 1 70 32 discriminator 1
  364. 282 007a 9A42 cmp r2, r3
  365. 283 007c 10D1 bne .L9
  366. 284 .L8:
  367. 71:user_src/soft_engine.c **** {
  368. 72:user_src/soft_engine.c **** ptr = &vkv3_data;
  369. 285 .loc 1 72 21
  370. 286 007e 134B ldr r3, .L14+4
  371. 287 0080 3B61 str r3, [r7, #16]
  372. 73:user_src/soft_engine.c **** vkv3_engine_link.connect_status = COMP_NORMAL;
  373. 288 .loc 1 73 49
  374. 289 0082 134B ldr r3, .L14+8
  375. 290 0084 0122 movs r2, #1
  376. 291 0086 1A72 strb r2, [r3, #8]
  377. 74:user_src/soft_engine.c **** vkv3_engine_link.recv_time = HAL_GetTick();
  378. 292 .loc 1 74 46
  379. 293 0088 FFF7FEFF bl HAL_GetTick
  380. 294 008c 0346 mov r3, r0
  381. 295 .loc 1 74 44
  382. 296 008e 104A ldr r2, .L14+8
  383. 297 0090 1360 str r3, [r2]
  384. 75:user_src/soft_engine.c ****
  385. 76:user_src/soft_engine.c **** if(engine_sn1 == 0)
  386. 298 .loc 1 76 31
  387. 299 0092 0D4B ldr r3, .L14
  388. 300 0094 1B68 ldr r3, [r3]
  389. 301 .loc 1 76 19
  390. 302 0096 002B cmp r3, #0
  391. 303 0098 02D1 bne .L9
  392. 77:user_src/soft_engine.c **** engine_sn1 = engine_sn_temp;
  393. 304 .loc 1 77 32
  394. 305 009a BB68 ldr r3, [r7, #8]
  395. 306 009c 0A4A ldr r2, .L14
  396. 307 009e 1360 str r3, [r2]
  397. 308 .L9:
  398. 78:user_src/soft_engine.c **** }
  399. 79:user_src/soft_engine.c **** else
  400. 80:user_src/soft_engine.c **** {
  401. 81:user_src/soft_engine.c **** // ptr = &vkv3_data2;
  402. 82:user_src/soft_engine.c **** // vkv3_engine2_link.connect_status = COMP_NORMAL;
  403. 83:user_src/soft_engine.c **** // vkv3_engine2_link.recv_time = HAL_GetTick();
  404. 84:user_src/soft_engine.c **** }
  405. 85:user_src/soft_engine.c ****
  406. 86:user_src/soft_engine.c **** switch (comID)
  407. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 8
  408. 309 .loc 1 86 13
  409. 310 00a0 BB7B ldrb r3, [r7, #14] @ zero_extendqisi2
  410. 311 00a2 012B cmp r3, #1
  411. 312 00a4 09D1 bne .L13
  412. 87:user_src/soft_engine.c **** {
  413. 88:user_src/soft_engine.c **** case 0X01:
  414. 89:user_src/soft_engine.c **** //赋值数�
  415. 90:user_src/soft_engine.c **** memcpy(&ptr->engin_ver, &pdata[4], dLEN);
  416. 313 .loc 1 90 24
  417. 314 00a6 3869 ldr r0, [r7, #16]
  418. 315 .loc 1 90 41
  419. 316 00a8 7B68 ldr r3, [r7, #4]
  420. 317 00aa 0433 adds r3, r3, #4
  421. 318 .loc 1 90 17
  422. 319 00ac FA7B ldrb r2, [r7, #15] @ zero_extendqisi2
  423. 320 00ae 1946 mov r1, r3
  424. 321 00b0 FFF7FEFF bl memcpy
  425. 91:user_src/soft_engine.c **** break;
  426. 322 .loc 1 91 17
  427. 323 00b4 02E0 b .L7
  428. 324 .L12:
  429. 92:user_src/soft_engine.c **** default:
  430. 93:user_src/soft_engine.c **** break;
  431. 94:user_src/soft_engine.c **** }
  432. 95:user_src/soft_engine.c ****
  433. 96:user_src/soft_engine.c **** }
  434. 325 .loc 1 96 9
  435. 326 00b6 00BF nop
  436. 327 00b8 00E0 b .L7
  437. 328 .L13:
  438. 93:user_src/soft_engine.c **** }
  439. 329 .loc 1 93 17
  440. 330 00ba 00BF nop
  441. 331 .L7:
  442. 332 .LBE3:
  443. 97:user_src/soft_engine.c **** }
  444. 98:user_src/soft_engine.c ****
  445. 99:user_src/soft_engine.c **** return rst;
  446. 333 .loc 1 99 12
  447. 334 00bc B7F91630 ldrsh r3, [r7, #22]
  448. 100:user_src/soft_engine.c **** }
  449. 335 .loc 1 100 1
  450. 336 00c0 1846 mov r0, r3
  451. 337 00c2 1837 adds r7, r7, #24
  452. 338 .LCFI8:
  453. 339 .cfi_def_cfa_offset 8
  454. 340 00c4 BD46 mov sp, r7
  455. 341 .LCFI9:
  456. 342 .cfi_def_cfa_register 13
  457. 343 @ sp needed
  458. 344 00c6 80BD pop {r7, pc}
  459. 345 .L15:
  460. 346 .align 2
  461. 347 .L14:
  462. 348 00c8 00000000 .word engine_sn1.4
  463. 349 00cc 00000000 .word vkv3_data
  464. 350 00d0 00000000 .word vkv3_engine_link
  465. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 9
  466. 351 .cfi_endproc
  467. 352 .LFE134:
  468. 354 .global geely_set_tcd
  469. 355 .section .bss.geely_set_tcd,"aw",%nobits
  470. 358 geely_set_tcd:
  471. 359 0000 00 .space 1
  472. 360 .global geely_set_tcd_re
  473. 361 .section .bss.geely_set_tcd_re,"aw",%nobits
  474. 364 geely_set_tcd_re:
  475. 365 0000 00 .space 1
  476. 366 .global geely_set_tlock
  477. 367 .section .bss.geely_set_tlock,"aw",%nobits
  478. 370 geely_set_tlock:
  479. 371 0000 00 .space 1
  480. 372 .global geely_set_tlock_re
  481. 373 .section .bss.geely_set_tlock_re,"aw",%nobits
  482. 376 geely_set_tlock_re:
  483. 377 0000 00 .space 1
  484. 378 .global geely_set_protect
  485. 379 .section .bss.geely_set_protect,"aw",%nobits
  486. 382 geely_set_protect:
  487. 383 0000 00 .space 1
  488. 384 .global geely_send_BJtime
  489. 385 .section .bss.geely_send_BJtime,"aw",%nobits
  490. 388 geely_send_BJtime:
  491. 389 0000 00 .space 1
  492. 390 .global geely_get_version
  493. 391 .section .bss.geely_get_version,"aw",%nobits
  494. 394 geely_get_version:
  495. 395 0000 00 .space 1
  496. 396 .global geely_get_time
  497. 397 .section .bss.geely_get_time,"aw",%nobits
  498. 400 geely_get_time:
  499. 401 0000 00 .space 1
  500. 402 .global geely_data2
  501. 403 .section .bss.geely_data2,"aw",%nobits
  502. 404 .align 2
  503. 407 geely_data2:
  504. 408 0000 00000000 .space 80
  505. 408 00000000
  506. 408 00000000
  507. 408 00000000
  508. 408 00000000
  509. 409 .global geely_data
  510. 410 .section .bss.geely_data,"aw",%nobits
  511. 411 .align 2
  512. 414 geely_data:
  513. 415 0000 00000000 .space 40
  514. 415 00000000
  515. 415 00000000
  516. 415 00000000
  517. 415 00000000
  518. 416 .global geely_moni
  519. 417 .section .bss.geely_moni,"aw",%nobits
  520. 418 .align 2
  521. 421 geely_moni:
  522. 422 0000 00000000 .space 20
  523. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 10
  524. 422 00000000
  525. 422 00000000
  526. 422 00000000
  527. 422 00000000
  528. 423 .global geely_engin_link
  529. 424 .section .bss.geely_engin_link,"aw",%nobits
  530. 425 .align 2
  531. 428 geely_engin_link:
  532. 429 0000 00000000 .space 12
  533. 429 00000000
  534. 429 00000000
  535. 430 .global geely_version2_count
  536. 431 .section .bss.geely_version2_count,"aw",%nobits
  537. 432 .align 2
  538. 435 geely_version2_count:
  539. 436 0000 00000000 .space 4
  540. 437 .section .text.EngGeelyCanRecvHookFunction,"ax",%progbits
  541. 438 .align 1
  542. 439 .global EngGeelyCanRecvHookFunction
  543. 440 .syntax unified
  544. 441 .thumb
  545. 442 .thumb_func
  546. 444 EngGeelyCanRecvHookFunction:
  547. 445 .LFB135:
  548. 101:user_src/soft_engine.c ****
  549. 102:user_src/soft_engine.c ****
  550. 103:user_src/soft_engine.c ****
  551. 104:user_src/soft_engine.c ****
  552. 105:user_src/soft_engine.c ****
  553. 106:user_src/soft_engine.c ****
  554. 107:user_src/soft_engine.c ****
  555. 108:user_src/soft_engine.c **** bool geely_set_tcd = false,geely_set_tcd_re = false,
  556. 109:user_src/soft_engine.c **** geely_set_tlock = false, geely_set_tlock_re = false, geely_set_protect = false,
  557. 110:user_src/soft_engine.c **** geely_send_BJtime = false,geely_get_version = false,geely_get_time = false;
  558. 111:user_src/soft_engine.c **** GEELY2 geely_data2;
  559. 112:user_src/soft_engine.c **** //解��利�动机
  560. 113:user_src/soft_engine.c **** GEELY geely_data = {0};
  561. 114:user_src/soft_engine.c **** GEELY_MONI geely_moni = {0};
  562. 115:user_src/soft_engine.c ****
  563. 116:user_src/soft_engine.c ****
  564. 117:user_src/soft_engine.c **** Connect_check geely_engin_link;
  565. 118:user_src/soft_engine.c **** int geely_version2_count = 0;
  566. 119:user_src/soft_engine.c **** void EngGeelyCanRecvHookFunction(uint32_t cellCanID, uint8_t data[], uint8_t len)
  567. 120:user_src/soft_engine.c **** {
  568. 446 .loc 1 120 1
  569. 447 .cfi_startproc
  570. 448 @ args = 0, pretend = 0, frame = 24
  571. 449 @ frame_needed = 1, uses_anonymous_args = 0
  572. 450 0000 80B5 push {r7, lr}
  573. 451 .LCFI10:
  574. 452 .cfi_def_cfa_offset 8
  575. 453 .cfi_offset 7, -8
  576. 454 .cfi_offset 14, -4
  577. 455 0002 86B0 sub sp, sp, #24
  578. 456 .LCFI11:
  579. 457 .cfi_def_cfa_offset 32
  580. 458 0004 00AF add r7, sp, #0
  581. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 11
  582. 459 .LCFI12:
  583. 460 .cfi_def_cfa_register 7
  584. 461 0006 F860 str r0, [r7, #12]
  585. 462 0008 B960 str r1, [r7, #8]
  586. 463 000a 1346 mov r3, r2
  587. 464 000c FB71 strb r3, [r7, #7]
  588. 121:user_src/soft_engine.c **** if(cellCanID == 0x100) //第二版�议识别
  589. 465 .loc 1 121 7
  590. 466 000e FB68 ldr r3, [r7, #12]
  591. 467 0010 B3F5807F cmp r3, #256
  592. 468 0014 08D1 bne .L17
  593. 122:user_src/soft_engine.c **** {
  594. 123:user_src/soft_engine.c **** geely_engin_link.connect_status = COMP_NORMAL;
  595. 469 .loc 1 123 41
  596. 470 0016 A74B ldr r3, .L48
  597. 471 0018 0122 movs r2, #1
  598. 472 001a 1A72 strb r2, [r3, #8]
  599. 124:user_src/soft_engine.c **** geely_engin_link.recv_time = HAL_GetTick();
  600. 473 .loc 1 124 38
  601. 474 001c FFF7FEFF bl HAL_GetTick
  602. 475 0020 0346 mov r3, r0
  603. 476 .loc 1 124 36
  604. 477 0022 A44A ldr r2, .L48
  605. 478 0024 1360 str r3, [r2]
  606. 479 0026 91E1 b .L18
  607. 480 .L17:
  608. 125:user_src/soft_engine.c **** }
  609. 126:user_src/soft_engine.c **** else if (cellCanID == 0x1c0)
  610. 481 .loc 1 126 13
  611. 482 0028 FB68 ldr r3, [r7, #12]
  612. 483 002a B3F5E07F cmp r3, #448
  613. 484 002e 06D1 bne .L19
  614. 127:user_src/soft_engine.c **** {
  615. 128:user_src/soft_engine.c **** memcpy(&geely_data.engine_ver, &data[0], len);
  616. 485 .loc 1 128 9
  617. 486 0030 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  618. 487 0032 1A46 mov r2, r3
  619. 488 0034 B968 ldr r1, [r7, #8]
  620. 489 0036 A048 ldr r0, .L48+4
  621. 490 0038 FFF7FEFF bl memcpy
  622. 491 003c 86E1 b .L18
  623. 492 .L19:
  624. 129:user_src/soft_engine.c **** }
  625. 130:user_src/soft_engine.c **** else if (cellCanID == 0x1c1)
  626. 493 .loc 1 130 13
  627. 494 003e FB68 ldr r3, [r7, #12]
  628. 495 0040 40F2C112 movw r2, #449
  629. 496 0044 9342 cmp r3, r2
  630. 497 0046 09D1 bne .L20
  631. 131:user_src/soft_engine.c **** {
  632. 132:user_src/soft_engine.c **** //木牛防地雷达会异常进入�动机识别
  633. 133:user_src/soft_engine.c **** geely_engin_link.connect_status = COMP_NORMAL;
  634. 498 .loc 1 133 41
  635. 499 0048 9A4B ldr r3, .L48
  636. 500 004a 0122 movs r2, #1
  637. 501 004c 1A72 strb r2, [r3, #8]
  638. 134:user_src/soft_engine.c ****
  639. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 12
  640. 135:user_src/soft_engine.c **** memcpy(&geely_data.engine_rev, &data[0], len);
  641. 502 .loc 1 135 9
  642. 503 004e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  643. 504 0050 1A46 mov r2, r3
  644. 505 0052 B968 ldr r1, [r7, #8]
  645. 506 0054 9948 ldr r0, .L48+8
  646. 507 0056 FFF7FEFF bl memcpy
  647. 508 005a 77E1 b .L18
  648. 509 .L20:
  649. 136:user_src/soft_engine.c **** }
  650. 137:user_src/soft_engine.c **** else if (cellCanID == 0x1c2)
  651. 510 .loc 1 137 13
  652. 511 005c FB68 ldr r3, [r7, #12]
  653. 512 005e B3F5E17F cmp r3, #450
  654. 513 0062 06D1 bne .L21
  655. 138:user_src/soft_engine.c **** {
  656. 139:user_src/soft_engine.c **** memcpy(&geely_data.engine_vol, &data[0], len);
  657. 514 .loc 1 139 9
  658. 515 0064 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  659. 516 0066 1A46 mov r2, r3
  660. 517 0068 B968 ldr r1, [r7, #8]
  661. 518 006a 9548 ldr r0, .L48+12
  662. 519 006c FFF7FEFF bl memcpy
  663. 520 0070 6CE1 b .L18
  664. 521 .L21:
  665. 140:user_src/soft_engine.c **** }
  666. 141:user_src/soft_engine.c **** else if (cellCanID == 0x1c3)
  667. 522 .loc 1 141 13
  668. 523 0072 FB68 ldr r3, [r7, #12]
  669. 524 0074 40F2C312 movw r2, #451
  670. 525 0078 9342 cmp r3, r2
  671. 526 007a 40F08380 bne .L22
  672. 527 .LBB4:
  673. 142:user_src/soft_engine.c **** {
  674. 143:user_src/soft_engine.c **** uint8_t checkSum = 0;
  675. 528 .loc 1 143 17
  676. 529 007e 0023 movs r3, #0
  677. 530 0080 FB75 strb r3, [r7, #23]
  678. 531 .LBB5:
  679. 144:user_src/soft_engine.c **** for (uint8_t i = 0; i < 8; i++)
  680. 532 .loc 1 144 22
  681. 533 0082 0023 movs r3, #0
  682. 534 0084 BB75 strb r3, [r7, #22]
  683. 535 .loc 1 144 9
  684. 536 0086 09E0 b .L23
  685. 537 .L24:
  686. 145:user_src/soft_engine.c **** {
  687. 146:user_src/soft_engine.c **** checkSum += data[i];
  688. 538 .loc 1 146 29 discriminator 3
  689. 539 0088 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
  690. 540 008a BA68 ldr r2, [r7, #8]
  691. 541 008c 1344 add r3, r3, r2
  692. 542 008e 1A78 ldrb r2, [r3] @ zero_extendqisi2
  693. 543 .loc 1 146 22 discriminator 3
  694. 544 0090 FB7D ldrb r3, [r7, #23]
  695. 545 0092 1344 add r3, r3, r2
  696. 546 0094 FB75 strb r3, [r7, #23]
  697. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 13
  698. 144:user_src/soft_engine.c **** for (uint8_t i = 0; i < 8; i++)
  699. 547 .loc 1 144 37 discriminator 3
  700. 548 0096 BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
  701. 549 0098 0133 adds r3, r3, #1
  702. 550 009a BB75 strb r3, [r7, #22]
  703. 551 .L23:
  704. 144:user_src/soft_engine.c **** for (uint8_t i = 0; i < 8; i++)
  705. 552 .loc 1 144 9 discriminator 1
  706. 553 009c BB7D ldrb r3, [r7, #22] @ zero_extendqisi2
  707. 554 009e 072B cmp r3, #7
  708. 555 00a0 F2D9 bls .L24
  709. 556 .LBE5:
  710. 147:user_src/soft_engine.c **** }
  711. 148:user_src/soft_engine.c ****
  712. 149:user_src/soft_engine.c **** geely_moni.recv_1c3++;
  713. 557 .loc 1 149 19
  714. 558 00a2 884B ldr r3, .L48+16
  715. 559 00a4 9B68 ldr r3, [r3, #8]
  716. 560 .loc 1 149 28
  717. 561 00a6 0133 adds r3, r3, #1
  718. 562 00a8 864A ldr r2, .L48+16
  719. 563 00aa 9360 str r3, [r2, #8]
  720. 150:user_src/soft_engine.c ****
  721. 151:user_src/soft_engine.c **** if (checkSum == 0)
  722. 564 .loc 1 151 12
  723. 565 00ac FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  724. 566 00ae 002B cmp r3, #0
  725. 567 00b0 62D1 bne .L25
  726. 152:user_src/soft_engine.c **** {
  727. 153:user_src/soft_engine.c **** memcpy(&geely_data.engine_control, &data[0], len);
  728. 568 .loc 1 153 13
  729. 569 00b2 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  730. 570 00b4 1A46 mov r2, r3
  731. 571 00b6 B968 ldr r1, [r7, #8]
  732. 572 00b8 8348 ldr r0, .L48+20
  733. 573 00ba FFF7FEFF bl memcpy
  734. 154:user_src/soft_engine.c ****
  735. 155:user_src/soft_engine.c **** if (geely_moni.msg1c3_last + 1 != geely_data.engine_counts)
  736. 574 .loc 1 155 27
  737. 575 00be 814B ldr r3, .L48+16
  738. 576 00c0 1B78 ldrb r3, [r3]
  739. 577 00c2 C3F30303 ubfx r3, r3, #0, #4
  740. 578 00c6 DBB2 uxtb r3, r3
  741. 579 .loc 1 155 40
  742. 580 00c8 0133 adds r3, r3, #1
  743. 581 .loc 1 155 57
  744. 582 00ca 7B4A ldr r2, .L48+4
  745. 583 00cc 927F ldrb r2, [r2, #30]
  746. 584 00ce C2F30312 ubfx r2, r2, #4, #4
  747. 585 00d2 D2B2 uxtb r2, r2
  748. 586 .loc 1 155 16
  749. 587 00d4 9342 cmp r3, r2
  750. 588 00d6 04D0 beq .L26
  751. 156:user_src/soft_engine.c **** {
  752. 157:user_src/soft_engine.c **** geely_moni.msg1c3_indexerr++;
  753. 589 .loc 1 157 27
  754. 590 00d8 7A4B ldr r3, .L48+16
  755. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 14
  756. 591 00da 1B69 ldr r3, [r3, #16]
  757. 592 .loc 1 157 43
  758. 593 00dc 0133 adds r3, r3, #1
  759. 594 00de 794A ldr r2, .L48+16
  760. 595 00e0 1361 str r3, [r2, #16]
  761. 596 .L26:
  762. 158:user_src/soft_engine.c **** }
  763. 159:user_src/soft_engine.c **** geely_moni.msg1c3_last = geely_data.engine_counts;
  764. 597 .loc 1 159 48
  765. 598 00e2 754B ldr r3, .L48+4
  766. 599 00e4 9B7F ldrb r3, [r3, #30]
  767. 600 00e6 C3F30313 ubfx r3, r3, #4, #4
  768. 601 00ea D9B2 uxtb r1, r3
  769. 602 .loc 1 159 36
  770. 603 00ec 754A ldr r2, .L48+16
  771. 604 00ee 1378 ldrb r3, [r2]
  772. 605 00f0 61F30303 bfi r3, r1, #0, #4
  773. 606 00f4 1370 strb r3, [r2]
  774. 160:user_src/soft_engine.c ****
  775. 161:user_src/soft_engine.c ****
  776. 162:user_src/soft_engine.c **** if(geely_data.engine_set == 0x11)
  777. 607 .loc 1 162 26
  778. 608 00f6 704B ldr r3, .L48+4
  779. 609 00f8 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  780. 610 .loc 1 162 15
  781. 611 00fa 112B cmp r3, #17
  782. 612 00fc 0CD1 bne .L27
  783. 163:user_src/soft_engine.c **** {
  784. 164:user_src/soft_engine.c **** //接收�养时间�馈
  785. 165:user_src/soft_engine.c **** if(geely_set_tcd == true)
  786. 613 .loc 1 165 34
  787. 614 00fe 734B ldr r3, .L48+24
  788. 615 0100 1B78 ldrb r3, [r3] @ zero_extendqisi2
  789. 616 .loc 1 165 19
  790. 617 0102 002B cmp r3, #0
  791. 618 0104 08D0 beq .L27
  792. 166:user_src/soft_engine.c **** {
  793. 167:user_src/soft_engine.c **** geely_set_tcd = false;
  794. 619 .loc 1 167 35
  795. 620 0106 714B ldr r3, .L48+24
  796. 621 0108 0022 movs r2, #0
  797. 622 010a 1A70 strb r2, [r3]
  798. 168:user_src/soft_engine.c **** geely_set_counts = 0;
  799. 623 .loc 1 168 38
  800. 624 010c 704B ldr r3, .L48+28
  801. 625 010e 0022 movs r2, #0
  802. 626 0110 1A80 strh r2, [r3] @ movhi
  803. 169:user_src/soft_engine.c ****
  804. 170:user_src/soft_engine.c **** geely_set_tcd_re = true;
  805. 627 .loc 1 170 38
  806. 628 0112 704B ldr r3, .L48+32
  807. 629 0114 0122 movs r2, #1
  808. 630 0116 1A70 strb r2, [r3]
  809. 631 .L27:
  810. 171:user_src/soft_engine.c **** }
  811. 172:user_src/soft_engine.c **** }
  812. 173:user_src/soft_engine.c **** if(geely_data.engine_set == 0x12)
  813. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 15
  814. 632 .loc 1 173 26
  815. 633 0118 674B ldr r3, .L48+4
  816. 634 011a 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  817. 635 .loc 1 173 15
  818. 636 011c 122B cmp r3, #18
  819. 637 011e 09D1 bne .L28
  820. 174:user_src/soft_engine.c **** {
  821. 175:user_src/soft_engine.c **** //接收�养时间���馈
  822. 176:user_src/soft_engine.c **** if(geely_set_tcd_re == true)
  823. 638 .loc 1 176 37
  824. 639 0120 6C4B ldr r3, .L48+32
  825. 640 0122 1B78 ldrb r3, [r3] @ zero_extendqisi2
  826. 641 .loc 1 176 19
  827. 642 0124 002B cmp r3, #0
  828. 643 0126 05D0 beq .L28
  829. 177:user_src/soft_engine.c **** {
  830. 178:user_src/soft_engine.c **** geely_set_tcd_re = false;
  831. 644 .loc 1 178 38
  832. 645 0128 6A4B ldr r3, .L48+32
  833. 646 012a 0022 movs r2, #0
  834. 647 012c 1A70 strb r2, [r3]
  835. 179:user_src/soft_engine.c **** geely_set_counts = 0;
  836. 648 .loc 1 179 38
  837. 649 012e 684B ldr r3, .L48+28
  838. 650 0130 0022 movs r2, #0
  839. 651 0132 1A80 strh r2, [r3] @ movhi
  840. 652 .L28:
  841. 180:user_src/soft_engine.c **** }
  842. 181:user_src/soft_engine.c **** }
  843. 182:user_src/soft_engine.c **** if(geely_data.engine_set == 0x14)
  844. 653 .loc 1 182 26
  845. 654 0134 604B ldr r3, .L48+4
  846. 655 0136 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  847. 656 .loc 1 182 15
  848. 657 0138 142B cmp r3, #20
  849. 658 013a 0CD1 bne .L29
  850. 183:user_src/soft_engine.c **** {
  851. 184:user_src/soft_engine.c **** //接收�机时间�馈
  852. 185:user_src/soft_engine.c **** if(geely_set_tlock == true)
  853. 659 .loc 1 185 36
  854. 660 013c 664B ldr r3, .L48+36
  855. 661 013e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  856. 662 .loc 1 185 19
  857. 663 0140 002B cmp r3, #0
  858. 664 0142 08D0 beq .L29
  859. 186:user_src/soft_engine.c **** {
  860. 187:user_src/soft_engine.c **** geely_set_tlock = false;
  861. 665 .loc 1 187 37
  862. 666 0144 644B ldr r3, .L48+36
  863. 667 0146 0022 movs r2, #0
  864. 668 0148 1A70 strb r2, [r3]
  865. 188:user_src/soft_engine.c **** geely_set_counts = 0;
  866. 669 .loc 1 188 38
  867. 670 014a 614B ldr r3, .L48+28
  868. 671 014c 0022 movs r2, #0
  869. 672 014e 1A80 strh r2, [r3] @ movhi
  870. 189:user_src/soft_engine.c ****
  871. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 16
  872. 190:user_src/soft_engine.c **** geely_set_tlock_re = true;
  873. 673 .loc 1 190 40
  874. 674 0150 624B ldr r3, .L48+40
  875. 675 0152 0122 movs r2, #1
  876. 676 0154 1A70 strb r2, [r3]
  877. 677 .L29:
  878. 191:user_src/soft_engine.c **** }
  879. 192:user_src/soft_engine.c **** }
  880. 193:user_src/soft_engine.c **** if(geely_data.engine_set == 0x15)
  881. 678 .loc 1 193 26
  882. 679 0156 584B ldr r3, .L48+4
  883. 680 0158 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  884. 681 .loc 1 193 15
  885. 682 015a 152B cmp r3, #21
  886. 683 015c 40F0F680 bne .L18
  887. 194:user_src/soft_engine.c **** {
  888. 195:user_src/soft_engine.c **** //接收�机时间���馈
  889. 196:user_src/soft_engine.c **** if(geely_set_tlock_re == true)
  890. 684 .loc 1 196 39
  891. 685 0160 5E4B ldr r3, .L48+40
  892. 686 0162 1B78 ldrb r3, [r3] @ zero_extendqisi2
  893. 687 .loc 1 196 19
  894. 688 0164 002B cmp r3, #0
  895. 689 0166 00F0F180 beq .L18
  896. 197:user_src/soft_engine.c **** {
  897. 198:user_src/soft_engine.c **** geely_set_tlock_re = false;
  898. 690 .loc 1 198 40
  899. 691 016a 5C4B ldr r3, .L48+40
  900. 692 016c 0022 movs r2, #0
  901. 693 016e 1A70 strb r2, [r3]
  902. 199:user_src/soft_engine.c **** geely_set_counts = 0;
  903. 694 .loc 1 199 38
  904. 695 0170 574B ldr r3, .L48+28
  905. 696 0172 0022 movs r2, #0
  906. 697 0174 1A80 strh r2, [r3] @ movhi
  907. 698 0176 E9E0 b .L18
  908. 699 .L25:
  909. 200:user_src/soft_engine.c **** }
  910. 201:user_src/soft_engine.c **** }
  911. 202:user_src/soft_engine.c **** if(geely_data.engine_set == 0x17)
  912. 203:user_src/soft_engine.c **** {
  913. 204:user_src/soft_engine.c ****
  914. 205:user_src/soft_engine.c **** }
  915. 206:user_src/soft_engine.c **** }
  916. 207:user_src/soft_engine.c **** else
  917. 208:user_src/soft_engine.c **** {
  918. 209:user_src/soft_engine.c **** geely_moni.msg1c3_sumerr++;
  919. 700 .loc 1 209 23
  920. 701 0178 524B ldr r3, .L48+16
  921. 702 017a DB68 ldr r3, [r3, #12]
  922. 703 .loc 1 209 37
  923. 704 017c 0133 adds r3, r3, #1
  924. 705 017e 514A ldr r2, .L48+16
  925. 706 0180 D360 str r3, [r2, #12]
  926. 707 0182 E3E0 b .L18
  927. 708 .L22:
  928. 709 .LBE4:
  929. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 17
  930. 210:user_src/soft_engine.c **** }
  931. 211:user_src/soft_engine.c **** }
  932. 212:user_src/soft_engine.c **** else if (cellCanID == 0x1c4)
  933. 710 .loc 1 212 13
  934. 711 0184 FB68 ldr r3, [r7, #12]
  935. 712 0186 B3F5E27F cmp r3, #452
  936. 713 018a 06D1 bne .L31
  937. 213:user_src/soft_engine.c **** {
  938. 214:user_src/soft_engine.c **** memcpy(&geely_data.engine_runtime, &data[0], len);
  939. 714 .loc 1 214 9
  940. 715 018c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  941. 716 018e 1A46 mov r2, r3
  942. 717 0190 B968 ldr r1, [r7, #8]
  943. 718 0192 5348 ldr r0, .L48+44
  944. 719 0194 FFF7FEFF bl memcpy
  945. 720 0198 D8E0 b .L18
  946. 721 .L31:
  947. 215:user_src/soft_engine.c **** }
  948. 216:user_src/soft_engine.c **** else
  949. 217:user_src/soft_engine.c **** {
  950. 218:user_src/soft_engine.c **** if(cellCanID >= 0x1E1 && cellCanID <= 0x1EF)
  951. 722 .loc 1 218 11
  952. 723 019a FB68 ldr r3, [r7, #12]
  953. 724 019c B3F5F07F cmp r3, #480
  954. 725 01a0 19D9 bls .L32
  955. 726 .loc 1 218 31 discriminator 1
  956. 727 01a2 FB68 ldr r3, [r7, #12]
  957. 728 01a4 B3F5F87F cmp r3, #496
  958. 729 01a8 15D2 bcs .L32
  959. 219:user_src/soft_engine.c **** {
  960. 220:user_src/soft_engine.c **** geely_engin_link.connect_status = COMP_NORMAL;
  961. 730 .loc 1 220 45
  962. 731 01aa 424B ldr r3, .L48
  963. 732 01ac 0122 movs r2, #1
  964. 733 01ae 1A72 strb r2, [r3, #8]
  965. 221:user_src/soft_engine.c **** geely_version2_count++;
  966. 734 .loc 1 221 33
  967. 735 01b0 4C4B ldr r3, .L48+48
  968. 736 01b2 1B68 ldr r3, [r3]
  969. 737 01b4 0133 adds r3, r3, #1
  970. 738 01b6 4B4A ldr r2, .L48+48
  971. 739 01b8 1360 str r3, [r2]
  972. 222:user_src/soft_engine.c **** if(geely_data2.version2_flag != true && (geely_version2_count > 10))
  973. 740 .loc 1 222 27
  974. 741 01ba 4B4B ldr r3, .L48+52
  975. 742 01bc 1B78 ldrb r3, [r3] @ zero_extendqisi2
  976. 743 .loc 1 222 42
  977. 744 01be 83F00103 eor r3, r3, #1
  978. 745 01c2 DBB2 uxtb r3, r3
  979. 746 .loc 1 222 15
  980. 747 01c4 002B cmp r3, #0
  981. 748 01c6 06D0 beq .L32
  982. 749 .loc 1 222 75 discriminator 1
  983. 750 01c8 464B ldr r3, .L48+48
  984. 751 01ca 1B68 ldr r3, [r3]
  985. 752 .loc 1 222 50 discriminator 1
  986. 753 01cc 0A2B cmp r3, #10
  987. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 18
  988. 754 01ce 02DD ble .L32
  989. 223:user_src/soft_engine.c **** {
  990. 224:user_src/soft_engine.c **** geely_data2.version2_flag = true;
  991. 755 .loc 1 224 40
  992. 756 01d0 454B ldr r3, .L48+52
  993. 757 01d2 0122 movs r2, #1
  994. 758 01d4 1A70 strb r2, [r3]
  995. 759 .L32:
  996. 225:user_src/soft_engine.c **** } //作为第二版�议标志
  997. 226:user_src/soft_engine.c **** }
  998. 227:user_src/soft_engine.c **** //第二版�议
  999. 228:user_src/soft_engine.c **** switch (cellCanID)
  1000. 760 .loc 1 228 9
  1001. 761 01d6 FB68 ldr r3, [r7, #12]
  1002. 762 01d8 312B cmp r3, #49
  1003. 763 01da 33D0 beq .L33
  1004. 764 01dc FB68 ldr r3, [r7, #12]
  1005. 765 01de 312B cmp r3, #49
  1006. 766 01e0 C0F0B380 bcc .L47
  1007. 767 01e4 FB68 ldr r3, [r7, #12]
  1008. 768 01e6 B3F5F77F cmp r3, #494
  1009. 769 01ea 00F2AE80 bhi .L47
  1010. 770 01ee FB68 ldr r3, [r7, #12]
  1011. 771 01f0 B3F5F07F cmp r3, #480
  1012. 772 01f4 40F2A980 bls .L47
  1013. 773 01f8 FB68 ldr r3, [r7, #12]
  1014. 774 01fa A3F2E113 subw r3, r3, #481
  1015. 775 01fe 0D2B cmp r3, #13
  1016. 776 0200 00F2A380 bhi .L47
  1017. 777 0204 01A2 adr r2, .L36
  1018. 778 0206 52F823F0 ldr pc, [r2, r3, lsl #2]
  1019. 779 020a 00BF .p2align 2
  1020. 780 .L36:
  1021. 781 020c 4B030000 .word .L47+1
  1022. 782 0210 4D020000 .word .L45+1
  1023. 783 0214 65020000 .word .L44+1
  1024. 784 0218 77020000 .word .L43+1
  1025. 785 021c 4B030000 .word .L47+1
  1026. 786 0220 4B030000 .word .L47+1
  1027. 787 0224 4B030000 .word .L47+1
  1028. 788 0228 87020000 .word .L42+1
  1029. 789 022c A7020000 .word .L41+1
  1030. 790 0230 0D030000 .word .L40+1
  1031. 791 0234 19030000 .word .L39+1
  1032. 792 0238 25030000 .word .L38+1
  1033. 793 023c 33030000 .word .L37+1
  1034. 794 0240 3F030000 .word .L35+1
  1035. 795 .p2align 1
  1036. 796 .L33:
  1037. 229:user_src/soft_engine.c **** {
  1038. 230:user_src/soft_engine.c **** case 0x031:
  1039. 231:user_src/soft_engine.c **** geely_send_BJtime = true;
  1040. 797 .loc 1 231 31
  1041. 798 0244 294B ldr r3, .L48+56
  1042. 799 0246 0122 movs r2, #1
  1043. 800 0248 1A70 strb r2, [r3]
  1044. 232:user_src/soft_engine.c **** break;
  1045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 19
  1046. 801 .loc 1 232 13
  1047. 802 024a 7FE0 b .L18
  1048. 803 .L45:
  1049. 233:user_src/soft_engine.c **** case 0x1E1:
  1050. 234:user_src/soft_engine.c ****
  1051. 235:user_src/soft_engine.c **** break;
  1052. 236:user_src/soft_engine.c **** case 0x1E2:
  1053. 237:user_src/soft_engine.c **** geely_get_version = true;
  1054. 804 .loc 1 237 31
  1055. 805 024c 284B ldr r3, .L48+60
  1056. 806 024e 0122 movs r2, #1
  1057. 807 0250 1A70 strb r2, [r3]
  1058. 238:user_src/soft_engine.c **** geely_count = 10;
  1059. 808 .loc 1 238 25
  1060. 809 0252 284B ldr r3, .L48+64
  1061. 810 0254 0A22 movs r2, #10
  1062. 811 0256 1A70 strb r2, [r3]
  1063. 239:user_src/soft_engine.c **** memcpy(&geely_data2.engine_ver,&data[0],8);
  1064. 812 .loc 1 239 13
  1065. 813 0258 0822 movs r2, #8
  1066. 814 025a B968 ldr r1, [r7, #8]
  1067. 815 025c 2648 ldr r0, .L48+68
  1068. 816 025e FFF7FEFF bl memcpy
  1069. 240:user_src/soft_engine.c ****
  1070. 241:user_src/soft_engine.c **** break;
  1071. 817 .loc 1 241 13
  1072. 818 0262 73E0 b .L18
  1073. 819 .L44:
  1074. 242:user_src/soft_engine.c **** case 0x1E3:
  1075. 243:user_src/soft_engine.c **** geely_get_time = true;
  1076. 820 .loc 1 243 28
  1077. 821 0264 254B ldr r3, .L48+72
  1078. 822 0266 0122 movs r2, #1
  1079. 823 0268 1A70 strb r2, [r3]
  1080. 244:user_src/soft_engine.c **** //geely_count = 10;
  1081. 245:user_src/soft_engine.c **** memcpy(&geely_data2.engine_runtime,&data[0],8);
  1082. 824 .loc 1 245 13
  1083. 825 026a 0822 movs r2, #8
  1084. 826 026c B968 ldr r1, [r7, #8]
  1085. 827 026e 2448 ldr r0, .L48+76
  1086. 828 0270 FFF7FEFF bl memcpy
  1087. 246:user_src/soft_engine.c **** break;
  1088. 829 .loc 1 246 13
  1089. 830 0274 6AE0 b .L18
  1090. 831 .L43:
  1091. 247:user_src/soft_engine.c **** case 0x1E4:
  1092. 248:user_src/soft_engine.c **** memcpy(&geely_data2.Bit1E4,&data[0],6);
  1093. 832 .loc 1 248 13
  1094. 833 0276 1C4B ldr r3, .L48+52
  1095. 834 0278 BA68 ldr r2, [r7, #8]
  1096. 835 027a 1133 adds r3, r3, #17
  1097. 836 027c 1168 ldr r1, [r2] @ unaligned
  1098. 837 027e 1960 str r1, [r3] @ unaligned
  1099. 838 0280 9288 ldrh r2, [r2, #4] @ unaligned
  1100. 839 0282 9A80 strh r2, [r3, #4] @ unaligned
  1101. 249:user_src/soft_engine.c **** break;
  1102. 840 .loc 1 249 13
  1103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 20
  1104. 841 0284 62E0 b .L18
  1105. 842 .L42:
  1106. 250:user_src/soft_engine.c **** case 0x1E8:
  1107. 251:user_src/soft_engine.c **** memcpy(&geely_data2.engine_time,&data[0],8);
  1108. 843 .loc 1 251 13
  1109. 844 0286 0822 movs r2, #8
  1110. 845 0288 B968 ldr r1, [r7, #8]
  1111. 846 028a 1E48 ldr r0, .L48+80
  1112. 847 028c FFF7FEFF bl memcpy
  1113. 252:user_src/soft_engine.c **** geely_data2.engine_time = ((data[4] >> 6) & 0x3);
  1114. 848 .loc 1 252 45
  1115. 849 0290 BB68 ldr r3, [r7, #8]
  1116. 850 0292 0433 adds r3, r3, #4
  1117. 851 0294 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1118. 852 .loc 1 252 55
  1119. 853 0296 9B09 lsrs r3, r3, #6
  1120. 854 0298 DBB2 uxtb r3, r3
  1121. 855 029a 03F00303 and r3, r3, #3
  1122. 856 .loc 1 252 37
  1123. 857 029e 124A ldr r2, .L48+52
  1124. 858 02a0 C2F81730 str r3, [r2, #23] @ unaligned
  1125. 253:user_src/soft_engine.c **** break;
  1126. 859 .loc 1 253 13
  1127. 860 02a4 52E0 b .L18
  1128. 861 .L41:
  1129. 254:user_src/soft_engine.c **** case 0x1E9:
  1130. 255:user_src/soft_engine.c **** memcpy(&geely_data2.engine_rev,&data[0],8);
  1131. 862 .loc 1 255 13
  1132. 863 02a6 0822 movs r2, #8
  1133. 864 02a8 B968 ldr r1, [r7, #8]
  1134. 865 02aa 1748 ldr r0, .L48+84
  1135. 866 02ac FFF7FEFF bl memcpy
  1136. 256:user_src/soft_engine.c **** break;
  1137. 867 .loc 1 256 13
  1138. 868 02b0 4CE0 b .L18
  1139. 869 .L49:
  1140. 870 02b2 00BF .align 2
  1141. 871 .L48:
  1142. 872 02b4 00000000 .word geely_engin_link
  1143. 873 02b8 00000000 .word geely_data
  1144. 874 02bc 08000000 .word geely_data+8
  1145. 875 02c0 10000000 .word geely_data+16
  1146. 876 02c4 00000000 .word geely_moni
  1147. 877 02c8 18000000 .word geely_data+24
  1148. 878 02cc 00000000 .word geely_set_tcd
  1149. 879 02d0 00000000 .word geely_set_counts
  1150. 880 02d4 00000000 .word geely_set_tcd_re
  1151. 881 02d8 00000000 .word geely_set_tlock
  1152. 882 02dc 00000000 .word geely_set_tlock_re
  1153. 883 02e0 20000000 .word geely_data+32
  1154. 884 02e4 00000000 .word geely_version2_count
  1155. 885 02e8 00000000 .word geely_data2
  1156. 886 02ec 00000000 .word geely_send_BJtime
  1157. 887 02f0 00000000 .word geely_get_version
  1158. 888 02f4 00000000 .word geely_count
  1159. 889 02f8 01000000 .word geely_data2+1
  1160. 890 02fc 00000000 .word geely_get_time
  1161. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 21
  1162. 891 0300 09000000 .word geely_data2+9
  1163. 892 0304 17000000 .word geely_data2+23
  1164. 893 0308 1F000000 .word geely_data2+31
  1165. 894 .L40:
  1166. 257:user_src/soft_engine.c **** case 0x1EA:
  1167. 258:user_src/soft_engine.c **** memcpy(&geely_data2.Bit1EA,&data[0],8);
  1168. 895 .loc 1 258 13
  1169. 896 030c 0822 movs r2, #8
  1170. 897 030e B968 ldr r1, [r7, #8]
  1171. 898 0310 1348 ldr r0, .L50
  1172. 899 0312 FFF7FEFF bl memcpy
  1173. 259:user_src/soft_engine.c **** break;
  1174. 900 .loc 1 259 13
  1175. 901 0316 19E0 b .L18
  1176. 902 .L39:
  1177. 260:user_src/soft_engine.c **** case 0x1EB:
  1178. 261:user_src/soft_engine.c **** memcpy(&geely_data2.FuelConsumption,&data[0],8);
  1179. 903 .loc 1 261 13
  1180. 904 0318 0822 movs r2, #8
  1181. 905 031a B968 ldr r1, [r7, #8]
  1182. 906 031c 1148 ldr r0, .L50+4
  1183. 907 031e FFF7FEFF bl memcpy
  1184. 262:user_src/soft_engine.c **** break;
  1185. 908 .loc 1 262 13
  1186. 909 0322 13E0 b .L18
  1187. 910 .L38:
  1188. 911 0324 BB68 ldr r3, [r7, #8]
  1189. 912 0326 1B88 ldrh r3, [r3] @ unaligned
  1190. 913 0328 9BB2 uxth r3, r3
  1191. 263:user_src/soft_engine.c **** case 0x1EC:
  1192. 264:user_src/soft_engine.c **** memcpy(&geely_data2.EmgST0,&data[0],2);
  1193. 914 .loc 1 264 13
  1194. 915 032a 0F4A ldr r2, .L50+8
  1195. 916 032c A2F83930 strh r3, [r2, #57] @ unaligned
  1196. 265:user_src/soft_engine.c **** break;
  1197. 917 .loc 1 265 13
  1198. 918 0330 0CE0 b .L18
  1199. 919 .L37:
  1200. 266:user_src/soft_engine.c **** case 0x1ED:
  1201. 267:user_src/soft_engine.c **** memcpy(&geely_data2.AlmST0,&data[0],8);
  1202. 920 .loc 1 267 13
  1203. 921 0332 0822 movs r2, #8
  1204. 922 0334 B968 ldr r1, [r7, #8]
  1205. 923 0336 0D48 ldr r0, .L50+12
  1206. 924 0338 FFF7FEFF bl memcpy
  1207. 268:user_src/soft_engine.c **** break;
  1208. 925 .loc 1 268 13
  1209. 926 033c 06E0 b .L18
  1210. 927 .L35:
  1211. 269:user_src/soft_engine.c **** case 0x1EE:
  1212. 270:user_src/soft_engine.c **** memcpy(&geely_data2.Gear1Position,&data[0],7);
  1213. 928 .loc 1 270 13
  1214. 929 033e 0722 movs r2, #7
  1215. 930 0340 B968 ldr r1, [r7, #8]
  1216. 931 0342 0B48 ldr r0, .L50+16
  1217. 932 0344 FFF7FEFF bl memcpy
  1218. 271:user_src/soft_engine.c **** break;
  1219. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 22
  1220. 933 .loc 1 271 13
  1221. 934 0348 00E0 b .L18
  1222. 935 .L47:
  1223. 272:user_src/soft_engine.c ****
  1224. 273:user_src/soft_engine.c **** default:
  1225. 274:user_src/soft_engine.c **** break;
  1226. 936 .loc 1 274 13
  1227. 937 034a 00BF nop
  1228. 938 .L18:
  1229. 275:user_src/soft_engine.c **** }
  1230. 276:user_src/soft_engine.c **** }
  1231. 277:user_src/soft_engine.c ****
  1232. 278:user_src/soft_engine.c **** geely_engin_link.recv_time = HAL_GetTick();
  1233. 939 .loc 1 278 34
  1234. 940 034c FFF7FEFF bl HAL_GetTick
  1235. 941 0350 0346 mov r3, r0
  1236. 942 .loc 1 278 32
  1237. 943 0352 084A ldr r2, .L50+20
  1238. 944 0354 1360 str r3, [r2]
  1239. 279:user_src/soft_engine.c **** }
  1240. 945 .loc 1 279 1
  1241. 946 0356 00BF nop
  1242. 947 0358 1837 adds r7, r7, #24
  1243. 948 .LCFI13:
  1244. 949 .cfi_def_cfa_offset 8
  1245. 950 035a BD46 mov sp, r7
  1246. 951 .LCFI14:
  1247. 952 .cfi_def_cfa_register 13
  1248. 953 @ sp needed
  1249. 954 035c 80BD pop {r7, pc}
  1250. 955 .L51:
  1251. 956 035e 00BF .align 2
  1252. 957 .L50:
  1253. 958 0360 27000000 .word geely_data2+39
  1254. 959 0364 31000000 .word geely_data2+49
  1255. 960 0368 00000000 .word geely_data2
  1256. 961 036c 41000000 .word geely_data2+65
  1257. 962 0370 49000000 .word geely_data2+73
  1258. 963 0374 00000000 .word geely_engin_link
  1259. 964 .cfi_endproc
  1260. 965 .LFE135:
  1261. 967 .global geely_set_counts
  1262. 968 .section .bss.geely_set_counts,"aw",%nobits
  1263. 969 .align 1
  1264. 972 geely_set_counts:
  1265. 973 0000 0000 .space 2
  1266. 974 .global geely_sendinfo2
  1267. 975 .section .bss.geely_sendinfo2,"aw",%nobits
  1268. 976 .align 2
  1269. 979 geely_sendinfo2:
  1270. 980 0000 00000000 .space 14
  1271. 980 00000000
  1272. 980 00000000
  1273. 980 0000
  1274. 981 .global geely_count
  1275. 982 .section .data.geely_count,"aw"
  1276. 985 geely_count:
  1277. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 23
  1278. 986 0000 0F .byte 15
  1279. 987 .global start_engine
  1280. 988 .section .bss.start_engine,"aw",%nobits
  1281. 991 start_engine:
  1282. 992 0000 00 .space 1
  1283. 993 .section .text.Geely_version2_init,"ax",%progbits
  1284. 994 .align 1
  1285. 995 .global Geely_version2_init
  1286. 996 .syntax unified
  1287. 997 .thumb
  1288. 998 .thumb_func
  1289. 1000 Geely_version2_init:
  1290. 1001 .LFB136:
  1291. 280:user_src/soft_engine.c ****
  1292. 281:user_src/soft_engine.c **** short geely_set_counts = 0;
  1293. 282:user_src/soft_engine.c **** #pragma pack(1)
  1294. 283:user_src/soft_engine.c **** typedef struct
  1295. 284:user_src/soft_engine.c **** {
  1296. 285:user_src/soft_engine.c **** uint32_t time;
  1297. 286:user_src/soft_engine.c **** uint8_t nodecode:4;
  1298. 287:user_src/soft_engine.c **** uint8_t message_conut0:4;
  1299. 288:user_src/soft_engine.c **** int8_t check_sum0;
  1300. 289:user_src/soft_engine.c ****
  1301. 290:user_src/soft_engine.c **** uint8_t client_cmd;
  1302. 291:user_src/soft_engine.c **** uint8_t syscontrol;
  1303. 292:user_src/soft_engine.c **** uint8_t reserve0;
  1304. 293:user_src/soft_engine.c **** uint8_t reserve1;
  1305. 294:user_src/soft_engine.c **** uint32_t reserve2:20;
  1306. 295:user_src/soft_engine.c **** uint8_t message_conut1:4;
  1307. 296:user_src/soft_engine.c **** int8_t check_sum1;
  1308. 297:user_src/soft_engine.c **** }geely_info2;
  1309. 298:user_src/soft_engine.c **** geely_info2 geely_sendinfo2;
  1310. 299:user_src/soft_engine.c **** #pragma pack()
  1311. 300:user_src/soft_engine.c ****
  1312. 301:user_src/soft_engine.c **** uint8_t geely_count = 15;
  1313. 302:user_src/soft_engine.c **** uint8_t start_engine = 0; // 0x80�动 0�止
  1314. 303:user_src/soft_engine.c **** void Geely_version2_init(void)
  1315. 304:user_src/soft_engine.c **** {
  1316. 1002 .loc 1 304 1
  1317. 1003 .cfi_startproc
  1318. 1004 @ args = 0, pretend = 0, frame = 8
  1319. 1005 @ frame_needed = 1, uses_anonymous_args = 0
  1320. 1006 0000 80B5 push {r7, lr}
  1321. 1007 .LCFI15:
  1322. 1008 .cfi_def_cfa_offset 8
  1323. 1009 .cfi_offset 7, -8
  1324. 1010 .cfi_offset 14, -4
  1325. 1011 0002 82B0 sub sp, sp, #8
  1326. 1012 .LCFI16:
  1327. 1013 .cfi_def_cfa_offset 16
  1328. 1014 0004 00AF add r7, sp, #0
  1329. 1015 .LCFI17:
  1330. 1016 .cfi_def_cfa_register 7
  1331. 305:user_src/soft_engine.c **** uint8_t can_buf[8] = {0};
  1332. 1017 .loc 1 305 13
  1333. 1018 0006 0023 movs r3, #0
  1334. 1019 0008 3B60 str r3, [r7]
  1335. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 24
  1336. 1020 000a 0023 movs r3, #0
  1337. 1021 000c 7B60 str r3, [r7, #4]
  1338. 306:user_src/soft_engine.c **** static uint8_t geely_init_count = 15;
  1339. 307:user_src/soft_engine.c **** if(geely_data2.version2_flag != true && geely_init_count > 1)
  1340. 1022 .loc 1 307 19
  1341. 1023 000e 284B ldr r3, .L55
  1342. 1024 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1343. 1025 .loc 1 307 34
  1344. 1026 0012 83F00103 eor r3, r3, #1
  1345. 1027 0016 DBB2 uxtb r3, r3
  1346. 1028 .loc 1 307 7
  1347. 1029 0018 002B cmp r3, #0
  1348. 1030 001a 45D0 beq .L54
  1349. 1031 .loc 1 307 62 discriminator 1
  1350. 1032 001c 254B ldr r3, .L55+4
  1351. 1033 001e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1352. 1034 .loc 1 307 42 discriminator 1
  1353. 1035 0020 012B cmp r3, #1
  1354. 1036 0022 41D9 bls .L54
  1355. 308:user_src/soft_engine.c **** {
  1356. 309:user_src/soft_engine.c **** geely_sendinfo2.client_cmd = 0x12;
  1357. 1037 .loc 1 309 36
  1358. 1038 0024 244B ldr r3, .L55+8
  1359. 1039 0026 1222 movs r2, #18
  1360. 1040 0028 9A71 strb r2, [r3, #6]
  1361. 310:user_src/soft_engine.c **** geely_sendinfo2.syscontrol = 0;
  1362. 1041 .loc 1 310 36
  1363. 1042 002a 234B ldr r3, .L55+8
  1364. 1043 002c 0022 movs r2, #0
  1365. 1044 002e DA71 strb r2, [r3, #7]
  1366. 311:user_src/soft_engine.c **** geely_sendinfo2.check_sum1 = geely_sendinfo2.client_cmd + geely_sendinfo2.syscontrol + (gee
  1367. 1045 .loc 1 311 53
  1368. 1046 0030 214B ldr r3, .L55+8
  1369. 1047 0032 9A79 ldrb r2, [r3, #6] @ zero_extendqisi2
  1370. 1048 .loc 1 311 82
  1371. 1049 0034 204B ldr r3, .L55+8
  1372. 1050 0036 DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  1373. 1051 .loc 1 311 65
  1374. 1052 0038 1344 add r3, r3, r2
  1375. 1053 003a DAB2 uxtb r2, r3
  1376. 1054 .loc 1 311 112
  1377. 1055 003c 1E4B ldr r3, .L55+8
  1378. 1056 003e 1B7B ldrb r3, [r3, #12]
  1379. 1057 0040 C3F30313 ubfx r3, r3, #4, #4
  1380. 1058 0044 DBB2 uxtb r3, r3
  1381. 1059 .loc 1 311 128
  1382. 1060 0046 1B01 lsls r3, r3, #4
  1383. 1061 0048 DBB2 uxtb r3, r3
  1384. 1062 .loc 1 311 94
  1385. 1063 004a 1344 add r3, r3, r2
  1386. 1064 004c DBB2 uxtb r3, r3
  1387. 1065 004e 5AB2 sxtb r2, r3
  1388. 1066 .loc 1 311 36
  1389. 1067 0050 194B ldr r3, .L55+8
  1390. 1068 0052 5A73 strb r2, [r3, #13]
  1391. 312:user_src/soft_engine.c **** geely_sendinfo2.check_sum1 = 0 - geely_sendinfo2.check_sum1;
  1392. 1069 .loc 1 312 57
  1393. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 25
  1394. 1070 0054 184B ldr r3, .L55+8
  1395. 1071 0056 93F90D30 ldrsb r3, [r3, #13]
  1396. 1072 005a DBB2 uxtb r3, r3
  1397. 1073 .loc 1 312 36
  1398. 1074 005c 5B42 rsbs r3, r3, #0
  1399. 1075 005e DBB2 uxtb r3, r3
  1400. 1076 0060 5AB2 sxtb r2, r3
  1401. 1077 0062 154B ldr r3, .L55+8
  1402. 1078 0064 5A73 strb r2, [r3, #13]
  1403. 313:user_src/soft_engine.c **** memcpy(&can_buf[0],&geely_sendinfo2.client_cmd,8);
  1404. 1079 .loc 1 313 9
  1405. 1080 0066 3B46 mov r3, r7
  1406. 1081 0068 0822 movs r2, #8
  1407. 1082 006a 1449 ldr r1, .L55+12
  1408. 1083 006c 1846 mov r0, r3
  1409. 1084 006e FFF7FEFF bl memcpy
  1410. 314:user_src/soft_engine.c **** geely_sendinfo2.message_conut1++;
  1411. 1085 .loc 1 314 24
  1412. 1086 0072 114B ldr r3, .L55+8
  1413. 1087 0074 1B7B ldrb r3, [r3, #12]
  1414. 1088 0076 C3F30313 ubfx r3, r3, #4, #4
  1415. 1089 007a DBB2 uxtb r3, r3
  1416. 1090 .loc 1 314 39
  1417. 1091 007c 0133 adds r3, r3, #1
  1418. 1092 007e 03F00F03 and r3, r3, #15
  1419. 1093 0082 D9B2 uxtb r1, r3
  1420. 1094 0084 0C4A ldr r2, .L55+8
  1421. 1095 0086 137B ldrb r3, [r2, #12]
  1422. 1096 0088 61F30713 bfi r3, r1, #4, #4
  1423. 1097 008c 1373 strb r3, [r2, #12]
  1424. 315:user_src/soft_engine.c ****
  1425. 316:user_src/soft_engine.c **** can_send_msg_normalstd(&can_buf[0],8,0x1E0);
  1426. 1098 .loc 1 316 9
  1427. 1099 008e 3B46 mov r3, r7
  1428. 1100 0090 4FF4F072 mov r2, #480
  1429. 1101 0094 0821 movs r1, #8
  1430. 1102 0096 1846 mov r0, r3
  1431. 1103 0098 FFF7FEFF bl can_send_msg_normalstd
  1432. 317:user_src/soft_engine.c ****
  1433. 318:user_src/soft_engine.c **** geely_init_count--;
  1434. 1104 .loc 1 318 25
  1435. 1105 009c 054B ldr r3, .L55+4
  1436. 1106 009e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1437. 1107 00a0 013B subs r3, r3, #1
  1438. 1108 00a2 DAB2 uxtb r2, r3
  1439. 1109 00a4 034B ldr r3, .L55+4
  1440. 1110 00a6 1A70 strb r2, [r3]
  1441. 1111 .L54:
  1442. 319:user_src/soft_engine.c ****
  1443. 320:user_src/soft_engine.c ****
  1444. 321:user_src/soft_engine.c **** }
  1445. 322:user_src/soft_engine.c **** }
  1446. 1112 .loc 1 322 1
  1447. 1113 00a8 00BF nop
  1448. 1114 00aa 0837 adds r7, r7, #8
  1449. 1115 .LCFI18:
  1450. 1116 .cfi_def_cfa_offset 8
  1451. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 26
  1452. 1117 00ac BD46 mov sp, r7
  1453. 1118 .LCFI19:
  1454. 1119 .cfi_def_cfa_register 13
  1455. 1120 @ sp needed
  1456. 1121 00ae 80BD pop {r7, pc}
  1457. 1122 .L56:
  1458. 1123 .align 2
  1459. 1124 .L55:
  1460. 1125 00b0 00000000 .word geely_data2
  1461. 1126 00b4 00000000 .word geely_init_count.3
  1462. 1127 00b8 00000000 .word geely_sendinfo2
  1463. 1128 00bc 06000000 .word geely_sendinfo2+6
  1464. 1129 .cfi_endproc
  1465. 1130 .LFE136:
  1466. 1132 .section .text.Geely_version2_send_info,"ax",%progbits
  1467. 1133 .align 1
  1468. 1134 .global Geely_version2_send_info
  1469. 1135 .syntax unified
  1470. 1136 .thumb
  1471. 1137 .thumb_func
  1472. 1139 Geely_version2_send_info:
  1473. 1140 .LFB137:
  1474. 323:user_src/soft_engine.c ****
  1475. 324:user_src/soft_engine.c **** void Geely_version2_send_info( void )
  1476. 325:user_src/soft_engine.c **** {
  1477. 1141 .loc 1 325 1
  1478. 1142 .cfi_startproc
  1479. 1143 @ args = 0, pretend = 0, frame = 8
  1480. 1144 @ frame_needed = 1, uses_anonymous_args = 0
  1481. 1145 0000 80B5 push {r7, lr}
  1482. 1146 .LCFI20:
  1483. 1147 .cfi_def_cfa_offset 8
  1484. 1148 .cfi_offset 7, -8
  1485. 1149 .cfi_offset 14, -4
  1486. 1150 0002 82B0 sub sp, sp, #8
  1487. 1151 .LCFI21:
  1488. 1152 .cfi_def_cfa_offset 16
  1489. 1153 0004 00AF add r7, sp, #0
  1490. 1154 .LCFI22:
  1491. 1155 .cfi_def_cfa_register 7
  1492. 326:user_src/soft_engine.c **** uint8_t can_buf[8] = {0};
  1493. 1156 .loc 1 326 13
  1494. 1157 0006 0023 movs r3, #0
  1495. 1158 0008 3B60 str r3, [r7]
  1496. 1159 000a 0023 movs r3, #0
  1497. 1160 000c 7B60 str r3, [r7, #4]
  1498. 327:user_src/soft_engine.c **** //��北京时间
  1499. 328:user_src/soft_engine.c **** // if(geely_send_BJtime == false && (beijing_time.ui8Year != 0)) //上点å�‘é€�,CANIDä¸�在è¿
  1500. 329:user_src/soft_engine.c **** // {
  1501. 330:user_src/soft_engine.c **** // geely_sendinfo2.time += beijing_time.ui8Second / 2;
  1502. 331:user_src/soft_engine.c **** // geely_sendinfo2.time += beijing_time.ui8Minute *( 0x1 << 4);
  1503. 332:user_src/soft_engine.c **** // geely_sendinfo2.time += beijing_time.ui8Hour *( 0x1 << 10);
  1504. 333:user_src/soft_engine.c **** // geely_sendinfo2.time += beijing_time.ui8DayOfMonth *( 0x1 << 15);
  1505. 334:user_src/soft_engine.c **** // geely_sendinfo2.time += beijing_time.ui8Month *( 0x1 << 20);
  1506. 335:user_src/soft_engine.c **** // geely_sendinfo2.time += beijing_time.ui8Year *( 0x1 << 24);
  1507. 336:user_src/soft_engine.c ****
  1508. 337:user_src/soft_engine.c **** // geely_sendinfo2.nodecode = 0;
  1509. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 27
  1510. 338:user_src/soft_engine.c **** // geely_sendinfo2.check_sum0 = geely_sendinfo2.time + geely_sendinfo2.nodecode + (geely_se
  1511. 339:user_src/soft_engine.c **** // geely_sendinfo2.check_sum0 = 0 - geely_sendinfo2.check_sum0;
  1512. 340:user_src/soft_engine.c **** // memcpy(&can_buf[0],&geely_sendinfo2,6);
  1513. 341:user_src/soft_engine.c **** // geely_sendinfo2.message_conut0++;
  1514. 342:user_src/soft_engine.c ****
  1515. 343:user_src/soft_engine.c **** // can_send_msg_normalstd(&can_buf[0],6,0x030);
  1516. 344:user_src/soft_engine.c **** // }
  1517. 345:user_src/soft_engine.c **** //上电读�信�
  1518. 346:user_src/soft_engine.c **** if(geely_get_version == false || geely_get_time == false)
  1519. 1161 .loc 1 346 26
  1520. 1162 000e 614B ldr r3, .L67
  1521. 1163 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1522. 1164 0012 83F00103 eor r3, r3, #1
  1523. 1165 0016 DBB2 uxtb r3, r3
  1524. 1166 .loc 1 346 7
  1525. 1167 0018 002B cmp r3, #0
  1526. 1168 001a 06D1 bne .L58
  1527. 1169 .loc 1 346 53 discriminator 1
  1528. 1170 001c 5E4B ldr r3, .L67+4
  1529. 1171 001e 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1530. 1172 0020 83F00103 eor r3, r3, #1
  1531. 1173 0024 DBB2 uxtb r3, r3
  1532. 1174 .loc 1 346 35 discriminator 1
  1533. 1175 0026 002B cmp r3, #0
  1534. 1176 0028 70D0 beq .L59
  1535. 1177 .L58:
  1536. 347:user_src/soft_engine.c **** {
  1537. 348:user_src/soft_engine.c **** if(geely_get_version == false)
  1538. 1178 .loc 1 348 30
  1539. 1179 002a 5A4B ldr r3, .L67
  1540. 1180 002c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1541. 1181 002e 83F00103 eor r3, r3, #1
  1542. 1182 0032 DBB2 uxtb r3, r3
  1543. 1183 .loc 1 348 11
  1544. 1184 0034 002B cmp r3, #0
  1545. 1185 0036 03D0 beq .L60
  1546. 349:user_src/soft_engine.c **** {
  1547. 350:user_src/soft_engine.c **** geely_sendinfo2.client_cmd = 0x16;
  1548. 1186 .loc 1 350 40
  1549. 1187 0038 584B ldr r3, .L67+8
  1550. 1188 003a 1622 movs r2, #22
  1551. 1189 003c 9A71 strb r2, [r3, #6]
  1552. 1190 003e 09E0 b .L61
  1553. 1191 .L60:
  1554. 351:user_src/soft_engine.c **** }
  1555. 352:user_src/soft_engine.c **** else if(geely_get_time == false)
  1556. 1192 .loc 1 352 32
  1557. 1193 0040 554B ldr r3, .L67+4
  1558. 1194 0042 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1559. 1195 0044 83F00103 eor r3, r3, #1
  1560. 1196 0048 DBB2 uxtb r3, r3
  1561. 1197 .loc 1 352 16
  1562. 1198 004a 002B cmp r3, #0
  1563. 1199 004c 02D0 beq .L61
  1564. 353:user_src/soft_engine.c **** {
  1565. 354:user_src/soft_engine.c **** geely_sendinfo2.client_cmd = 0x17;
  1566. 1200 .loc 1 354 40
  1567. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 28
  1568. 1201 004e 534B ldr r3, .L67+8
  1569. 1202 0050 1722 movs r2, #23
  1570. 1203 0052 9A71 strb r2, [r3, #6]
  1571. 1204 .L61:
  1572. 355:user_src/soft_engine.c **** }
  1573. 356:user_src/soft_engine.c ****
  1574. 357:user_src/soft_engine.c **** geely_sendinfo2.syscontrol = 0;
  1575. 1205 .loc 1 357 36
  1576. 1206 0054 514B ldr r3, .L67+8
  1577. 1207 0056 0022 movs r2, #0
  1578. 1208 0058 DA71 strb r2, [r3, #7]
  1579. 358:user_src/soft_engine.c **** geely_sendinfo2.check_sum1 = geely_sendinfo2.client_cmd + geely_sendinfo2.syscontrol + (gee
  1580. 1209 .loc 1 358 53
  1581. 1210 005a 504B ldr r3, .L67+8
  1582. 1211 005c 9A79 ldrb r2, [r3, #6] @ zero_extendqisi2
  1583. 1212 .loc 1 358 82
  1584. 1213 005e 4F4B ldr r3, .L67+8
  1585. 1214 0060 DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  1586. 1215 .loc 1 358 65
  1587. 1216 0062 1344 add r3, r3, r2
  1588. 1217 0064 DAB2 uxtb r2, r3
  1589. 1218 .loc 1 358 112
  1590. 1219 0066 4D4B ldr r3, .L67+8
  1591. 1220 0068 1B7B ldrb r3, [r3, #12]
  1592. 1221 006a C3F30313 ubfx r3, r3, #4, #4
  1593. 1222 006e DBB2 uxtb r3, r3
  1594. 1223 .loc 1 358 128
  1595. 1224 0070 1B01 lsls r3, r3, #4
  1596. 1225 0072 DBB2 uxtb r3, r3
  1597. 1226 .loc 1 358 94
  1598. 1227 0074 1344 add r3, r3, r2
  1599. 1228 0076 DBB2 uxtb r3, r3
  1600. 1229 0078 5AB2 sxtb r2, r3
  1601. 1230 .loc 1 358 36
  1602. 1231 007a 484B ldr r3, .L67+8
  1603. 1232 007c 5A73 strb r2, [r3, #13]
  1604. 359:user_src/soft_engine.c **** geely_sendinfo2.check_sum1 = 0 - geely_sendinfo2.check_sum1;
  1605. 1233 .loc 1 359 57
  1606. 1234 007e 474B ldr r3, .L67+8
  1607. 1235 0080 93F90D30 ldrsb r3, [r3, #13]
  1608. 1236 0084 DBB2 uxtb r3, r3
  1609. 1237 .loc 1 359 36
  1610. 1238 0086 5B42 rsbs r3, r3, #0
  1611. 1239 0088 DBB2 uxtb r3, r3
  1612. 1240 008a 5AB2 sxtb r2, r3
  1613. 1241 008c 434B ldr r3, .L67+8
  1614. 1242 008e 5A73 strb r2, [r3, #13]
  1615. 360:user_src/soft_engine.c **** memcpy(&can_buf[0],&geely_sendinfo2.client_cmd,8);
  1616. 1243 .loc 1 360 9
  1617. 1244 0090 3B46 mov r3, r7
  1618. 1245 0092 0822 movs r2, #8
  1619. 1246 0094 4249 ldr r1, .L67+12
  1620. 1247 0096 1846 mov r0, r3
  1621. 1248 0098 FFF7FEFF bl memcpy
  1622. 361:user_src/soft_engine.c **** geely_sendinfo2.message_conut1++;
  1623. 1249 .loc 1 361 24
  1624. 1250 009c 3F4B ldr r3, .L67+8
  1625. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 29
  1626. 1251 009e 1B7B ldrb r3, [r3, #12]
  1627. 1252 00a0 C3F30313 ubfx r3, r3, #4, #4
  1628. 1253 00a4 DBB2 uxtb r3, r3
  1629. 1254 .loc 1 361 39
  1630. 1255 00a6 0133 adds r3, r3, #1
  1631. 1256 00a8 03F00F03 and r3, r3, #15
  1632. 1257 00ac D9B2 uxtb r1, r3
  1633. 1258 00ae 3B4A ldr r2, .L67+8
  1634. 1259 00b0 137B ldrb r3, [r2, #12]
  1635. 1260 00b2 61F30713 bfi r3, r1, #4, #4
  1636. 1261 00b6 1373 strb r3, [r2, #12]
  1637. 362:user_src/soft_engine.c ****
  1638. 363:user_src/soft_engine.c **** can_send_msg_normalstd(&can_buf[0],8,0x1E0);
  1639. 1262 .loc 1 363 9
  1640. 1263 00b8 3B46 mov r3, r7
  1641. 1264 00ba 4FF4F072 mov r2, #480
  1642. 1265 00be 0821 movs r1, #8
  1643. 1266 00c0 1846 mov r0, r3
  1644. 1267 00c2 FFF7FEFF bl can_send_msg_normalstd
  1645. 364:user_src/soft_engine.c ****
  1646. 365:user_src/soft_engine.c **** geely_count--;
  1647. 1268 .loc 1 365 20
  1648. 1269 00c6 374B ldr r3, .L67+16
  1649. 1270 00c8 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1650. 1271 00ca 013B subs r3, r3, #1
  1651. 1272 00cc DAB2 uxtb r2, r3
  1652. 1273 00ce 354B ldr r3, .L67+16
  1653. 1274 00d0 1A70 strb r2, [r3]
  1654. 366:user_src/soft_engine.c ****
  1655. 367:user_src/soft_engine.c **** if(geely_count == 0)
  1656. 1275 .loc 1 367 24
  1657. 1276 00d2 344B ldr r3, .L67+16
  1658. 1277 00d4 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1659. 1278 .loc 1 367 11
  1660. 1279 00d6 002B cmp r3, #0
  1661. 1280 00d8 56D1 bne .L65
  1662. 368:user_src/soft_engine.c **** {
  1663. 369:user_src/soft_engine.c **** geely_count = 10;
  1664. 1281 .loc 1 369 25
  1665. 1282 00da 324B ldr r3, .L67+16
  1666. 1283 00dc 0A22 movs r2, #10
  1667. 1284 00de 1A70 strb r2, [r3]
  1668. 370:user_src/soft_engine.c **** if(geely_get_version == false)
  1669. 1285 .loc 1 370 34
  1670. 1286 00e0 2C4B ldr r3, .L67
  1671. 1287 00e2 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1672. 1288 00e4 83F00103 eor r3, r3, #1
  1673. 1289 00e8 DBB2 uxtb r3, r3
  1674. 1290 .loc 1 370 15
  1675. 1291 00ea 002B cmp r3, #0
  1676. 1292 00ec 03D0 beq .L63
  1677. 371:user_src/soft_engine.c **** {
  1678. 372:user_src/soft_engine.c **** geely_get_version = true;
  1679. 1293 .loc 1 372 35
  1680. 1294 00ee 294B ldr r3, .L67
  1681. 1295 00f0 0122 movs r2, #1
  1682. 1296 00f2 1A70 strb r2, [r3]
  1683. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 30
  1684. 367:user_src/soft_engine.c **** {
  1685. 1297 .loc 1 367 11
  1686. 1298 00f4 48E0 b .L65
  1687. 1299 .L63:
  1688. 373:user_src/soft_engine.c **** }
  1689. 374:user_src/soft_engine.c **** else if(geely_get_time == false)
  1690. 1300 .loc 1 374 36
  1691. 1301 00f6 284B ldr r3, .L67+4
  1692. 1302 00f8 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1693. 1303 00fa 83F00103 eor r3, r3, #1
  1694. 1304 00fe DBB2 uxtb r3, r3
  1695. 1305 .loc 1 374 20
  1696. 1306 0100 002B cmp r3, #0
  1697. 1307 0102 41D0 beq .L65
  1698. 375:user_src/soft_engine.c **** {
  1699. 376:user_src/soft_engine.c **** geely_get_time = true;
  1700. 1308 .loc 1 376 32
  1701. 1309 0104 244B ldr r3, .L67+4
  1702. 1310 0106 0122 movs r2, #1
  1703. 1311 0108 1A70 strb r2, [r3]
  1704. 367:user_src/soft_engine.c **** {
  1705. 1312 .loc 1 367 11
  1706. 1313 010a 3DE0 b .L65
  1707. 1314 .L59:
  1708. 377:user_src/soft_engine.c **** }
  1709. 378:user_src/soft_engine.c **** }
  1710. 379:user_src/soft_engine.c **** }
  1711. 380:user_src/soft_engine.c **** //控制�动机��
  1712. 381:user_src/soft_engine.c **** else
  1713. 382:user_src/soft_engine.c **** {
  1714. 383:user_src/soft_engine.c **** geely_sendinfo2.client_cmd = 0x12;
  1715. 1315 .loc 1 383 36
  1716. 1316 010c 234B ldr r3, .L67+8
  1717. 1317 010e 1222 movs r2, #18
  1718. 1318 0110 9A71 strb r2, [r3, #6]
  1719. 384:user_src/soft_engine.c **** geely_sendinfo2.syscontrol = start_engine;
  1720. 1319 .loc 1 384 36
  1721. 1320 0112 254B ldr r3, .L67+20
  1722. 1321 0114 1A78 ldrb r2, [r3] @ zero_extendqisi2
  1723. 1322 0116 214B ldr r3, .L67+8
  1724. 1323 0118 DA71 strb r2, [r3, #7]
  1725. 385:user_src/soft_engine.c **** geely_sendinfo2.check_sum1 = geely_sendinfo2.client_cmd + geely_sendinfo2.syscontrol + (gee
  1726. 1324 .loc 1 385 53
  1727. 1325 011a 204B ldr r3, .L67+8
  1728. 1326 011c 9A79 ldrb r2, [r3, #6] @ zero_extendqisi2
  1729. 1327 .loc 1 385 82
  1730. 1328 011e 1F4B ldr r3, .L67+8
  1731. 1329 0120 DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  1732. 1330 .loc 1 385 65
  1733. 1331 0122 1344 add r3, r3, r2
  1734. 1332 0124 DAB2 uxtb r2, r3
  1735. 1333 .loc 1 385 112
  1736. 1334 0126 1D4B ldr r3, .L67+8
  1737. 1335 0128 1B7B ldrb r3, [r3, #12]
  1738. 1336 012a C3F30313 ubfx r3, r3, #4, #4
  1739. 1337 012e DBB2 uxtb r3, r3
  1740. 1338 .loc 1 385 128
  1741. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 31
  1742. 1339 0130 1B01 lsls r3, r3, #4
  1743. 1340 0132 DBB2 uxtb r3, r3
  1744. 1341 .loc 1 385 94
  1745. 1342 0134 1344 add r3, r3, r2
  1746. 1343 0136 DBB2 uxtb r3, r3
  1747. 1344 0138 5AB2 sxtb r2, r3
  1748. 1345 .loc 1 385 36
  1749. 1346 013a 184B ldr r3, .L67+8
  1750. 1347 013c 5A73 strb r2, [r3, #13]
  1751. 386:user_src/soft_engine.c **** geely_sendinfo2.check_sum1 = 0 - geely_sendinfo2.check_sum1;
  1752. 1348 .loc 1 386 57
  1753. 1349 013e 174B ldr r3, .L67+8
  1754. 1350 0140 93F90D30 ldrsb r3, [r3, #13]
  1755. 1351 0144 DBB2 uxtb r3, r3
  1756. 1352 .loc 1 386 36
  1757. 1353 0146 5B42 rsbs r3, r3, #0
  1758. 1354 0148 DBB2 uxtb r3, r3
  1759. 1355 014a 5AB2 sxtb r2, r3
  1760. 1356 014c 134B ldr r3, .L67+8
  1761. 1357 014e 5A73 strb r2, [r3, #13]
  1762. 387:user_src/soft_engine.c **** memcpy(&can_buf[0],&geely_sendinfo2.client_cmd,8);
  1763. 1358 .loc 1 387 9
  1764. 1359 0150 3B46 mov r3, r7
  1765. 1360 0152 0822 movs r2, #8
  1766. 1361 0154 1249 ldr r1, .L67+12
  1767. 1362 0156 1846 mov r0, r3
  1768. 1363 0158 FFF7FEFF bl memcpy
  1769. 388:user_src/soft_engine.c **** geely_sendinfo2.message_conut1++;
  1770. 1364 .loc 1 388 24
  1771. 1365 015c 0F4B ldr r3, .L67+8
  1772. 1366 015e 1B7B ldrb r3, [r3, #12]
  1773. 1367 0160 C3F30313 ubfx r3, r3, #4, #4
  1774. 1368 0164 DBB2 uxtb r3, r3
  1775. 1369 .loc 1 388 39
  1776. 1370 0166 0133 adds r3, r3, #1
  1777. 1371 0168 03F00F03 and r3, r3, #15
  1778. 1372 016c D9B2 uxtb r1, r3
  1779. 1373 016e 0B4A ldr r2, .L67+8
  1780. 1374 0170 137B ldrb r3, [r2, #12]
  1781. 1375 0172 61F30713 bfi r3, r1, #4, #4
  1782. 1376 0176 1373 strb r3, [r2, #12]
  1783. 389:user_src/soft_engine.c ****
  1784. 390:user_src/soft_engine.c **** can_send_msg_normalstd(&can_buf[0],8,0x1E0);
  1785. 1377 .loc 1 390 9
  1786. 1378 0178 3B46 mov r3, r7
  1787. 1379 017a 4FF4F072 mov r2, #480
  1788. 1380 017e 0821 movs r1, #8
  1789. 1381 0180 1846 mov r0, r3
  1790. 1382 0182 FFF7FEFF bl can_send_msg_normalstd
  1791. 391:user_src/soft_engine.c **** }
  1792. 392:user_src/soft_engine.c **** // else
  1793. 393:user_src/soft_engine.c **** // {
  1794. 394:user_src/soft_engine.c **** // geely_sendinfo2.client_cmd = 0x11;
  1795. 395:user_src/soft_engine.c **** // geely_sendinfo2.syscontrol = 0;
  1796. 396:user_src/soft_engine.c **** // geely_sendinfo2.check_sum1 = geely_sendinfo2.client_cmd + geely_sendinfo2.syscontrol + (
  1797. 397:user_src/soft_engine.c **** // geely_sendinfo2.check_sum1 = 0 - geely_sendinfo2.check_sum1;
  1798. 398:user_src/soft_engine.c **** // memcpy(&can_buf[0],&geely_sendinfo2.client_cmd,8);
  1799. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 32
  1800. 399:user_src/soft_engine.c **** // geely_sendinfo2.message_conut1++;
  1801. 400:user_src/soft_engine.c **** // can_send_msg_normalstd(&can_buf[0],8,0x1E0);
  1802. 401:user_src/soft_engine.c **** // }
  1803. 402:user_src/soft_engine.c **** }
  1804. 1383 .loc 1 402 1
  1805. 1384 0186 00E0 b .L66
  1806. 1385 .L65:
  1807. 367:user_src/soft_engine.c **** {
  1808. 1386 .loc 1 367 11
  1809. 1387 0188 00BF nop
  1810. 1388 .L66:
  1811. 1389 .loc 1 402 1
  1812. 1390 018a 00BF nop
  1813. 1391 018c 0837 adds r7, r7, #8
  1814. 1392 .LCFI23:
  1815. 1393 .cfi_def_cfa_offset 8
  1816. 1394 018e BD46 mov sp, r7
  1817. 1395 .LCFI24:
  1818. 1396 .cfi_def_cfa_register 13
  1819. 1397 @ sp needed
  1820. 1398 0190 80BD pop {r7, pc}
  1821. 1399 .L68:
  1822. 1400 0192 00BF .align 2
  1823. 1401 .L67:
  1824. 1402 0194 00000000 .word geely_get_version
  1825. 1403 0198 00000000 .word geely_get_time
  1826. 1404 019c 00000000 .word geely_sendinfo2
  1827. 1405 01a0 06000000 .word geely_sendinfo2+6
  1828. 1406 01a4 00000000 .word geely_count
  1829. 1407 01a8 00000000 .word start_engine
  1830. 1408 .cfi_endproc
  1831. 1409 .LFE137:
  1832. 1411 .global sendto_geely
  1833. 1412 .section .data.sendto_geely,"aw"
  1834. 1413 .align 2
  1835. 1416 sendto_geely:
  1836. 1417 0000 00 .byte 0
  1837. 1418 0001 10 .byte 16
  1838. 1419 0002 0000 .short 0
  1839. 1420 0004 0000 .short 0
  1840. 1421 0006 00 .byte 0
  1841. 1422 0007 00 .space 1
  1842. 1423 .global vkv3_buf
  1843. 1424 .section .bss.vkv3_buf,"aw",%nobits
  1844. 1425 .align 2
  1845. 1428 vkv3_buf:
  1846. 1429 0000 00000000 .space 20
  1847. 1429 00000000
  1848. 1429 00000000
  1849. 1429 00000000
  1850. 1429 00000000
  1851. 1430 .section .text.send_msg_to_vk3,"ax",%progbits
  1852. 1431 .align 1
  1853. 1432 .global send_msg_to_vk3
  1854. 1433 .syntax unified
  1855. 1434 .thumb
  1856. 1435 .thumb_func
  1857. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 33
  1858. 1437 send_msg_to_vk3:
  1859. 1438 .LFB138:
  1860. 403:user_src/soft_engine.c ****
  1861. 404:user_src/soft_engine.c **** #define SENDTO_GEELY_STATUS_ID (0X1A0)
  1862. 405:user_src/soft_engine.c ****
  1863. 406:user_src/soft_engine.c **** STO_GEELY sendto_geely = {.ExtenderControl = 0,
  1864. 407:user_src/soft_engine.c **** .ExtenderSetting = 0x10,
  1865. 408:user_src/soft_engine.c **** .SettingParameter = 0,
  1866. 409:user_src/soft_engine.c **** .ExtenderBak = 0,
  1867. 410:user_src/soft_engine.c **** .MessageCount = 0
  1868. 411:user_src/soft_engine.c **** };
  1869. 412:user_src/soft_engine.c ****
  1870. 413:user_src/soft_engine.c ****
  1871. 414:user_src/soft_engine.c ****
  1872. 415:user_src/soft_engine.c **** uint8_t vkv3_buf[20] = {0};
  1873. 416:user_src/soft_engine.c **** void send_msg_to_vk3(void)
  1874. 417:user_src/soft_engine.c **** {
  1875. 1439 .loc 1 417 1
  1876. 1440 .cfi_startproc
  1877. 1441 @ args = 0, pretend = 0, frame = 8
  1878. 1442 @ frame_needed = 1, uses_anonymous_args = 0
  1879. 1443 0000 80B5 push {r7, lr}
  1880. 1444 .LCFI25:
  1881. 1445 .cfi_def_cfa_offset 8
  1882. 1446 .cfi_offset 7, -8
  1883. 1447 .cfi_offset 14, -4
  1884. 1448 0002 82B0 sub sp, sp, #8
  1885. 1449 .LCFI26:
  1886. 1450 .cfi_def_cfa_offset 16
  1887. 1451 0004 00AF add r7, sp, #0
  1888. 1452 .LCFI27:
  1889. 1453 .cfi_def_cfa_register 7
  1890. 418:user_src/soft_engine.c ****
  1891. 419:user_src/soft_engine.c **** if(vkv3_engine_link.connect_status == COMP_NORMAL &&
  1892. 1454 .loc 1 419 24
  1893. 1455 0006 3C4B ldr r3, .L74
  1894. 1456 0008 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  1895. 1457 .loc 1 419 7
  1896. 1458 000a 012B cmp r3, #1
  1897. 1459 000c 70D1 bne .L73
  1898. 420:user_src/soft_engine.c **** uart_send_is_ok(USART_3) == true)
  1899. 1460 .loc 1 420 9 discriminator 1
  1900. 1461 000e 0320 movs r0, #3
  1901. 1462 0010 FFF7FEFF bl uart_send_is_ok
  1902. 1463 0014 0346 mov r3, r0
  1903. 419:user_src/soft_engine.c **** uart_send_is_ok(USART_3) == true)
  1904. 1464 .loc 1 419 55 discriminator 1
  1905. 1465 0016 002B cmp r3, #0
  1906. 1466 0018 6AD0 beq .L73
  1907. 1467 .LBB6:
  1908. 421:user_src/soft_engine.c **** {
  1909. 422:user_src/soft_engine.c ****
  1910. 423:user_src/soft_engine.c **** uint16_t crc = 0;
  1911. 1468 .loc 1 423 18
  1912. 1469 001a 0023 movs r3, #0
  1913. 1470 001c BB80 strh r3, [r7, #4] @ movhi
  1914. 424:user_src/soft_engine.c **** uint8_t index = 0;
  1915. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 34
  1916. 1471 .loc 1 424 17
  1917. 1472 001e 0023 movs r3, #0
  1918. 1473 0020 FB71 strb r3, [r7, #7]
  1919. 425:user_src/soft_engine.c ****
  1920. 426:user_src/soft_engine.c **** vkv3_buf[index++] = 0x5A;
  1921. 1474 .loc 1 426 23
  1922. 1475 0022 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  1923. 1476 0024 5A1C adds r2, r3, #1
  1924. 1477 0026 FA71 strb r2, [r7, #7]
  1925. 1478 0028 1A46 mov r2, r3
  1926. 1479 .loc 1 426 27
  1927. 1480 002a 344B ldr r3, .L74+4
  1928. 1481 002c 5A21 movs r1, #90
  1929. 1482 002e 9954 strb r1, [r3, r2]
  1930. 427:user_src/soft_engine.c **** vkv3_buf[index++] = 0xA5;
  1931. 1483 .loc 1 427 23
  1932. 1484 0030 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  1933. 1485 0032 5A1C adds r2, r3, #1
  1934. 1486 0034 FA71 strb r2, [r7, #7]
  1935. 1487 0036 1A46 mov r2, r3
  1936. 1488 .loc 1 427 27
  1937. 1489 0038 304B ldr r3, .L74+4
  1938. 1490 003a A521 movs r1, #165
  1939. 1491 003c 9954 strb r1, [r3, r2]
  1940. 428:user_src/soft_engine.c **** vkv3_buf[index++] = 4;
  1941. 1492 .loc 1 428 23
  1942. 1493 003e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  1943. 1494 0040 5A1C adds r2, r3, #1
  1944. 1495 0042 FA71 strb r2, [r7, #7]
  1945. 1496 0044 1A46 mov r2, r3
  1946. 1497 .loc 1 428 27
  1947. 1498 0046 2D4B ldr r3, .L74+4
  1948. 1499 0048 0421 movs r1, #4
  1949. 1500 004a 9954 strb r1, [r3, r2]
  1950. 429:user_src/soft_engine.c **** vkv3_buf[index++] = 0x0A;
  1951. 1501 .loc 1 429 23
  1952. 1502 004c FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  1953. 1503 004e 5A1C adds r2, r3, #1
  1954. 1504 0050 FA71 strb r2, [r7, #7]
  1955. 1505 0052 1A46 mov r2, r3
  1956. 1506 .loc 1 429 27
  1957. 1507 0054 294B ldr r3, .L74+4
  1958. 1508 0056 0A21 movs r1, #10
  1959. 1509 0058 9954 strb r1, [r3, r2]
  1960. 430:user_src/soft_engine.c ****
  1961. 431:user_src/soft_engine.c **** if(start_engine == 0x80)
  1962. 1510 .loc 1 431 25
  1963. 1511 005a 294B ldr r3, .L74+8
  1964. 1512 005c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  1965. 1513 .loc 1 431 11
  1966. 1514 005e 802B cmp r3, #128
  1967. 1515 0060 07D1 bne .L71
  1968. 432:user_src/soft_engine.c **** {
  1969. 433:user_src/soft_engine.c **** vkv3_buf[index++] = 1;
  1970. 1516 .loc 1 433 27
  1971. 1517 0062 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  1972. 1518 0064 5A1C adds r2, r3, #1
  1973. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 35
  1974. 1519 0066 FA71 strb r2, [r7, #7]
  1975. 1520 0068 1A46 mov r2, r3
  1976. 1521 .loc 1 433 31
  1977. 1522 006a 244B ldr r3, .L74+4
  1978. 1523 006c 0121 movs r1, #1
  1979. 1524 006e 9954 strb r1, [r3, r2]
  1980. 1525 0070 06E0 b .L72
  1981. 1526 .L71:
  1982. 434:user_src/soft_engine.c **** }
  1983. 435:user_src/soft_engine.c **** else
  1984. 436:user_src/soft_engine.c **** {
  1985. 437:user_src/soft_engine.c **** vkv3_buf[index++] = 0;
  1986. 1527 .loc 1 437 27
  1987. 1528 0072 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  1988. 1529 0074 5A1C adds r2, r3, #1
  1989. 1530 0076 FA71 strb r2, [r7, #7]
  1990. 1531 0078 1A46 mov r2, r3
  1991. 1532 .loc 1 437 31
  1992. 1533 007a 204B ldr r3, .L74+4
  1993. 1534 007c 0021 movs r1, #0
  1994. 1535 007e 9954 strb r1, [r3, r2]
  1995. 1536 .L72:
  1996. 438:user_src/soft_engine.c **** }
  1997. 439:user_src/soft_engine.c **** vkv3_buf[index++] = planep.lock_status;
  1998. 1537 .loc 1 439 35
  1999. 1538 0080 204B ldr r3, .L74+12
  2000. 1539 0082 B3F90E30 ldrsh r3, [r3, #14] @ unaligned
  2001. 1540 0086 19B2 sxth r1, r3
  2002. 1541 .loc 1 439 23
  2003. 1542 0088 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  2004. 1543 008a 5A1C adds r2, r3, #1
  2005. 1544 008c FA71 strb r2, [r7, #7]
  2006. 1545 008e 1A46 mov r2, r3
  2007. 1546 .loc 1 439 27
  2008. 1547 0090 C9B2 uxtb r1, r1
  2009. 1548 0092 1A4B ldr r3, .L74+4
  2010. 1549 0094 9954 strb r1, [r3, r2]
  2011. 440:user_src/soft_engine.c **** vkv3_buf[index++] = planep.thr_pwm;
  2012. 1550 .loc 1 440 35
  2013. 1551 0096 1B4B ldr r3, .L74+12
  2014. 1552 0098 B3F91230 ldrsh r3, [r3, #18] @ unaligned
  2015. 1553 009c 19B2 sxth r1, r3
  2016. 1554 .loc 1 440 23
  2017. 1555 009e FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  2018. 1556 00a0 5A1C adds r2, r3, #1
  2019. 1557 00a2 FA71 strb r2, [r7, #7]
  2020. 1558 00a4 1A46 mov r2, r3
  2021. 1559 .loc 1 440 27
  2022. 1560 00a6 C9B2 uxtb r1, r1
  2023. 1561 00a8 144B ldr r3, .L74+4
  2024. 1562 00aa 9954 strb r1, [r3, r2]
  2025. 441:user_src/soft_engine.c **** vkv3_buf[index++] = planep.thr_pwm >> 8;
  2026. 1563 .loc 1 441 35
  2027. 1564 00ac 154B ldr r3, .L74+12
  2028. 1565 00ae B3F91230 ldrsh r3, [r3, #18] @ unaligned
  2029. 1566 00b2 1BB2 sxth r3, r3
  2030. 1567 .loc 1 441 27
  2031. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 36
  2032. 1568 00b4 1B12 asrs r3, r3, #8
  2033. 1569 00b6 19B2 sxth r1, r3
  2034. 1570 .loc 1 441 23
  2035. 1571 00b8 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  2036. 1572 00ba 5A1C adds r2, r3, #1
  2037. 1573 00bc FA71 strb r2, [r7, #7]
  2038. 1574 00be 1A46 mov r2, r3
  2039. 1575 .loc 1 441 27
  2040. 1576 00c0 C9B2 uxtb r1, r1
  2041. 1577 00c2 0E4B ldr r3, .L74+4
  2042. 1578 00c4 9954 strb r1, [r3, r2]
  2043. 442:user_src/soft_engine.c ****
  2044. 443:user_src/soft_engine.c **** crc = Get_Crc16(vkv3_buf, index);
  2045. 1579 .loc 1 443 15
  2046. 1580 00c6 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  2047. 1581 00c8 9BB2 uxth r3, r3
  2048. 1582 00ca 1946 mov r1, r3
  2049. 1583 00cc 0B48 ldr r0, .L74+4
  2050. 1584 00ce FFF7FEFF bl Get_Crc16
  2051. 1585 00d2 0346 mov r3, r0
  2052. 1586 .loc 1 443 13
  2053. 1587 00d4 BB80 strh r3, [r7, #4] @ movhi
  2054. 444:user_src/soft_engine.c **** memcpy(&vkv3_buf[index], &crc, 2);
  2055. 1588 .loc 1 444 25
  2056. 1589 00d6 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  2057. 1590 .loc 1 444 16
  2058. 1591 00d8 084A ldr r2, .L74+4
  2059. 1592 00da 1344 add r3, r3, r2
  2060. 1593 00dc BA88 ldrh r2, [r7, #4]
  2061. 1594 .loc 1 444 9
  2062. 1595 00de 1A80 strh r2, [r3] @ unaligned
  2063. 445:user_src/soft_engine.c **** index +=2;
  2064. 1596 .loc 1 445 15
  2065. 1597 00e0 FB79 ldrb r3, [r7, #7]
  2066. 1598 00e2 0233 adds r3, r3, #2
  2067. 1599 00e4 FB71 strb r3, [r7, #7]
  2068. 446:user_src/soft_engine.c ****
  2069. 447:user_src/soft_engine.c **** uart3_send_msg(vkv3_buf,index);
  2070. 1600 .loc 1 447 9
  2071. 1601 00e6 FB79 ldrb r3, [r7, #7] @ zero_extendqisi2
  2072. 1602 00e8 1946 mov r1, r3
  2073. 1603 00ea 0448 ldr r0, .L74+4
  2074. 1604 00ec FFF7FEFF bl uart3_send_msg
  2075. 1605 .L73:
  2076. 1606 .LBE6:
  2077. 448:user_src/soft_engine.c **** }
  2078. 449:user_src/soft_engine.c ****
  2079. 450:user_src/soft_engine.c **** }
  2080. 1607 .loc 1 450 1
  2081. 1608 00f0 00BF nop
  2082. 1609 00f2 0837 adds r7, r7, #8
  2083. 1610 .LCFI28:
  2084. 1611 .cfi_def_cfa_offset 8
  2085. 1612 00f4 BD46 mov sp, r7
  2086. 1613 .LCFI29:
  2087. 1614 .cfi_def_cfa_register 13
  2088. 1615 @ sp needed
  2089. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 37
  2090. 1616 00f6 80BD pop {r7, pc}
  2091. 1617 .L75:
  2092. 1618 .align 2
  2093. 1619 .L74:
  2094. 1620 00f8 00000000 .word vkv3_engine_link
  2095. 1621 00fc 00000000 .word vkv3_buf
  2096. 1622 0100 00000000 .word start_engine
  2097. 1623 0104 00000000 .word planep
  2098. 1624 .cfi_endproc
  2099. 1625 .LFE138:
  2100. 1627 .section .text.send_msg_to_geely,"ax",%progbits
  2101. 1628 .align 1
  2102. 1629 .global send_msg_to_geely
  2103. 1630 .syntax unified
  2104. 1631 .thumb
  2105. 1632 .thumb_func
  2106. 1634 send_msg_to_geely:
  2107. 1635 .LFB139:
  2108. 451:user_src/soft_engine.c ****
  2109. 452:user_src/soft_engine.c **** void send_msg_to_geely(void)
  2110. 453:user_src/soft_engine.c **** {
  2111. 1636 .loc 1 453 1
  2112. 1637 .cfi_startproc
  2113. 1638 @ args = 0, pretend = 0, frame = 24
  2114. 1639 @ frame_needed = 1, uses_anonymous_args = 0
  2115. 1640 0000 80B5 push {r7, lr}
  2116. 1641 .LCFI30:
  2117. 1642 .cfi_def_cfa_offset 8
  2118. 1643 .cfi_offset 7, -8
  2119. 1644 .cfi_offset 14, -4
  2120. 1645 0002 86B0 sub sp, sp, #24
  2121. 1646 .LCFI31:
  2122. 1647 .cfi_def_cfa_offset 32
  2123. 1648 0004 00AF add r7, sp, #0
  2124. 1649 .LCFI32:
  2125. 1650 .cfi_def_cfa_register 7
  2126. 454:user_src/soft_engine.c **** static uint32_t sendto_geely_lasttime = 0;
  2127. 455:user_src/soft_engine.c **** static uint32_t sendto_bro_lasttime = 0;
  2128. 456:user_src/soft_engine.c ****
  2129. 457:user_src/soft_engine.c **** if (geely_engin_link.connect_status == COMP_NORMAL && engine_data.engine_type == ENGINE_BRO &&
  2130. 1651 .loc 1 457 25
  2131. 1652 0006 A14B ldr r3, .L95
  2132. 1653 0008 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  2133. 1654 .loc 1 457 8
  2134. 1655 000a 012B cmp r3, #1
  2135. 1656 000c 63D1 bne .L77
  2136. 1657 .loc 1 457 70 discriminator 1
  2137. 1658 000e A04B ldr r3, .L95+4
  2138. 1659 0010 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2139. 1660 .loc 1 457 56 discriminator 1
  2140. 1661 0012 052B cmp r3, #5
  2141. 1662 0014 5FD1 bne .L77
  2142. 1663 .loc 1 457 100 discriminator 2
  2143. 1664 0016 FFF7FEFF bl HAL_GetTick
  2144. 1665 001a 0246 mov r2, r0
  2145. 1666 .loc 1 457 114 discriminator 2
  2146. 1667 001c 9D4B ldr r3, .L95+8
  2147. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 38
  2148. 1668 001e 1B68 ldr r3, [r3]
  2149. 1669 0020 D31A subs r3, r2, r3
  2150. 1670 .loc 1 457 97 discriminator 2
  2151. 1671 0022 DE2B cmp r3, #222
  2152. 1672 0024 57D9 bls .L77
  2153. 1673 .LBB7:
  2154. 458:user_src/soft_engine.c **** {
  2155. 459:user_src/soft_engine.c **** uint8_t can_buf[8] = {0};
  2156. 1674 .loc 1 459 17
  2157. 1675 0026 0023 movs r3, #0
  2158. 1676 0028 FB60 str r3, [r7, #12]
  2159. 1677 002a 0023 movs r3, #0
  2160. 1678 002c 3B61 str r3, [r7, #16]
  2161. 460:user_src/soft_engine.c **** short temp = 0;
  2162. 1679 .loc 1 460 15
  2163. 1680 002e 0023 movs r3, #0
  2164. 1681 0030 7B81 strh r3, [r7, #10] @ movhi
  2165. 461:user_src/soft_engine.c ****
  2166. 462:user_src/soft_engine.c **** sendto_bro_lasttime = HAL_GetTick();
  2167. 1682 .loc 1 462 31
  2168. 1683 0032 FFF7FEFF bl HAL_GetTick
  2169. 1684 0036 0346 mov r3, r0
  2170. 1685 .loc 1 462 29
  2171. 1686 0038 964A ldr r2, .L95+8
  2172. 1687 003a 1360 str r3, [r2]
  2173. 1688 003c 964B ldr r3, .L95+12
  2174. 1689 003e DB88 ldrh r3, [r3, #6] @ unaligned
  2175. 1690 0040 9BB2 uxth r3, r3
  2176. 463:user_src/soft_engine.c ****
  2177. 464:user_src/soft_engine.c **** memcpy(&can_buf[0],&planep.alt,2);
  2178. 1691 .loc 1 464 9
  2179. 1692 0042 BB81 strh r3, [r7, #12] @ movhi
  2180. 465:user_src/soft_engine.c ****
  2181. 466:user_src/soft_engine.c **** temp = sqrtf(planep.E_vel * planep.E_vel + planep.N_vel * planep.N_vel);
  2182. 1693 .loc 1 466 28
  2183. 1694 0044 944B ldr r3, .L95+12
  2184. 1695 0046 B3F90830 ldrsh r3, [r3, #8] @ unaligned
  2185. 1696 004a 1BB2 sxth r3, r3
  2186. 1697 004c 1A46 mov r2, r3
  2187. 1698 .loc 1 466 43
  2188. 1699 004e 924B ldr r3, .L95+12
  2189. 1700 0050 B3F90830 ldrsh r3, [r3, #8] @ unaligned
  2190. 1701 0054 1BB2 sxth r3, r3
  2191. 1702 .loc 1 466 35
  2192. 1703 0056 03FB02F2 mul r2, r3, r2
  2193. 1704 .loc 1 466 58
  2194. 1705 005a 8F4B ldr r3, .L95+12
  2195. 1706 005c B3F90A30 ldrsh r3, [r3, #10] @ unaligned
  2196. 1707 0060 1BB2 sxth r3, r3
  2197. 1708 0062 1946 mov r1, r3
  2198. 1709 .loc 1 466 73
  2199. 1710 0064 8C4B ldr r3, .L95+12
  2200. 1711 0066 B3F90A30 ldrsh r3, [r3, #10] @ unaligned
  2201. 1712 006a 1BB2 sxth r3, r3
  2202. 1713 .loc 1 466 65
  2203. 1714 006c 01FB03F3 mul r3, r1, r3
  2204. 1715 .loc 1 466 50
  2205. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 39
  2206. 1716 0070 1344 add r3, r3, r2
  2207. 1717 .loc 1 466 16
  2208. 1718 0072 07EE903A vmov s15, r3 @ int
  2209. 1719 0076 F8EEE77A vcvt.f32.s32 s15, s15
  2210. 1720 007a B0EE670A vmov.f32 s0, s15
  2211. 1721 007e FFF7FEFF bl sqrtf
  2212. 1722 0082 F0EE407A vmov.f32 s15, s0
  2213. 1723 .loc 1 466 14
  2214. 1724 0086 FDEEE77A vcvt.s32.f32 s15, s15
  2215. 1725 008a 17EE903A vmov r3, s15 @ int
  2216. 1726 008e 1BB2 sxth r3, r3
  2217. 1727 0090 7B81 strh r3, [r7, #10] @ movhi
  2218. 1728 0092 7B89 ldrh r3, [r7, #10]
  2219. 467:user_src/soft_engine.c **** memcpy(&can_buf[2],&temp,2);
  2220. 1729 .loc 1 467 9
  2221. 1730 0094 FB81 strh r3, [r7, #14] @ movhi
  2222. 1731 0096 804B ldr r3, .L95+12
  2223. 1732 0098 1B88 ldrh r3, [r3] @ unaligned
  2224. 1733 009a 9BB2 uxth r3, r3
  2225. 468:user_src/soft_engine.c ****
  2226. 469:user_src/soft_engine.c **** memcpy(&can_buf[4],&planep.yaw,2);
  2227. 1734 .loc 1 469 9
  2228. 1735 009c 3B82 strh r3, [r7, #16] @ movhi
  2229. 1736 009e 7E4B ldr r3, .L95+12
  2230. 1737 00a0 DB89 ldrh r3, [r3, #14] @ unaligned
  2231. 1738 00a2 9BB2 uxth r3, r3
  2232. 470:user_src/soft_engine.c **** memcpy(&can_buf[6],&planep.lock_status,2);
  2233. 1739 .loc 1 470 9
  2234. 1740 00a4 7B82 strh r3, [r7, #18] @ movhi
  2235. 471:user_src/soft_engine.c ****
  2236. 472:user_src/soft_engine.c **** can_send_msg_normalstd(&can_buf[0],8,0x1F0);
  2237. 1741 .loc 1 472 9
  2238. 1742 00a6 07F10C03 add r3, r7, #12
  2239. 1743 00aa 4FF4F872 mov r2, #496
  2240. 1744 00ae 0821 movs r1, #8
  2241. 1745 00b0 1846 mov r0, r3
  2242. 1746 00b2 FFF7FEFF bl can_send_msg_normalstd
  2243. 1747 00b6 784B ldr r3, .L95+12
  2244. 1748 00b8 D3F81630 ldr r3, [r3, #22] @ unaligned
  2245. 473:user_src/soft_engine.c ****
  2246. 474:user_src/soft_engine.c **** memcpy(&can_buf[0],&planep.pos_x1,4);
  2247. 1749 .loc 1 474 9
  2248. 1750 00bc FB60 str r3, [r7, #12]
  2249. 1751 00be 764B ldr r3, .L95+12
  2250. 1752 00c0 D3F81A30 ldr r3, [r3, #26] @ unaligned
  2251. 475:user_src/soft_engine.c **** memcpy(&can_buf[4],&planep.pos_y1,4);
  2252. 1753 .loc 1 475 9
  2253. 1754 00c4 3B61 str r3, [r7, #16]
  2254. 476:user_src/soft_engine.c **** can_send_msg_normalstd(&can_buf[0],8,0x1F1);
  2255. 1755 .loc 1 476 9
  2256. 1756 00c6 07F10C03 add r3, r7, #12
  2257. 1757 00ca 40F2F112 movw r2, #497
  2258. 1758 00ce 0821 movs r1, #8
  2259. 1759 00d0 1846 mov r0, r3
  2260. 1760 00d2 FFF7FEFF bl can_send_msg_normalstd
  2261. 1761 .L77:
  2262. 1762 .LBE7:
  2263. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 40
  2264. 477:user_src/soft_engine.c ****
  2265. 478:user_src/soft_engine.c **** }
  2266. 479:user_src/soft_engine.c **** if (geely_engin_link.connect_status == COMP_NORMAL && HAL_GetTick() - sendto_geely_lasttime > 1
  2267. 1763 .loc 1 479 25
  2268. 1764 00d6 6D4B ldr r3, .L95
  2269. 1765 00d8 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  2270. 1766 .loc 1 479 8
  2271. 1767 00da 012B cmp r3, #1
  2272. 1768 00dc 40F02781 bne .L94
  2273. 1769 .loc 1 479 59 discriminator 1
  2274. 1770 00e0 FFF7FEFF bl HAL_GetTick
  2275. 1771 00e4 0246 mov r2, r0
  2276. 1772 .loc 1 479 73 discriminator 1
  2277. 1773 00e6 6D4B ldr r3, .L95+16
  2278. 1774 00e8 1B68 ldr r3, [r3]
  2279. 1775 00ea D31A subs r3, r2, r3
  2280. 1776 .loc 1 479 56 discriminator 1
  2281. 1777 00ec 642B cmp r3, #100
  2282. 1778 00ee 40F21E81 bls .L94
  2283. 1779 .LBB8:
  2284. 480:user_src/soft_engine.c **** {
  2285. 481:user_src/soft_engine.c **** uint8_t geely[8] = {0};
  2286. 1780 .loc 1 481 17
  2287. 1781 00f2 0023 movs r3, #0
  2288. 1782 00f4 3B60 str r3, [r7]
  2289. 1783 00f6 0023 movs r3, #0
  2290. 1784 00f8 7B60 str r3, [r7, #4]
  2291. 482:user_src/soft_engine.c ****
  2292. 483:user_src/soft_engine.c **** sendto_geely_lasttime = HAL_GetTick();
  2293. 1785 .loc 1 483 33
  2294. 1786 00fa FFF7FEFF bl HAL_GetTick
  2295. 1787 00fe 0346 mov r3, r0
  2296. 1788 .loc 1 483 31
  2297. 1789 0100 664A ldr r2, .L95+16
  2298. 1790 0102 1360 str r3, [r2]
  2299. 484:user_src/soft_engine.c ****
  2300. 485:user_src/soft_engine.c **** Geely_version2_init();
  2301. 1791 .loc 1 485 9
  2302. 1792 0104 FFF7FEFF bl Geely_version2_init
  2303. 486:user_src/soft_engine.c **** if(geely_data2.version2_flag == true)
  2304. 1793 .loc 1 486 23
  2305. 1794 0108 654B ldr r3, .L95+20
  2306. 1795 010a 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2307. 1796 .loc 1 486 11
  2308. 1797 010c 002B cmp r3, #0
  2309. 1798 010e 02D0 beq .L79
  2310. 487:user_src/soft_engine.c **** {
  2311. 488:user_src/soft_engine.c **** Geely_version2_send_info();
  2312. 1799 .loc 1 488 13
  2313. 1800 0110 FFF7FEFF bl Geely_version2_send_info
  2314. 1801 .LBE8:
  2315. 489:user_src/soft_engine.c **** }
  2316. 490:user_src/soft_engine.c **** else
  2317. 491:user_src/soft_engine.c **** {
  2318. 492:user_src/soft_engine.c **** sendto_geely.ExtenderBak = planep.thr_pwm;
  2319. 493:user_src/soft_engine.c **** sendto_geely.DroneStatus = (planep.lock_status == 4? 1: 0); //(thr_lock_status == LOCKE
  2320. 494:user_src/soft_engine.c **** sendto_geely.MessageCount++;
  2321. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 41
  2322. 495:user_src/soft_engine.c ****
  2323. 496:user_src/soft_engine.c **** if(geely_set_tcd == true)
  2324. 497:user_src/soft_engine.c **** {
  2325. 498:user_src/soft_engine.c **** geely_set_counts++;
  2326. 499:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2327. 500:user_src/soft_engine.c **** geely_set_tcd = false;
  2328. 501:user_src/soft_engine.c **** geely_set_counts = 0;
  2329. 502:user_src/soft_engine.c **** }
  2330. 503:user_src/soft_engine.c ****
  2331. 504:user_src/soft_engine.c **** sendto_geely.ExtenderSetting = 0x11;
  2332. 505:user_src/soft_engine.c **** //sendto_geely.SettingParameter = 0;
  2333. 506:user_src/soft_engine.c **** }
  2334. 507:user_src/soft_engine.c **** else if(geely_set_tcd_re == true)
  2335. 508:user_src/soft_engine.c **** {
  2336. 509:user_src/soft_engine.c **** geely_set_counts++;
  2337. 510:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2338. 511:user_src/soft_engine.c **** geely_set_tcd_re = false;
  2339. 512:user_src/soft_engine.c **** geely_set_counts = 0;
  2340. 513:user_src/soft_engine.c **** }
  2341. 514:user_src/soft_engine.c ****
  2342. 515:user_src/soft_engine.c **** sendto_geely.ExtenderSetting = 0x12;
  2343. 516:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2344. 517:user_src/soft_engine.c **** }
  2345. 518:user_src/soft_engine.c **** else if(geely_set_tlock == true)
  2346. 519:user_src/soft_engine.c **** {
  2347. 520:user_src/soft_engine.c **** geely_set_counts++;
  2348. 521:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2349. 522:user_src/soft_engine.c **** geely_set_tlock = false;
  2350. 523:user_src/soft_engine.c **** geely_set_counts = 0;
  2351. 524:user_src/soft_engine.c **** }
  2352. 525:user_src/soft_engine.c ****
  2353. 526:user_src/soft_engine.c **** sendto_geely.ExtenderSetting = 0x14;
  2354. 527:user_src/soft_engine.c **** //sendto_geely.SettingParameter = 0;
  2355. 528:user_src/soft_engine.c **** }
  2356. 529:user_src/soft_engine.c **** else if(geely_set_tlock_re == true)
  2357. 530:user_src/soft_engine.c **** {
  2358. 531:user_src/soft_engine.c **** geely_set_counts++;
  2359. 532:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2360. 533:user_src/soft_engine.c **** geely_set_tlock_re = false;
  2361. 534:user_src/soft_engine.c **** geely_set_counts = 0;
  2362. 535:user_src/soft_engine.c **** }
  2363. 536:user_src/soft_engine.c ****
  2364. 537:user_src/soft_engine.c **** sendto_geely.ExtenderSetting = 0x15;
  2365. 538:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2366. 539:user_src/soft_engine.c **** }
  2367. 540:user_src/soft_engine.c **** else if(geely_set_protect == true)
  2368. 541:user_src/soft_engine.c **** {
  2369. 542:user_src/soft_engine.c **** geely_set_counts++;
  2370. 543:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2371. 544:user_src/soft_engine.c **** geely_set_protect = false;
  2372. 545:user_src/soft_engine.c **** geely_set_counts = 0;
  2373. 546:user_src/soft_engine.c **** }
  2374. 547:user_src/soft_engine.c **** sendto_geely.ExtenderSetting = 0x17;
  2375. 548:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2376. 549:user_src/soft_engine.c **** }
  2377. 550:user_src/soft_engine.c **** else
  2378. 551:user_src/soft_engine.c **** {
  2379. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 42
  2380. 552:user_src/soft_engine.c **** sendto_geely.ExtenderSetting = 0x10;
  2381. 553:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2382. 554:user_src/soft_engine.c ****
  2383. 555:user_src/soft_engine.c **** geely_set_counts = 0;
  2384. 556:user_src/soft_engine.c **** }
  2385. 557:user_src/soft_engine.c ****
  2386. 558:user_src/soft_engine.c **** memcpy(geely, (uint8_t *)&sendto_geely.ExtenderControl, 7);
  2387. 559:user_src/soft_engine.c ****
  2388. 560:user_src/soft_engine.c **** sendto_geely.CheckSum = 0;
  2389. 561:user_src/soft_engine.c **** for (uint8_t i = 0; i < 7; i++)
  2390. 562:user_src/soft_engine.c **** {
  2391. 563:user_src/soft_engine.c **** sendto_geely.CheckSum += geely[i];
  2392. 564:user_src/soft_engine.c **** }
  2393. 565:user_src/soft_engine.c **** sendto_geely.CheckSum = -sendto_geely.CheckSum;
  2394. 566:user_src/soft_engine.c ****
  2395. 567:user_src/soft_engine.c **** can_send_msg_normalstd(&sendto_geely.ExtenderControl, sizeof(sendto_geely), SENDTO_GEEL
  2396. 568:user_src/soft_engine.c ****
  2397. 569:user_src/soft_engine.c **** geely_moni.send_1a0++;
  2398. 570:user_src/soft_engine.c **** }
  2399. 571:user_src/soft_engine.c **** }
  2400. 572:user_src/soft_engine.c **** }
  2401. 1802 .loc 1 572 1
  2402. 1803 0114 0BE1 b .L94
  2403. 1804 .L79:
  2404. 1805 .LBB10:
  2405. 492:user_src/soft_engine.c **** sendto_geely.DroneStatus = (planep.lock_status == 4? 1: 0); //(thr_lock_status == LOCKE
  2406. 1806 .loc 1 492 46
  2407. 1807 0116 604B ldr r3, .L95+12
  2408. 1808 0118 B3F91230 ldrsh r3, [r3, #18] @ unaligned
  2409. 1809 011c 1BB2 sxth r3, r3
  2410. 1810 011e 9AB2 uxth r2, r3
  2411. 492:user_src/soft_engine.c **** sendto_geely.DroneStatus = (planep.lock_status == 4? 1: 0); //(thr_lock_status == LOCKE
  2412. 1811 .loc 1 492 38
  2413. 1812 0120 604B ldr r3, .L95+24
  2414. 1813 0122 9A80 strh r2, [r3, #4] @ movhi
  2415. 493:user_src/soft_engine.c **** sendto_geely.MessageCount++;
  2416. 1814 .loc 1 493 47
  2417. 1815 0124 5C4B ldr r3, .L95+12
  2418. 1816 0126 B3F90E30 ldrsh r3, [r3, #14] @ unaligned
  2419. 1817 012a 1BB2 sxth r3, r3
  2420. 493:user_src/soft_engine.c **** sendto_geely.MessageCount++;
  2421. 1818 .loc 1 493 67
  2422. 1819 012c 042B cmp r3, #4
  2423. 1820 012e 0CBF ite eq
  2424. 1821 0130 0123 moveq r3, #1
  2425. 1822 0132 0023 movne r3, #0
  2426. 1823 0134 DBB2 uxtb r3, r3
  2427. 1824 0136 03F00F03 and r3, r3, #15
  2428. 1825 013a D9B2 uxtb r1, r3
  2429. 493:user_src/soft_engine.c **** sendto_geely.MessageCount++;
  2430. 1826 .loc 1 493 38
  2431. 1827 013c 594A ldr r2, .L95+24
  2432. 1828 013e 9379 ldrb r3, [r2, #6]
  2433. 1829 0140 61F30303 bfi r3, r1, #0, #4
  2434. 1830 0144 9371 strb r3, [r2, #6]
  2435. 494:user_src/soft_engine.c ****
  2436. 1831 .loc 1 494 25
  2437. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 43
  2438. 1832 0146 574B ldr r3, .L95+24
  2439. 1833 0148 9B79 ldrb r3, [r3, #6]
  2440. 1834 014a C3F30313 ubfx r3, r3, #4, #4
  2441. 1835 014e DBB2 uxtb r3, r3
  2442. 494:user_src/soft_engine.c ****
  2443. 1836 .loc 1 494 38
  2444. 1837 0150 0133 adds r3, r3, #1
  2445. 1838 0152 03F00F03 and r3, r3, #15
  2446. 1839 0156 D9B2 uxtb r1, r3
  2447. 1840 0158 524A ldr r2, .L95+24
  2448. 1841 015a 9379 ldrb r3, [r2, #6]
  2449. 1842 015c 61F30713 bfi r3, r1, #4, #4
  2450. 1843 0160 9371 strb r3, [r2, #6]
  2451. 496:user_src/soft_engine.c **** {
  2452. 1844 .loc 1 496 30
  2453. 1845 0162 514B ldr r3, .L95+28
  2454. 1846 0164 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2455. 496:user_src/soft_engine.c **** {
  2456. 1847 .loc 1 496 15
  2457. 1848 0166 002B cmp r3, #0
  2458. 1849 0168 17D0 beq .L81
  2459. 498:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2460. 1850 .loc 1 498 33
  2461. 1851 016a 504B ldr r3, .L95+32
  2462. 1852 016c B3F90030 ldrsh r3, [r3]
  2463. 1853 0170 9BB2 uxth r3, r3
  2464. 1854 0172 0133 adds r3, r3, #1
  2465. 1855 0174 9BB2 uxth r3, r3
  2466. 1856 0176 1AB2 sxth r2, r3
  2467. 1857 0178 4C4B ldr r3, .L95+32
  2468. 1858 017a 1A80 strh r2, [r3] @ movhi
  2469. 499:user_src/soft_engine.c **** geely_set_tcd = false;
  2470. 1859 .loc 1 499 37
  2471. 1860 017c 4B4B ldr r3, .L95+32
  2472. 1861 017e B3F90030 ldrsh r3, [r3]
  2473. 499:user_src/soft_engine.c **** geely_set_tcd = false;
  2474. 1862 .loc 1 499 19
  2475. 1863 0182 052B cmp r3, #5
  2476. 1864 0184 05DD ble .L82
  2477. 500:user_src/soft_engine.c **** geely_set_counts = 0;
  2478. 1865 .loc 1 500 35
  2479. 1866 0186 484B ldr r3, .L95+28
  2480. 1867 0188 0022 movs r2, #0
  2481. 1868 018a 1A70 strb r2, [r3]
  2482. 501:user_src/soft_engine.c **** }
  2483. 1869 .loc 1 501 38
  2484. 1870 018c 474B ldr r3, .L95+32
  2485. 1871 018e 0022 movs r2, #0
  2486. 1872 0190 1A80 strh r2, [r3] @ movhi
  2487. 1873 .L82:
  2488. 504:user_src/soft_engine.c **** //sendto_geely.SettingParameter = 0;
  2489. 1874 .loc 1 504 46
  2490. 1875 0192 444B ldr r3, .L95+24
  2491. 1876 0194 1122 movs r2, #17
  2492. 1877 0196 5A70 strb r2, [r3, #1]
  2493. 1878 0198 9BE0 b .L83
  2494. 1879 .L81:
  2495. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 44
  2496. 507:user_src/soft_engine.c **** {
  2497. 1880 .loc 1 507 38
  2498. 1881 019a 454B ldr r3, .L95+36
  2499. 1882 019c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2500. 507:user_src/soft_engine.c **** {
  2501. 1883 .loc 1 507 20
  2502. 1884 019e 002B cmp r3, #0
  2503. 1885 01a0 1AD0 beq .L84
  2504. 509:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2505. 1886 .loc 1 509 33
  2506. 1887 01a2 424B ldr r3, .L95+32
  2507. 1888 01a4 B3F90030 ldrsh r3, [r3]
  2508. 1889 01a8 9BB2 uxth r3, r3
  2509. 1890 01aa 0133 adds r3, r3, #1
  2510. 1891 01ac 9BB2 uxth r3, r3
  2511. 1892 01ae 1AB2 sxth r2, r3
  2512. 1893 01b0 3E4B ldr r3, .L95+32
  2513. 1894 01b2 1A80 strh r2, [r3] @ movhi
  2514. 510:user_src/soft_engine.c **** geely_set_tcd_re = false;
  2515. 1895 .loc 1 510 37
  2516. 1896 01b4 3D4B ldr r3, .L95+32
  2517. 1897 01b6 B3F90030 ldrsh r3, [r3]
  2518. 510:user_src/soft_engine.c **** geely_set_tcd_re = false;
  2519. 1898 .loc 1 510 19
  2520. 1899 01ba 052B cmp r3, #5
  2521. 1900 01bc 05DD ble .L85
  2522. 511:user_src/soft_engine.c **** geely_set_counts = 0;
  2523. 1901 .loc 1 511 38
  2524. 1902 01be 3C4B ldr r3, .L95+36
  2525. 1903 01c0 0022 movs r2, #0
  2526. 1904 01c2 1A70 strb r2, [r3]
  2527. 512:user_src/soft_engine.c **** }
  2528. 1905 .loc 1 512 38
  2529. 1906 01c4 394B ldr r3, .L95+32
  2530. 1907 01c6 0022 movs r2, #0
  2531. 1908 01c8 1A80 strh r2, [r3] @ movhi
  2532. 1909 .L85:
  2533. 515:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2534. 1910 .loc 1 515 46
  2535. 1911 01ca 364B ldr r3, .L95+24
  2536. 1912 01cc 1222 movs r2, #18
  2537. 1913 01ce 5A70 strb r2, [r3, #1]
  2538. 516:user_src/soft_engine.c **** }
  2539. 1914 .loc 1 516 47
  2540. 1915 01d0 344B ldr r3, .L95+24
  2541. 1916 01d2 0022 movs r2, #0
  2542. 1917 01d4 5A80 strh r2, [r3, #2] @ movhi
  2543. 1918 01d6 7CE0 b .L83
  2544. 1919 .L84:
  2545. 518:user_src/soft_engine.c **** {
  2546. 1920 .loc 1 518 37
  2547. 1921 01d8 364B ldr r3, .L95+40
  2548. 1922 01da 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2549. 518:user_src/soft_engine.c **** {
  2550. 1923 .loc 1 518 20
  2551. 1924 01dc 002B cmp r3, #0
  2552. 1925 01de 17D0 beq .L86
  2553. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 45
  2554. 520:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2555. 1926 .loc 1 520 33
  2556. 1927 01e0 324B ldr r3, .L95+32
  2557. 1928 01e2 B3F90030 ldrsh r3, [r3]
  2558. 1929 01e6 9BB2 uxth r3, r3
  2559. 1930 01e8 0133 adds r3, r3, #1
  2560. 1931 01ea 9BB2 uxth r3, r3
  2561. 1932 01ec 1AB2 sxth r2, r3
  2562. 1933 01ee 2F4B ldr r3, .L95+32
  2563. 1934 01f0 1A80 strh r2, [r3] @ movhi
  2564. 521:user_src/soft_engine.c **** geely_set_tlock = false;
  2565. 1935 .loc 1 521 37
  2566. 1936 01f2 2E4B ldr r3, .L95+32
  2567. 1937 01f4 B3F90030 ldrsh r3, [r3]
  2568. 521:user_src/soft_engine.c **** geely_set_tlock = false;
  2569. 1938 .loc 1 521 19
  2570. 1939 01f8 052B cmp r3, #5
  2571. 1940 01fa 05DD ble .L87
  2572. 522:user_src/soft_engine.c **** geely_set_counts = 0;
  2573. 1941 .loc 1 522 37
  2574. 1942 01fc 2D4B ldr r3, .L95+40
  2575. 1943 01fe 0022 movs r2, #0
  2576. 1944 0200 1A70 strb r2, [r3]
  2577. 523:user_src/soft_engine.c **** }
  2578. 1945 .loc 1 523 38
  2579. 1946 0202 2A4B ldr r3, .L95+32
  2580. 1947 0204 0022 movs r2, #0
  2581. 1948 0206 1A80 strh r2, [r3] @ movhi
  2582. 1949 .L87:
  2583. 526:user_src/soft_engine.c **** //sendto_geely.SettingParameter = 0;
  2584. 1950 .loc 1 526 46
  2585. 1951 0208 264B ldr r3, .L95+24
  2586. 1952 020a 1422 movs r2, #20
  2587. 1953 020c 5A70 strb r2, [r3, #1]
  2588. 1954 020e 60E0 b .L83
  2589. 1955 .L86:
  2590. 529:user_src/soft_engine.c **** {
  2591. 1956 .loc 1 529 40
  2592. 1957 0210 294B ldr r3, .L95+44
  2593. 1958 0212 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2594. 529:user_src/soft_engine.c **** {
  2595. 1959 .loc 1 529 20
  2596. 1960 0214 002B cmp r3, #0
  2597. 1961 0216 1AD0 beq .L88
  2598. 531:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2599. 1962 .loc 1 531 33
  2600. 1963 0218 244B ldr r3, .L95+32
  2601. 1964 021a B3F90030 ldrsh r3, [r3]
  2602. 1965 021e 9BB2 uxth r3, r3
  2603. 1966 0220 0133 adds r3, r3, #1
  2604. 1967 0222 9BB2 uxth r3, r3
  2605. 1968 0224 1AB2 sxth r2, r3
  2606. 1969 0226 214B ldr r3, .L95+32
  2607. 1970 0228 1A80 strh r2, [r3] @ movhi
  2608. 532:user_src/soft_engine.c **** geely_set_tlock_re = false;
  2609. 1971 .loc 1 532 37
  2610. 1972 022a 204B ldr r3, .L95+32
  2611. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 46
  2612. 1973 022c B3F90030 ldrsh r3, [r3]
  2613. 532:user_src/soft_engine.c **** geely_set_tlock_re = false;
  2614. 1974 .loc 1 532 19
  2615. 1975 0230 052B cmp r3, #5
  2616. 1976 0232 05DD ble .L89
  2617. 533:user_src/soft_engine.c **** geely_set_counts = 0;
  2618. 1977 .loc 1 533 40
  2619. 1978 0234 204B ldr r3, .L95+44
  2620. 1979 0236 0022 movs r2, #0
  2621. 1980 0238 1A70 strb r2, [r3]
  2622. 534:user_src/soft_engine.c **** }
  2623. 1981 .loc 1 534 38
  2624. 1982 023a 1C4B ldr r3, .L95+32
  2625. 1983 023c 0022 movs r2, #0
  2626. 1984 023e 1A80 strh r2, [r3] @ movhi
  2627. 1985 .L89:
  2628. 537:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2629. 1986 .loc 1 537 46
  2630. 1987 0240 184B ldr r3, .L95+24
  2631. 1988 0242 1522 movs r2, #21
  2632. 1989 0244 5A70 strb r2, [r3, #1]
  2633. 538:user_src/soft_engine.c **** }
  2634. 1990 .loc 1 538 47
  2635. 1991 0246 174B ldr r3, .L95+24
  2636. 1992 0248 0022 movs r2, #0
  2637. 1993 024a 5A80 strh r2, [r3, #2] @ movhi
  2638. 1994 024c 41E0 b .L83
  2639. 1995 .L88:
  2640. 540:user_src/soft_engine.c **** {
  2641. 1996 .loc 1 540 39
  2642. 1997 024e 1B4B ldr r3, .L95+48
  2643. 1998 0250 1B78 ldrb r3, [r3] @ zero_extendqisi2
  2644. 540:user_src/soft_engine.c **** {
  2645. 1999 .loc 1 540 20
  2646. 2000 0252 002B cmp r3, #0
  2647. 2001 0254 34D0 beq .L90
  2648. 542:user_src/soft_engine.c **** if(geely_set_counts > 5){
  2649. 2002 .loc 1 542 33
  2650. 2003 0256 154B ldr r3, .L95+32
  2651. 2004 0258 B3F90030 ldrsh r3, [r3]
  2652. 2005 025c 9BB2 uxth r3, r3
  2653. 2006 025e 0133 adds r3, r3, #1
  2654. 2007 0260 9BB2 uxth r3, r3
  2655. 2008 0262 1AB2 sxth r2, r3
  2656. 2009 0264 114B ldr r3, .L95+32
  2657. 2010 0266 1A80 strh r2, [r3] @ movhi
  2658. 543:user_src/soft_engine.c **** geely_set_protect = false;
  2659. 2011 .loc 1 543 37
  2660. 2012 0268 104B ldr r3, .L95+32
  2661. 2013 026a B3F90030 ldrsh r3, [r3]
  2662. 543:user_src/soft_engine.c **** geely_set_protect = false;
  2663. 2014 .loc 1 543 19
  2664. 2015 026e 052B cmp r3, #5
  2665. 2016 0270 05DD ble .L91
  2666. 544:user_src/soft_engine.c **** geely_set_counts = 0;
  2667. 2017 .loc 1 544 39
  2668. 2018 0272 124B ldr r3, .L95+48
  2669. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 47
  2670. 2019 0274 0022 movs r2, #0
  2671. 2020 0276 1A70 strb r2, [r3]
  2672. 545:user_src/soft_engine.c **** }
  2673. 2021 .loc 1 545 38
  2674. 2022 0278 0C4B ldr r3, .L95+32
  2675. 2023 027a 0022 movs r2, #0
  2676. 2024 027c 1A80 strh r2, [r3] @ movhi
  2677. 2025 .L91:
  2678. 547:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2679. 2026 .loc 1 547 46
  2680. 2027 027e 094B ldr r3, .L95+24
  2681. 2028 0280 1722 movs r2, #23
  2682. 2029 0282 5A70 strb r2, [r3, #1]
  2683. 548:user_src/soft_engine.c **** }
  2684. 2030 .loc 1 548 47
  2685. 2031 0284 074B ldr r3, .L95+24
  2686. 2032 0286 0022 movs r2, #0
  2687. 2033 0288 5A80 strh r2, [r3, #2] @ movhi
  2688. 2034 028a 22E0 b .L83
  2689. 2035 .L96:
  2690. 2036 .align 2
  2691. 2037 .L95:
  2692. 2038 028c 00000000 .word geely_engin_link
  2693. 2039 0290 00000000 .word engine_data
  2694. 2040 0294 00000000 .word sendto_bro_lasttime.2
  2695. 2041 0298 00000000 .word planep
  2696. 2042 029c 00000000 .word sendto_geely_lasttime.1
  2697. 2043 02a0 00000000 .word geely_data2
  2698. 2044 02a4 00000000 .word sendto_geely
  2699. 2045 02a8 00000000 .word geely_set_tcd
  2700. 2046 02ac 00000000 .word geely_set_counts
  2701. 2047 02b0 00000000 .word geely_set_tcd_re
  2702. 2048 02b4 00000000 .word geely_set_tlock
  2703. 2049 02b8 00000000 .word geely_set_tlock_re
  2704. 2050 02bc 00000000 .word geely_set_protect
  2705. 2051 .L90:
  2706. 552:user_src/soft_engine.c **** sendto_geely.SettingParameter = 0;
  2707. 2052 .loc 1 552 46
  2708. 2053 02c0 1D4B ldr r3, .L97
  2709. 2054 02c2 1022 movs r2, #16
  2710. 2055 02c4 5A70 strb r2, [r3, #1]
  2711. 553:user_src/soft_engine.c ****
  2712. 2056 .loc 1 553 47
  2713. 2057 02c6 1C4B ldr r3, .L97
  2714. 2058 02c8 0022 movs r2, #0
  2715. 2059 02ca 5A80 strh r2, [r3, #2] @ movhi
  2716. 555:user_src/soft_engine.c **** }
  2717. 2060 .loc 1 555 34
  2718. 2061 02cc 1B4B ldr r3, .L97+4
  2719. 2062 02ce 0022 movs r2, #0
  2720. 2063 02d0 1A80 strh r2, [r3] @ movhi
  2721. 2064 .L83:
  2722. 558:user_src/soft_engine.c ****
  2723. 2065 .loc 1 558 13
  2724. 2066 02d2 3B46 mov r3, r7
  2725. 2067 02d4 0722 movs r2, #7
  2726. 2068 02d6 1849 ldr r1, .L97
  2727. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 48
  2728. 2069 02d8 1846 mov r0, r3
  2729. 2070 02da FFF7FEFF bl memcpy
  2730. 560:user_src/soft_engine.c **** for (uint8_t i = 0; i < 7; i++)
  2731. 2071 .loc 1 560 35
  2732. 2072 02de 164B ldr r3, .L97
  2733. 2073 02e0 0022 movs r2, #0
  2734. 2074 02e2 DA71 strb r2, [r3, #7]
  2735. 2075 .LBB9:
  2736. 561:user_src/soft_engine.c **** {
  2737. 2076 .loc 1 561 26
  2738. 2077 02e4 0023 movs r3, #0
  2739. 2078 02e6 FB75 strb r3, [r7, #23]
  2740. 561:user_src/soft_engine.c **** {
  2741. 2079 .loc 1 561 13
  2742. 2080 02e8 0DE0 b .L92
  2743. 2081 .L93:
  2744. 563:user_src/soft_engine.c **** }
  2745. 2082 .loc 1 563 39 discriminator 3
  2746. 2083 02ea 134B ldr r3, .L97
  2747. 2084 02ec DA79 ldrb r2, [r3, #7] @ zero_extendqisi2
  2748. 563:user_src/soft_engine.c **** }
  2749. 2085 .loc 1 563 47 discriminator 3
  2750. 2086 02ee FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  2751. 2087 02f0 1833 adds r3, r3, #24
  2752. 2088 02f2 3B44 add r3, r3, r7
  2753. 2089 02f4 13F8183C ldrb r3, [r3, #-24] @ zero_extendqisi2
  2754. 563:user_src/soft_engine.c **** }
  2755. 2090 .loc 1 563 39 discriminator 3
  2756. 2091 02f8 1344 add r3, r3, r2
  2757. 2092 02fa DAB2 uxtb r2, r3
  2758. 2093 02fc 0E4B ldr r3, .L97
  2759. 2094 02fe DA71 strb r2, [r3, #7]
  2760. 561:user_src/soft_engine.c **** {
  2761. 2095 .loc 1 561 41 discriminator 3
  2762. 2096 0300 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  2763. 2097 0302 0133 adds r3, r3, #1
  2764. 2098 0304 FB75 strb r3, [r7, #23]
  2765. 2099 .L92:
  2766. 561:user_src/soft_engine.c **** {
  2767. 2100 .loc 1 561 13 discriminator 1
  2768. 2101 0306 FB7D ldrb r3, [r7, #23] @ zero_extendqisi2
  2769. 2102 0308 062B cmp r3, #6
  2770. 2103 030a EED9 bls .L93
  2771. 2104 .LBE9:
  2772. 565:user_src/soft_engine.c ****
  2773. 2105 .loc 1 565 50
  2774. 2106 030c 0A4B ldr r3, .L97
  2775. 2107 030e DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  2776. 565:user_src/soft_engine.c ****
  2777. 2108 .loc 1 565 35
  2778. 2109 0310 5B42 rsbs r3, r3, #0
  2779. 2110 0312 DAB2 uxtb r2, r3
  2780. 2111 0314 084B ldr r3, .L97
  2781. 2112 0316 DA71 strb r2, [r3, #7]
  2782. 567:user_src/soft_engine.c ****
  2783. 2113 .loc 1 567 13
  2784. 2114 0318 4FF4D072 mov r2, #416
  2785. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 49
  2786. 2115 031c 0821 movs r1, #8
  2787. 2116 031e 0648 ldr r0, .L97
  2788. 2117 0320 FFF7FEFF bl can_send_msg_normalstd
  2789. 569:user_src/soft_engine.c **** }
  2790. 2118 .loc 1 569 23
  2791. 2119 0324 064B ldr r3, .L97+8
  2792. 2120 0326 5B68 ldr r3, [r3, #4]
  2793. 569:user_src/soft_engine.c **** }
  2794. 2121 .loc 1 569 32
  2795. 2122 0328 0133 adds r3, r3, #1
  2796. 2123 032a 054A ldr r2, .L97+8
  2797. 2124 032c 5360 str r3, [r2, #4]
  2798. 2125 .L94:
  2799. 2126 .LBE10:
  2800. 2127 .loc 1 572 1
  2801. 2128 032e 00BF nop
  2802. 2129 0330 1837 adds r7, r7, #24
  2803. 2130 .LCFI33:
  2804. 2131 .cfi_def_cfa_offset 8
  2805. 2132 0332 BD46 mov sp, r7
  2806. 2133 .LCFI34:
  2807. 2134 .cfi_def_cfa_register 13
  2808. 2135 @ sp needed
  2809. 2136 0334 80BD pop {r7, pc}
  2810. 2137 .L98:
  2811. 2138 0336 00BF .align 2
  2812. 2139 .L97:
  2813. 2140 0338 00000000 .word sendto_geely
  2814. 2141 033c 00000000 .word geely_set_counts
  2815. 2142 0340 00000000 .word geely_moni
  2816. 2143 .cfi_endproc
  2817. 2144 .LFE139:
  2818. 2146 .global engine_link_status
  2819. 2147 .section .bss.engine_link_status,"aw",%nobits
  2820. 2150 engine_link_status:
  2821. 2151 0000 00 .space 1
  2822. 2152 .section .rodata
  2823. 2153 .align 2
  2824. 2154 .LC0:
  2825. 2155 0000 414F414E .ascii "AOAN\000"
  2826. 2155 00
  2827. 2156 0005 000000 .align 2
  2828. 2157 .LC1:
  2829. 2158 0008 256400 .ascii "%d\000"
  2830. 2159 .section .text.update_engine_data,"ax",%progbits
  2831. 2160 .align 1
  2832. 2161 .global update_engine_data
  2833. 2162 .syntax unified
  2834. 2163 .thumb
  2835. 2164 .thumb_func
  2836. 2166 update_engine_data:
  2837. 2167 .LFB140:
  2838. 573:user_src/soft_engine.c ****
  2839. 574:user_src/soft_engine.c ****
  2840. 575:user_src/soft_engine.c ****
  2841. 576:user_src/soft_engine.c ****
  2842. 577:user_src/soft_engine.c **** comp_status engine_link_status = COMP_NOEXIST;
  2843. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 50
  2844. 578:user_src/soft_engine.c ****
  2845. 579:user_src/soft_engine.c **** /*
  2846. 580:user_src/soft_engine.c **** �动机类型 uint8 1-瑞深 2-中飞
  2847. 581:user_src/soft_engine.c **** �动机转速 uint16_t RPM
  2848. 582:user_src/soft_engine.c **** �动机油门 uint16_t
  2849. 583:user_src/soft_engine.c **** �动机电压 uint16_t 0.1v
  2850. 584:user_src/soft_engine.c **** 充电电� uint16_t 0.1A
  2851. 585:user_src/soft_engine.c **** �动机�行时间 uint32_t Min 总�行时间�清零
  2852. 586:user_src/soft_engine.c **** 剩余�养时间 uint16_t Min �养�清零
  2853. 587:user_src/soft_engine.c **** 剩余�机时间 uint16_t Min �机倒计时
  2854. 588:user_src/soft_engine.c **** �行状� uint8_t 0:�止,1:等待,2:�行, 3:�机
  2855. 589:user_src/soft_engine.c **** 报警信� uint16_t 按��表示��时容纳16�警报
  2856. 590:user_src/soft_engine.c **** 剩余油� uint8_t % 0%-100%
  2857. 591:user_src/soft_engine.c **** 气缸1温度 uint16_t ℃ 0℃~300℃
  2858. 592:user_src/soft_engine.c **** 气缸2温度 uint16_t ℃ 0℃~300℃
  2859. 593:user_src/soft_engine.c **** PCB温度 uint8_t ℃ 0℃~255℃
  2860. 594:user_src/soft_engine.c **** */
  2861. 595:user_src/soft_engine.c ****
  2862. 596:user_src/soft_engine.c ****
  2863. 597:user_src/soft_engine.c **** /*
  2864. 598:user_src/soft_engine.c **** 检查智能电池的连接å�Šæ•°æ�®èŽ·å�–,主è¦�解决兼容多厂家设备接入时的选用优å…
  2865. 599:user_src/soft_engine.c ****
  2866. 600:user_src/soft_engine.c **** 更新速度至少� 5hz
  2867. 601:user_src/soft_engine.c ****
  2868. 602:user_src/soft_engine.c **** 缺少放电电�数�
  2869. 603:user_src/soft_engine.c **** */
  2870. 604:user_src/soft_engine.c **** void update_engine_data(void)
  2871. 605:user_src/soft_engine.c **** {
  2872. 2168 .loc 1 605 1
  2873. 2169 .cfi_startproc
  2874. 2170 @ args = 0, pretend = 0, frame = 8
  2875. 2171 @ frame_needed = 1, uses_anonymous_args = 0
  2876. 2172 0000 80B5 push {r7, lr}
  2877. 2173 .LCFI35:
  2878. 2174 .cfi_def_cfa_offset 8
  2879. 2175 .cfi_offset 7, -8
  2880. 2176 .cfi_offset 14, -4
  2881. 2177 0002 82B0 sub sp, sp, #8
  2882. 2178 .LCFI36:
  2883. 2179 .cfi_def_cfa_offset 16
  2884. 2180 0004 00AF add r7, sp, #0
  2885. 2181 .LCFI37:
  2886. 2182 .cfi_def_cfa_register 7
  2887. 606:user_src/soft_engine.c ****
  2888. 607:user_src/soft_engine.c **** //监测中飞�动机
  2889. 608:user_src/soft_engine.c **** Check_dev_link(&aoan_engine_Link,5000,(char *)&aoan_data,sizeof(AOAN_TYPE));
  2890. 2183 .loc 1 608 5
  2891. 2184 0006 1A23 movs r3, #26
  2892. 2185 0008 704A ldr r2, .L107
  2893. 2186 000a 41F28831 movw r1, #5000
  2894. 2187 000e 7048 ldr r0, .L107+4
  2895. 2188 0010 FFF7FEFF bl Check_dev_link
  2896. 609:user_src/soft_engine.c **** //监测VKV3的�动机
  2897. 610:user_src/soft_engine.c **** Check_dev_link(&vkv3_engine_link,5000,(char *)&vkv3_data,sizeof(VKV3_TYPE));
  2898. 2189 .loc 1 610 5
  2899. 2190 0014 2723 movs r3, #39
  2900. 2191 0016 6F4A ldr r2, .L107+8
  2901. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 51
  2902. 2192 0018 41F28831 movw r1, #5000
  2903. 2193 001c 6E48 ldr r0, .L107+12
  2904. 2194 001e FFF7FEFF bl Check_dev_link
  2905. 611:user_src/soft_engine.c **** //监测VKV3 2的�动机
  2906. 612:user_src/soft_engine.c **** //Check_dev_link(&vkv3_engine2_link,5000,(char *)&vkv3_data,sizeof(VKV3_TYPE));
  2907. 613:user_src/soft_engine.c **** //检测GEELY�动机
  2908. 614:user_src/soft_engine.c **** Check_dev_link(&geely_engin_link,5000,(char *)&geely_data,sizeof(GEELY));
  2909. 2195 .loc 1 614 5
  2910. 2196 0022 2823 movs r3, #40
  2911. 2197 0024 6D4A ldr r2, .L107+16
  2912. 2198 0026 41F28831 movw r1, #5000
  2913. 2199 002a 6D48 ldr r0, .L107+20
  2914. 2200 002c FFF7FEFF bl Check_dev_link
  2915. 615:user_src/soft_engine.c ****
  2916. 616:user_src/soft_engine.c **** if (aoan_engine_Link.connect_status == COMP_NORMAL)
  2917. 2201 .loc 1 616 25
  2918. 2202 0030 674B ldr r3, .L107+4
  2919. 2203 0032 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  2920. 2204 .loc 1 616 8
  2921. 2205 0034 012B cmp r3, #1
  2922. 2206 0036 5CD1 bne .L100
  2923. 617:user_src/soft_engine.c **** {
  2924. 618:user_src/soft_engine.c **** engine_link_status = COMP_NORMAL;
  2925. 2207 .loc 1 618 28
  2926. 2208 0038 6A4B ldr r3, .L107+24
  2927. 2209 003a 0122 movs r2, #1
  2928. 2210 003c 1A70 strb r2, [r3]
  2929. 619:user_src/soft_engine.c ****
  2930. 620:user_src/soft_engine.c **** //数字显示,显示9�数
  2931. 621:user_src/soft_engine.c **** engine_data.engine_type = ENGINE_AOAN;
  2932. 2211 .loc 1 621 33
  2933. 2212 003e 6A4B ldr r3, .L107+28
  2934. 2213 0040 0222 movs r2, #2
  2935. 2214 0042 1A70 strb r2, [r3]
  2936. 622:user_src/soft_engine.c **** engine_data.engine_rev = aoan_data.engin_rev;
  2937. 2215 .loc 1 622 43
  2938. 2216 0044 614B ldr r3, .L107
  2939. 2217 0046 B3F80130 ldrh r3, [r3, #1] @ unaligned
  2940. 2218 004a 9AB2 uxth r2, r3
  2941. 2219 .loc 1 622 32
  2942. 2220 004c 664B ldr r3, .L107+28
  2943. 2221 004e A3F80120 strh r2, [r3, #1] @ unaligned
  2944. 623:user_src/soft_engine.c **** engine_data.engine_thr = aoan_data.engin_thr;
  2945. 2222 .loc 1 623 43
  2946. 2223 0052 5E4B ldr r3, .L107
  2947. 2224 0054 B3F80330 ldrh r3, [r3, #3] @ unaligned
  2948. 2225 0058 9AB2 uxth r2, r3
  2949. 2226 .loc 1 623 32
  2950. 2227 005a 634B ldr r3, .L107+28
  2951. 2228 005c A3F80320 strh r2, [r3, #3] @ unaligned
  2952. 624:user_src/soft_engine.c **** engine_data.engine_vol = aoan_data.engin_vol;
  2953. 2229 .loc 1 624 43
  2954. 2230 0060 5A4B ldr r3, .L107
  2955. 2231 0062 B3F80530 ldrh r3, [r3, #5] @ unaligned
  2956. 2232 0066 9AB2 uxth r2, r3
  2957. 2233 .loc 1 624 32
  2958. 2234 0068 5F4B ldr r3, .L107+28
  2959. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 52
  2960. 2235 006a A3F80520 strh r2, [r3, #5] @ unaligned
  2961. 625:user_src/soft_engine.c **** engine_data.engine_elect = aoan_data.engin_elect;
  2962. 2236 .loc 1 625 45
  2963. 2237 006e 574B ldr r3, .L107
  2964. 2238 0070 B3F80730 ldrh r3, [r3, #7] @ unaligned
  2965. 2239 0074 9BB2 uxth r3, r3
  2966. 2240 0076 1AB2 sxth r2, r3
  2967. 2241 .loc 1 625 34
  2968. 2242 0078 5B4B ldr r3, .L107+28
  2969. 2243 007a A3F80720 strh r2, [r3, #7] @ unaligned
  2970. 626:user_src/soft_engine.c **** engine_data.engine_rtime = aoan_data.engin_rtime;
  2971. 2244 .loc 1 626 45
  2972. 2245 007e 534B ldr r3, .L107
  2973. 2246 0080 D3F80930 ldr r3, [r3, #9] @ unaligned
  2974. 2247 .loc 1 626 34
  2975. 2248 0084 584A ldr r2, .L107+28
  2976. 2249 0086 C2F80930 str r3, [r2, #9] @ unaligned
  2977. 627:user_src/soft_engine.c **** engine_data.engine_tcd = aoan_data.engin_tcd;
  2978. 2250 .loc 1 627 43
  2979. 2251 008a 504B ldr r3, .L107
  2980. 2252 008c B3F80D30 ldrh r3, [r3, #13] @ unaligned
  2981. 2253 0090 9AB2 uxth r2, r3
  2982. 2254 .loc 1 627 32
  2983. 2255 0092 554B ldr r3, .L107+28
  2984. 2256 0094 A3F80D20 strh r2, [r3, #13] @ unaligned
  2985. 628:user_src/soft_engine.c **** engine_data.engine_lcd = aoan_data.engin_lcd;
  2986. 2257 .loc 1 628 43
  2987. 2258 0098 4C4B ldr r3, .L107
  2988. 2259 009a B3F80F30 ldrh r3, [r3, #15] @ unaligned
  2989. 2260 009e 9AB2 uxth r2, r3
  2990. 2261 .loc 1 628 32
  2991. 2262 00a0 514B ldr r3, .L107+28
  2992. 2263 00a2 A3F80F20 strh r2, [r3, #15] @ unaligned
  2993. 629:user_src/soft_engine.c **** engine_data.engine_rsta = aoan_data.engin_rsta;
  2994. 2264 .loc 1 629 44
  2995. 2265 00a6 494B ldr r3, .L107
  2996. 2266 00a8 5A7C ldrb r2, [r3, #17] @ zero_extendqisi2
  2997. 2267 .loc 1 629 33
  2998. 2268 00aa 4F4B ldr r3, .L107+28
  2999. 2269 00ac 5A74 strb r2, [r3, #17]
  3000. 630:user_src/soft_engine.c **** engine_data.engine_warn = aoan_data.engin_warn;
  3001. 2270 .loc 1 630 44
  3002. 2271 00ae 474B ldr r3, .L107
  3003. 2272 00b0 5A8A ldrh r2, [r3, #18]
  3004. 2273 .loc 1 630 33
  3005. 2274 00b2 4D4B ldr r3, .L107+28
  3006. 2275 00b4 5A82 strh r2, [r3, #18] @ movhi
  3007. 631:user_src/soft_engine.c **** engine_data.engine_roil = aoan_data.engin_roil;
  3008. 2276 .loc 1 631 44
  3009. 2277 00b6 454B ldr r3, .L107
  3010. 2278 00b8 1A7D ldrb r2, [r3, #20] @ zero_extendqisi2
  3011. 2279 .loc 1 631 33
  3012. 2280 00ba 4B4B ldr r3, .L107+28
  3013. 2281 00bc 1A75 strb r2, [r3, #20]
  3014. 632:user_src/soft_engine.c **** engine_data.engine_cyl1temp = aoan_data.engin_cyl1temp;
  3015. 2282 .loc 1 632 48
  3016. 2283 00be 434B ldr r3, .L107
  3017. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 53
  3018. 2284 00c0 B3F81530 ldrh r3, [r3, #21] @ unaligned
  3019. 2285 00c4 9AB2 uxth r2, r3
  3020. 2286 .loc 1 632 37
  3021. 2287 00c6 484B ldr r3, .L107+28
  3022. 2288 00c8 A3F81520 strh r2, [r3, #21] @ unaligned
  3023. 633:user_src/soft_engine.c **** engine_data.engine_cyl2temp = aoan_data.engin_cyl2temp;
  3024. 2289 .loc 1 633 48
  3025. 2290 00cc 3F4B ldr r3, .L107
  3026. 2291 00ce B3F81730 ldrh r3, [r3, #23] @ unaligned
  3027. 2292 00d2 9AB2 uxth r2, r3
  3028. 2293 .loc 1 633 37
  3029. 2294 00d4 444B ldr r3, .L107+28
  3030. 2295 00d6 A3F81720 strh r2, [r3, #23] @ unaligned
  3031. 634:user_src/soft_engine.c **** engine_data.engine_pcbtemp = aoan_data.engin_pcbtemp;
  3032. 2296 .loc 1 634 47
  3033. 2297 00da 3C4B ldr r3, .L107
  3034. 2298 00dc 5B7E ldrb r3, [r3, #25] @ zero_extendqisi2
  3035. 2299 00de 9AB2 uxth r2, r3
  3036. 2300 .loc 1 634 36
  3037. 2301 00e0 414B ldr r3, .L107+28
  3038. 2302 00e2 A3F81920 strh r2, [r3, #25] @ unaligned
  3039. 635:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, "AOAN", 4);
  3040. 2303 .loc 1 635 9
  3041. 2304 00e6 0422 movs r2, #4
  3042. 2305 00e8 4049 ldr r1, .L107+32
  3043. 2306 00ea 4148 ldr r0, .L107+36
  3044. 2307 00ec FFF7FEFF bl memcpy
  3045. 636:user_src/soft_engine.c **** }
  3046. 637:user_src/soft_engine.c **** else if (vkv3_engine_link.connect_status == COMP_NORMAL)
  3047. 638:user_src/soft_engine.c **** {
  3048. 639:user_src/soft_engine.c **** engine_link_status = COMP_NORMAL;
  3049. 640:user_src/soft_engine.c ****
  3050. 641:user_src/soft_engine.c **** //数字显示,显示9�数
  3051. 642:user_src/soft_engine.c **** engine_data.engine_type = ENGINE_VK;
  3052. 643:user_src/soft_engine.c **** engine_data.engine_rev = vkv3_data.engin_rev;
  3053. 644:user_src/soft_engine.c **** engine_data.engine_thr = vkv3_data.engin_thr;
  3054. 645:user_src/soft_engine.c **** engine_data.engine_vol = vkv3_data.engin_vol;
  3055. 646:user_src/soft_engine.c **** engine_data.engine_elect = vkv3_data.engin_elect;
  3056. 647:user_src/soft_engine.c **** engine_data.engine_rtime = vkv3_data.engin_rtime;
  3057. 648:user_src/soft_engine.c **** engine_data.engine_tcd = vkv3_data.engin_tcd;
  3058. 649:user_src/soft_engine.c **** engine_data.engine_lcd = vkv3_data.engin_lcd;
  3059. 650:user_src/soft_engine.c **** engine_data.engine_rsta = vkv3_data.engin_rsta;
  3060. 651:user_src/soft_engine.c **** engine_data.engine_warn = vkv3_data.engin_warn;
  3061. 652:user_src/soft_engine.c **** engine_data.engine_roil = vkv3_data.engin_roil;
  3062. 653:user_src/soft_engine.c **** engine_data.engine_cyl1temp = vkv3_data.engin_cyl1temp;
  3063. 654:user_src/soft_engine.c **** engine_data.engine_cyl2temp = vkv3_data.engin_cyl2temp;
  3064. 655:user_src/soft_engine.c **** engine_data.engine_pcbtemp = vkv3_data.engin_pcbtemp;
  3065. 656:user_src/soft_engine.c **** engine_data.engine_sn = vkv3_data.engin_sn;
  3066. 657:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, vkv3_data.engin_brand, 8);
  3067. 658:user_src/soft_engine.c ****
  3068. 659:user_src/soft_engine.c **** // if(vkv3_engine2_link.connect_status == COMP_NORMAL)
  3069. 660:user_src/soft_engine.c **** // {
  3070. 661:user_src/soft_engine.c ****
  3071. 662:user_src/soft_engine.c **** // }
  3072. 663:user_src/soft_engine.c **** }
  3073. 664:user_src/soft_engine.c **** else if (geely_engin_link.connect_status == COMP_NORMAL)
  3074. 665:user_src/soft_engine.c **** {
  3075. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 54
  3076. 666:user_src/soft_engine.c **** engine_link_status = COMP_NORMAL;
  3077. 667:user_src/soft_engine.c ****
  3078. 668:user_src/soft_engine.c **** engine_data.engine_type = ENGINE_GEELY;
  3079. 669:user_src/soft_engine.c ****
  3080. 670:user_src/soft_engine.c **** //数字显示,显示9�数
  3081. 671:user_src/soft_engine.c **** if(geely_data2.version2_flag != true)
  3082. 672:user_src/soft_engine.c **** {
  3083. 673:user_src/soft_engine.c **** engine_data.engine_rev = geely_data.engine_rev;
  3084. 674:user_src/soft_engine.c **** engine_data.engine_thr = geely_data.engine_thrposition * 0.1f;
  3085. 675:user_src/soft_engine.c **** engine_data.engine_vol = geely_data.engine_vol * 2;
  3086. 676:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data.engine_elect - 1000) * 2;
  3087. 677:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data.engine_runtime;
  3088. 678:user_src/soft_engine.c **** engine_data.engine_tcd = geely_data.engine_tcd;
  3089. 679:user_src/soft_engine.c **** engine_data.engine_lcd = geely_data.engine_tlock;
  3090. 680:user_src/soft_engine.c **** engine_data.engine_rsta = geely_data.engine_status;
  3091. 681:user_src/soft_engine.c **** engine_data.engine_warn = geely_data.engine_warn & 0xffef;//�蔽总线系统异常
  3092. 682:user_src/soft_engine.c **** engine_data.engine_roil = geely_data.engine_fuelposition * 0.5f;
  3093. 683:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data.engine_cyltemp - 40;
  3094. 684:user_src/soft_engine.c **** engine_data.engine_cyl2temp = 0;
  3095. 685:user_src/soft_engine.c **** engine_data.engine_pcbtemp = geely_data.engine_cooltemp - 40;
  3096. 686:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data.engine_brand, 3);
  3097. 687:user_src/soft_engine.c **** memcpy(&engine_data.engine_brand[3],"-", 1);
  3098. 688:user_src/soft_engine.c **** snprintf((char *)&engine_data.engine_brand[4],4,"%d",(int)geely_data.engine_ver);
  3099. 689:user_src/soft_engine.c **** engine_data.engine_sn = geely_data.engine_sn[0] * 10000000 + geely_data.engine_sn[1] *
  3100. 690:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3101. 691:user_src/soft_engine.c **** engine_data.engine_lockstatus = geely_data.engine_control;
  3102. 692:user_src/soft_engine.c **** engine_data.engine_fault = geely_data.engine_fault;
  3103. 693:user_src/soft_engine.c **** }
  3104. 694:user_src/soft_engine.c **** else
  3105. 695:user_src/soft_engine.c **** {
  3106. 696:user_src/soft_engine.c **** if(geely_data2.engine_brand[0] == 'B' && geely_data2.engine_brand[1] =='R' && geely_dat
  3107. 697:user_src/soft_engine.c **** {
  3108. 698:user_src/soft_engine.c **** engine_data.engine_type = ENGINE_BRO;
  3109. 699:user_src/soft_engine.c **** }
  3110. 700:user_src/soft_engine.c **** engine_data.engine_rev = geely_data2.engine_rev;
  3111. 701:user_src/soft_engine.c **** engine_data.engine_thr = geely_data2.Bit1EA.engine_ATP1 * 0.05f;
  3112. 702:user_src/soft_engine.c **** engine_data.engine_vol = geely_data2.engine_vol * 0.1f;
  3113. 703:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data2.engine_elect * 0.05f - 400) * 10;
  3114. 704:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3115. 705:user_src/soft_engine.c **** engine_data.engine_tcd = geely_data2.engine_tcd;
  3116. 706:user_src/soft_engine.c **** engine_data.engine_lcd = geely_data2.engine_tlock;
  3117. 707:user_src/soft_engine.c **** engine_data.engine_rsta = geely_data2.engine_state;
  3118. 708:user_src/soft_engine.c **** engine_data.engine_warn = geely_data2.EmgST0;
  3119. 709:user_src/soft_engine.c **** engine_data.engine_roil = geely_data2.GPS * 0.5f;
  3120. 710:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data2.engine_cooltemp - 40;
  3121. 711:user_src/soft_engine.c **** engine_data.engine_cyl2temp = geely_data2. engine_cooltemp1 - 40;
  3122. 712:user_src/soft_engine.c **** engine_data.engine_pcbtemp = geely_data2.engine_GWT - 40;
  3123. 713:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data2.engine_brand, 3);
  3124. 714:user_src/soft_engine.c **** memcpy(&engine_data.engine_brand[3],"-", 1);
  3125. 715:user_src/soft_engine.c **** snprintf((char *)&engine_data.engine_brand[4],4,"%d",(int)geely_data2.engine_ver);
  3126. 716:user_src/soft_engine.c **** engine_data.engine_sn = geely_data2.engine_sn[0] * 10000000 + geely_data2.engine_sn[1]
  3127. 717:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3128. 718:user_src/soft_engine.c **** //engine_data.engine_lockstatus = geely_data2.engine_state == 0? 0 : 1;
  3129. 719:user_src/soft_engine.c **** engine_data.engine_lockstatus = geely_data2.engine_controlcmd;
  3130. 720:user_src/soft_engine.c **** //engine_data.engine_fault = geely_data2.engine_fault;
  3131. 721:user_src/soft_engine.c **** }
  3132. 722:user_src/soft_engine.c **** }
  3133. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 55
  3134. 723:user_src/soft_engine.c **** else
  3135. 724:user_src/soft_engine.c **** {
  3136. 725:user_src/soft_engine.c **** if (engine_link_status == COMP_NORMAL)
  3137. 726:user_src/soft_engine.c **** {
  3138. 727:user_src/soft_engine.c **** engine_link_status = COMP_LOST;
  3139. 728:user_src/soft_engine.c ****
  3140. 729:user_src/soft_engine.c **** memset(&engine_data, 0, sizeof(engine_data));
  3141. 730:user_src/soft_engine.c **** //状�未置异常
  3142. 731:user_src/soft_engine.c **** engine_data.engine_type = 0xFF;
  3143. 732:user_src/soft_engine.c **** }
  3144. 733:user_src/soft_engine.c **** }
  3145. 734:user_src/soft_engine.c **** }
  3146. 2308 .loc 1 734 1
  3147. 2309 00f0 3CE2 b .L106
  3148. 2310 .L100:
  3149. 637:user_src/soft_engine.c **** {
  3150. 2311 .loc 1 637 30
  3151. 2312 00f2 394B ldr r3, .L107+12
  3152. 2313 00f4 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  3153. 637:user_src/soft_engine.c **** {
  3154. 2314 .loc 1 637 13
  3155. 2315 00f6 012B cmp r3, #1
  3156. 2316 00f8 7CD1 bne .L102
  3157. 639:user_src/soft_engine.c ****
  3158. 2317 .loc 1 639 28
  3159. 2318 00fa 3A4B ldr r3, .L107+24
  3160. 2319 00fc 0122 movs r2, #1
  3161. 2320 00fe 1A70 strb r2, [r3]
  3162. 642:user_src/soft_engine.c **** engine_data.engine_rev = vkv3_data.engin_rev;
  3163. 2321 .loc 1 642 33
  3164. 2322 0100 394B ldr r3, .L107+28
  3165. 2323 0102 0322 movs r2, #3
  3166. 2324 0104 1A70 strb r2, [r3]
  3167. 643:user_src/soft_engine.c **** engine_data.engine_thr = vkv3_data.engin_thr;
  3168. 2325 .loc 1 643 43
  3169. 2326 0106 334B ldr r3, .L107+8
  3170. 2327 0108 B3F80D30 ldrh r3, [r3, #13] @ unaligned
  3171. 2328 010c 9AB2 uxth r2, r3
  3172. 643:user_src/soft_engine.c **** engine_data.engine_thr = vkv3_data.engin_thr;
  3173. 2329 .loc 1 643 32
  3174. 2330 010e 364B ldr r3, .L107+28
  3175. 2331 0110 A3F80120 strh r2, [r3, #1] @ unaligned
  3176. 644:user_src/soft_engine.c **** engine_data.engine_vol = vkv3_data.engin_vol;
  3177. 2332 .loc 1 644 43
  3178. 2333 0114 2F4B ldr r3, .L107+8
  3179. 2334 0116 B3F80F30 ldrh r3, [r3, #15] @ unaligned
  3180. 2335 011a 9AB2 uxth r2, r3
  3181. 644:user_src/soft_engine.c **** engine_data.engine_vol = vkv3_data.engin_vol;
  3182. 2336 .loc 1 644 32
  3183. 2337 011c 324B ldr r3, .L107+28
  3184. 2338 011e A3F80320 strh r2, [r3, #3] @ unaligned
  3185. 645:user_src/soft_engine.c **** engine_data.engine_elect = vkv3_data.engin_elect;
  3186. 2339 .loc 1 645 43
  3187. 2340 0122 2C4B ldr r3, .L107+8
  3188. 2341 0124 B3F81130 ldrh r3, [r3, #17] @ unaligned
  3189. 2342 0128 9AB2 uxth r2, r3
  3190. 645:user_src/soft_engine.c **** engine_data.engine_elect = vkv3_data.engin_elect;
  3191. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 56
  3192. 2343 .loc 1 645 32
  3193. 2344 012a 2F4B ldr r3, .L107+28
  3194. 2345 012c A3F80520 strh r2, [r3, #5] @ unaligned
  3195. 646:user_src/soft_engine.c **** engine_data.engine_rtime = vkv3_data.engin_rtime;
  3196. 2346 .loc 1 646 45
  3197. 2347 0130 284B ldr r3, .L107+8
  3198. 2348 0132 B3F81330 ldrh r3, [r3, #19] @ unaligned
  3199. 2349 0136 9BB2 uxth r3, r3
  3200. 2350 0138 1AB2 sxth r2, r3
  3201. 646:user_src/soft_engine.c **** engine_data.engine_rtime = vkv3_data.engin_rtime;
  3202. 2351 .loc 1 646 34
  3203. 2352 013a 2B4B ldr r3, .L107+28
  3204. 2353 013c A3F80720 strh r2, [r3, #7] @ unaligned
  3205. 647:user_src/soft_engine.c **** engine_data.engine_tcd = vkv3_data.engin_tcd;
  3206. 2354 .loc 1 647 45
  3207. 2355 0140 244B ldr r3, .L107+8
  3208. 2356 0142 D3F81530 ldr r3, [r3, #21] @ unaligned
  3209. 647:user_src/soft_engine.c **** engine_data.engine_tcd = vkv3_data.engin_tcd;
  3210. 2357 .loc 1 647 34
  3211. 2358 0146 284A ldr r2, .L107+28
  3212. 2359 0148 C2F80930 str r3, [r2, #9] @ unaligned
  3213. 648:user_src/soft_engine.c **** engine_data.engine_lcd = vkv3_data.engin_lcd;
  3214. 2360 .loc 1 648 43
  3215. 2361 014c 214B ldr r3, .L107+8
  3216. 2362 014e B3F81930 ldrh r3, [r3, #25] @ unaligned
  3217. 2363 0152 9AB2 uxth r2, r3
  3218. 648:user_src/soft_engine.c **** engine_data.engine_lcd = vkv3_data.engin_lcd;
  3219. 2364 .loc 1 648 32
  3220. 2365 0154 244B ldr r3, .L107+28
  3221. 2366 0156 A3F80D20 strh r2, [r3, #13] @ unaligned
  3222. 649:user_src/soft_engine.c **** engine_data.engine_rsta = vkv3_data.engin_rsta;
  3223. 2367 .loc 1 649 43
  3224. 2368 015a 1E4B ldr r3, .L107+8
  3225. 2369 015c B3F81B30 ldrh r3, [r3, #27] @ unaligned
  3226. 2370 0160 9AB2 uxth r2, r3
  3227. 649:user_src/soft_engine.c **** engine_data.engine_rsta = vkv3_data.engin_rsta;
  3228. 2371 .loc 1 649 32
  3229. 2372 0162 214B ldr r3, .L107+28
  3230. 2373 0164 A3F80F20 strh r2, [r3, #15] @ unaligned
  3231. 650:user_src/soft_engine.c **** engine_data.engine_warn = vkv3_data.engin_warn;
  3232. 2374 .loc 1 650 44
  3233. 2375 0168 1A4B ldr r3, .L107+8
  3234. 2376 016a 5A7F ldrb r2, [r3, #29] @ zero_extendqisi2
  3235. 650:user_src/soft_engine.c **** engine_data.engine_warn = vkv3_data.engin_warn;
  3236. 2377 .loc 1 650 33
  3237. 2378 016c 1E4B ldr r3, .L107+28
  3238. 2379 016e 5A74 strb r2, [r3, #17]
  3239. 651:user_src/soft_engine.c **** engine_data.engine_roil = vkv3_data.engin_roil;
  3240. 2380 .loc 1 651 44
  3241. 2381 0170 184B ldr r3, .L107+8
  3242. 2382 0172 DA8B ldrh r2, [r3, #30]
  3243. 651:user_src/soft_engine.c **** engine_data.engine_roil = vkv3_data.engin_roil;
  3244. 2383 .loc 1 651 33
  3245. 2384 0174 1C4B ldr r3, .L107+28
  3246. 2385 0176 5A82 strh r2, [r3, #18] @ movhi
  3247. 652:user_src/soft_engine.c **** engine_data.engine_cyl1temp = vkv3_data.engin_cyl1temp;
  3248. 2386 .loc 1 652 44
  3249. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 57
  3250. 2387 0178 164B ldr r3, .L107+8
  3251. 2388 017a 93F82020 ldrb r2, [r3, #32] @ zero_extendqisi2
  3252. 652:user_src/soft_engine.c **** engine_data.engine_cyl1temp = vkv3_data.engin_cyl1temp;
  3253. 2389 .loc 1 652 33
  3254. 2390 017e 1A4B ldr r3, .L107+28
  3255. 2391 0180 1A75 strb r2, [r3, #20]
  3256. 653:user_src/soft_engine.c **** engine_data.engine_cyl2temp = vkv3_data.engin_cyl2temp;
  3257. 2392 .loc 1 653 48
  3258. 2393 0182 144B ldr r3, .L107+8
  3259. 2394 0184 B3F82130 ldrh r3, [r3, #33] @ unaligned
  3260. 2395 0188 9AB2 uxth r2, r3
  3261. 653:user_src/soft_engine.c **** engine_data.engine_cyl2temp = vkv3_data.engin_cyl2temp;
  3262. 2396 .loc 1 653 37
  3263. 2397 018a 174B ldr r3, .L107+28
  3264. 2398 018c A3F81520 strh r2, [r3, #21] @ unaligned
  3265. 654:user_src/soft_engine.c **** engine_data.engine_pcbtemp = vkv3_data.engin_pcbtemp;
  3266. 2399 .loc 1 654 48
  3267. 2400 0190 104B ldr r3, .L107+8
  3268. 2401 0192 B3F82330 ldrh r3, [r3, #35] @ unaligned
  3269. 2402 0196 9AB2 uxth r2, r3
  3270. 654:user_src/soft_engine.c **** engine_data.engine_pcbtemp = vkv3_data.engin_pcbtemp;
  3271. 2403 .loc 1 654 37
  3272. 2404 0198 134B ldr r3, .L107+28
  3273. 2405 019a A3F81720 strh r2, [r3, #23] @ unaligned
  3274. 655:user_src/soft_engine.c **** engine_data.engine_sn = vkv3_data.engin_sn;
  3275. 2406 .loc 1 655 47
  3276. 2407 019e 0D4B ldr r3, .L107+8
  3277. 2408 01a0 B3F82530 ldrh r3, [r3, #37] @ unaligned
  3278. 2409 01a4 9AB2 uxth r2, r3
  3279. 655:user_src/soft_engine.c **** engine_data.engine_sn = vkv3_data.engin_sn;
  3280. 2410 .loc 1 655 36
  3281. 2411 01a6 104B ldr r3, .L107+28
  3282. 2412 01a8 A3F81920 strh r2, [r3, #25] @ unaligned
  3283. 656:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, vkv3_data.engin_brand, 8);
  3284. 2413 .loc 1 656 42
  3285. 2414 01ac 094B ldr r3, .L107+8
  3286. 2415 01ae D3F80930 ldr r3, [r3, #9] @ unaligned
  3287. 656:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, vkv3_data.engin_brand, 8);
  3288. 2416 .loc 1 656 31
  3289. 2417 01b2 0D4A ldr r2, .L107+28
  3290. 2418 01b4 C2F82330 str r3, [r2, #35] @ unaligned
  3291. 657:user_src/soft_engine.c ****
  3292. 2419 .loc 1 657 9
  3293. 2420 01b8 0B4B ldr r3, .L107+28
  3294. 2421 01ba 064A ldr r2, .L107+8
  3295. 2422 01bc 1B33 adds r3, r3, #27
  3296. 2423 01be 0132 adds r2, r2, #1
  3297. 2424 01c0 1168 ldr r1, [r2] @ unaligned
  3298. 2425 01c2 5268 ldr r2, [r2, #4] @ unaligned
  3299. 2426 01c4 1960 str r1, [r3] @ unaligned
  3300. 2427 01c6 5A60 str r2, [r3, #4] @ unaligned
  3301. 2428 .loc 1 734 1
  3302. 2429 01c8 D0E1 b .L106
  3303. 2430 .L108:
  3304. 2431 01ca 00BF .align 2
  3305. 2432 .L107:
  3306. 2433 01cc 00000000 .word aoan_data
  3307. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 58
  3308. 2434 01d0 00000000 .word aoan_engine_Link
  3309. 2435 01d4 00000000 .word vkv3_data
  3310. 2436 01d8 00000000 .word vkv3_engine_link
  3311. 2437 01dc 00000000 .word geely_data
  3312. 2438 01e0 00000000 .word geely_engin_link
  3313. 2439 01e4 00000000 .word engine_link_status
  3314. 2440 01e8 00000000 .word engine_data
  3315. 2441 01ec 00000000 .word .LC0
  3316. 2442 01f0 1B000000 .word engine_data+27
  3317. 2443 .L102:
  3318. 664:user_src/soft_engine.c **** {
  3319. 2444 .loc 1 664 30
  3320. 2445 01f4 5A4B ldr r3, .L109
  3321. 2446 01f6 1B7A ldrb r3, [r3, #8] @ zero_extendqisi2
  3322. 664:user_src/soft_engine.c **** {
  3323. 2447 .loc 1 664 13
  3324. 2448 01f8 012B cmp r3, #1
  3325. 2449 01fa 40F0A881 bne .L103
  3326. 666:user_src/soft_engine.c ****
  3327. 2450 .loc 1 666 28
  3328. 2451 01fe 594B ldr r3, .L109+4
  3329. 2452 0200 0122 movs r2, #1
  3330. 2453 0202 1A70 strb r2, [r3]
  3331. 668:user_src/soft_engine.c ****
  3332. 2454 .loc 1 668 33
  3333. 2455 0204 584B ldr r3, .L109+8
  3334. 2456 0206 0422 movs r2, #4
  3335. 2457 0208 1A70 strb r2, [r3]
  3336. 671:user_src/soft_engine.c **** {
  3337. 2458 .loc 1 671 23
  3338. 2459 020a 584B ldr r3, .L109+12
  3339. 2460 020c 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3340. 671:user_src/soft_engine.c **** {
  3341. 2461 .loc 1 671 38
  3342. 2462 020e 83F00103 eor r3, r3, #1
  3343. 2463 0212 DBB2 uxtb r3, r3
  3344. 671:user_src/soft_engine.c **** {
  3345. 2464 .loc 1 671 11
  3346. 2465 0214 002B cmp r3, #0
  3347. 2466 0216 00F0B780 beq .L104
  3348. 673:user_src/soft_engine.c **** engine_data.engine_thr = geely_data.engine_thrposition * 0.1f;
  3349. 2467 .loc 1 673 48
  3350. 2468 021a 554B ldr r3, .L109+16
  3351. 2469 021c 1A89 ldrh r2, [r3, #8]
  3352. 673:user_src/soft_engine.c **** engine_data.engine_thr = geely_data.engine_thrposition * 0.1f;
  3353. 2470 .loc 1 673 36
  3354. 2471 021e 524B ldr r3, .L109+8
  3355. 2472 0220 A3F80120 strh r2, [r3, #1] @ unaligned
  3356. 674:user_src/soft_engine.c **** engine_data.engine_vol = geely_data.engine_vol * 2;
  3357. 2473 .loc 1 674 48
  3358. 2474 0224 524B ldr r3, .L109+16
  3359. 2475 0226 5B89 ldrh r3, [r3, #10]
  3360. 2476 0228 07EE903A vmov s15, r3 @ int
  3361. 674:user_src/soft_engine.c **** engine_data.engine_vol = geely_data.engine_vol * 2;
  3362. 2477 .loc 1 674 68
  3363. 2478 022c F8EEE77A vcvt.f32.s32 s15, s15
  3364. 2479 0230 9FED507A vldr.32 s14, .L109+20
  3365. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 59
  3366. 2480 0234 67EE877A vmul.f32 s15, s15, s14
  3367. 674:user_src/soft_engine.c **** engine_data.engine_vol = geely_data.engine_vol * 2;
  3368. 2481 .loc 1 674 36
  3369. 2482 0238 FCEEE77A vcvt.u32.f32 s15, s15
  3370. 2483 023c 17EE903A vmov r3, s15 @ int
  3371. 2484 0240 9AB2 uxth r2, r3
  3372. 2485 0242 494B ldr r3, .L109+8
  3373. 2486 0244 A3F80320 strh r2, [r3, #3] @ unaligned
  3374. 675:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data.engine_elect - 1000) * 2;
  3375. 2487 .loc 1 675 48
  3376. 2488 0248 494B ldr r3, .L109+16
  3377. 2489 024a 1B8A ldrh r3, [r3, #16]
  3378. 675:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data.engine_elect - 1000) * 2;
  3379. 2490 .loc 1 675 36
  3380. 2491 024c 5B00 lsls r3, r3, #1
  3381. 2492 024e 9AB2 uxth r2, r3
  3382. 2493 0250 454B ldr r3, .L109+8
  3383. 2494 0252 A3F80520 strh r2, [r3, #5] @ unaligned
  3384. 676:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data.engine_runtime;
  3385. 2495 .loc 1 676 58
  3386. 2496 0256 464B ldr r3, .L109+16
  3387. 2497 0258 5B8A ldrh r3, [r3, #18]
  3388. 676:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data.engine_runtime;
  3389. 2498 .loc 1 676 72
  3390. 2499 025a A3F57A73 sub r3, r3, #1000
  3391. 2500 025e 9BB2 uxth r3, r3
  3392. 676:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data.engine_runtime;
  3393. 2501 .loc 1 676 80
  3394. 2502 0260 5B00 lsls r3, r3, #1
  3395. 2503 0262 9BB2 uxth r3, r3
  3396. 2504 0264 1AB2 sxth r2, r3
  3397. 676:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data.engine_runtime;
  3398. 2505 .loc 1 676 38
  3399. 2506 0266 404B ldr r3, .L109+8
  3400. 2507 0268 A3F80720 strh r2, [r3, #7] @ unaligned
  3401. 677:user_src/soft_engine.c **** engine_data.engine_tcd = geely_data.engine_tcd;
  3402. 2508 .loc 1 677 50
  3403. 2509 026c 404B ldr r3, .L109+16
  3404. 2510 026e 1B6A ldr r3, [r3, #32]
  3405. 677:user_src/soft_engine.c **** engine_data.engine_tcd = geely_data.engine_tcd;
  3406. 2511 .loc 1 677 38
  3407. 2512 0270 3D4A ldr r2, .L109+8
  3408. 2513 0272 C2F80930 str r3, [r2, #9] @ unaligned
  3409. 678:user_src/soft_engine.c **** engine_data.engine_lcd = geely_data.engine_tlock;
  3410. 2514 .loc 1 678 48
  3411. 2515 0276 3E4B ldr r3, .L109+16
  3412. 2516 0278 9A8C ldrh r2, [r3, #36]
  3413. 678:user_src/soft_engine.c **** engine_data.engine_lcd = geely_data.engine_tlock;
  3414. 2517 .loc 1 678 36
  3415. 2518 027a 3B4B ldr r3, .L109+8
  3416. 2519 027c A3F80D20 strh r2, [r3, #13] @ unaligned
  3417. 679:user_src/soft_engine.c **** engine_data.engine_rsta = geely_data.engine_status;
  3418. 2520 .loc 1 679 48
  3419. 2521 0280 3B4B ldr r3, .L109+16
  3420. 2522 0282 DA8C ldrh r2, [r3, #38]
  3421. 679:user_src/soft_engine.c **** engine_data.engine_rsta = geely_data.engine_status;
  3422. 2523 .loc 1 679 36
  3423. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 60
  3424. 2524 0284 384B ldr r3, .L109+8
  3425. 2525 0286 A3F80F20 strh r2, [r3, #15] @ unaligned
  3426. 680:user_src/soft_engine.c **** engine_data.engine_warn = geely_data.engine_warn & 0xffef;//�蔽总线系统异常
  3427. 2526 .loc 1 680 49
  3428. 2527 028a 394B ldr r3, .L109+16
  3429. 2528 028c DA7B ldrb r2, [r3, #15] @ zero_extendqisi2
  3430. 680:user_src/soft_engine.c **** engine_data.engine_warn = geely_data.engine_warn & 0xffef;//�蔽总线系统异常
  3431. 2529 .loc 1 680 37
  3432. 2530 028e 364B ldr r3, .L109+8
  3433. 2531 0290 5A74 strb r2, [r3, #17]
  3434. 681:user_src/soft_engine.c **** engine_data.engine_roil = geely_data.engine_fuelposition * 0.5f;
  3435. 2532 .loc 1 681 49
  3436. 2533 0292 374B ldr r3, .L109+16
  3437. 2534 0294 9B8A ldrh r3, [r3, #20]
  3438. 681:user_src/soft_engine.c **** engine_data.engine_roil = geely_data.engine_fuelposition * 0.5f;
  3439. 2535 .loc 1 681 62
  3440. 2536 0296 23F01003 bic r3, r3, #16
  3441. 2537 029a 9AB2 uxth r2, r3
  3442. 681:user_src/soft_engine.c **** engine_data.engine_roil = geely_data.engine_fuelposition * 0.5f;
  3443. 2538 .loc 1 681 37
  3444. 2539 029c 324B ldr r3, .L109+8
  3445. 2540 029e 5A82 strh r2, [r3, #18] @ movhi
  3446. 682:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data.engine_cyltemp - 40;
  3447. 2541 .loc 1 682 49
  3448. 2542 02a0 334B ldr r3, .L109+16
  3449. 2543 02a2 1B7B ldrb r3, [r3, #12] @ zero_extendqisi2
  3450. 2544 02a4 07EE903A vmov s15, r3 @ int
  3451. 682:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data.engine_cyltemp - 40;
  3452. 2545 .loc 1 682 70
  3453. 2546 02a8 F8EEE77A vcvt.f32.s32 s15, s15
  3454. 2547 02ac B6EE007A vmov.f32 s14, #5.0e-1
  3455. 2548 02b0 67EE877A vmul.f32 s15, s15, s14
  3456. 682:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data.engine_cyltemp - 40;
  3457. 2549 .loc 1 682 37
  3458. 2550 02b4 FCEEE77A vcvt.u32.f32 s15, s15
  3459. 2551 02b8 C7ED017A vstr.32 s15, [r7, #4] @ int
  3460. 2552 02bc 3B79 ldrb r3, [r7, #4]
  3461. 2553 02be DAB2 uxtb r2, r3
  3462. 2554 02c0 294B ldr r3, .L109+8
  3463. 2555 02c2 1A75 strb r2, [r3, #20]
  3464. 683:user_src/soft_engine.c **** engine_data.engine_cyl2temp = 0;
  3465. 2556 .loc 1 683 53
  3466. 2557 02c4 2A4B ldr r3, .L109+16
  3467. 2558 02c6 5B7B ldrb r3, [r3, #13] @ zero_extendqisi2
  3468. 2559 02c8 9BB2 uxth r3, r3
  3469. 683:user_src/soft_engine.c **** engine_data.engine_cyl2temp = 0;
  3470. 2560 .loc 1 683 69
  3471. 2561 02ca 283B subs r3, r3, #40
  3472. 2562 02cc 9AB2 uxth r2, r3
  3473. 683:user_src/soft_engine.c **** engine_data.engine_cyl2temp = 0;
  3474. 2563 .loc 1 683 41
  3475. 2564 02ce 264B ldr r3, .L109+8
  3476. 2565 02d0 A3F81520 strh r2, [r3, #21] @ unaligned
  3477. 684:user_src/soft_engine.c **** engine_data.engine_pcbtemp = geely_data.engine_cooltemp - 40;
  3478. 2566 .loc 1 684 41
  3479. 2567 02d4 244B ldr r3, .L109+8
  3480. 2568 02d6 0022 movs r2, #0
  3481. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 61
  3482. 2569 02d8 DA75 strb r2, [r3, #23]
  3483. 2570 02da 0022 movs r2, #0
  3484. 2571 02dc 1A76 strb r2, [r3, #24]
  3485. 685:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data.engine_brand, 3);
  3486. 2572 .loc 1 685 52
  3487. 2573 02de 244B ldr r3, .L109+16
  3488. 2574 02e0 9B7B ldrb r3, [r3, #14] @ zero_extendqisi2
  3489. 2575 02e2 9BB2 uxth r3, r3
  3490. 685:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data.engine_brand, 3);
  3491. 2576 .loc 1 685 69
  3492. 2577 02e4 283B subs r3, r3, #40
  3493. 2578 02e6 9AB2 uxth r2, r3
  3494. 685:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data.engine_brand, 3);
  3495. 2579 .loc 1 685 40
  3496. 2580 02e8 1F4B ldr r3, .L109+8
  3497. 2581 02ea A3F81920 strh r2, [r3, #25] @ unaligned
  3498. 686:user_src/soft_engine.c **** memcpy(&engine_data.engine_brand[3],"-", 1);
  3499. 2582 .loc 1 686 13
  3500. 2583 02ee 1E4B ldr r3, .L109+8
  3501. 2584 02f0 1F4A ldr r2, .L109+16
  3502. 2585 02f2 1B33 adds r3, r3, #27
  3503. 2586 02f4 0132 adds r2, r2, #1
  3504. 2587 02f6 1188 ldrh r1, [r2] @ unaligned
  3505. 2588 02f8 9278 ldrb r2, [r2, #2]
  3506. 2589 02fa 1980 strh r1, [r3] @ unaligned
  3507. 2590 02fc 9A70 strb r2, [r3, #2]
  3508. 687:user_src/soft_engine.c **** snprintf((char *)&engine_data.engine_brand[4],4,"%d",(int)geely_data.engine_ver);
  3509. 2591 .loc 1 687 13
  3510. 2592 02fe 1A4B ldr r3, .L109+8
  3511. 2593 0300 2D22 movs r2, #45
  3512. 2594 0302 9A77 strb r2, [r3, #30]
  3513. 688:user_src/soft_engine.c **** engine_data.engine_sn = geely_data.engine_sn[0] * 10000000 + geely_data.engine_sn[1] *
  3514. 2595 .loc 1 688 81
  3515. 2596 0304 1A4B ldr r3, .L109+16
  3516. 2597 0306 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3517. 688:user_src/soft_engine.c **** engine_data.engine_sn = geely_data.engine_sn[0] * 10000000 + geely_data.engine_sn[1] *
  3518. 2598 .loc 1 688 13
  3519. 2599 0308 1B4A ldr r2, .L109+24
  3520. 2600 030a 0421 movs r1, #4
  3521. 2601 030c 1B48 ldr r0, .L109+28
  3522. 2602 030e FFF7FEFF bl snprintf
  3523. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3524. 2603 .loc 1 689 57
  3525. 2604 0312 174B ldr r3, .L109+16
  3526. 2605 0314 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  3527. 2606 0316 1A46 mov r2, r3
  3528. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3529. 2607 .loc 1 689 61
  3530. 2608 0318 194B ldr r3, .L109+32
  3531. 2609 031a 03FB02F2 mul r2, r3, r2
  3532. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3533. 2610 .loc 1 689 94
  3534. 2611 031e 144B ldr r3, .L109+16
  3535. 2612 0320 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  3536. 2613 0322 1946 mov r1, r3
  3537. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3538. 2614 .loc 1 689 98
  3539. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 62
  3540. 2615 0324 174B ldr r3, .L109+36
  3541. 2616 0326 01FB03F3 mul r3, r1, r3
  3542. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3543. 2617 .loc 1 689 72
  3544. 2618 032a 1A44 add r2, r2, r3
  3545. 690:user_src/soft_engine.c **** engine_data.engine_lockstatus = geely_data.engine_control;
  3546. 2619 .loc 1 690 57
  3547. 2620 032c 104B ldr r3, .L109+16
  3548. 2621 032e 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  3549. 2622 0330 1946 mov r1, r3
  3550. 690:user_src/soft_engine.c **** engine_data.engine_lockstatus = geely_data.engine_control;
  3551. 2623 .loc 1 690 61
  3552. 2624 0332 4FF47A73 mov r3, #1000
  3553. 2625 0336 01FB03F3 mul r3, r1, r3
  3554. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3555. 2626 .loc 1 689 107
  3556. 2627 033a 1344 add r3, r3, r2
  3557. 690:user_src/soft_engine.c **** engine_data.engine_lockstatus = geely_data.engine_control;
  3558. 2628 .loc 1 690 90
  3559. 2629 033c 0C4A ldr r2, .L109+16
  3560. 2630 033e D279 ldrb r2, [r2, #7] @ zero_extendqisi2
  3561. 690:user_src/soft_engine.c **** engine_data.engine_lockstatus = geely_data.engine_control;
  3562. 2631 .loc 1 690 68
  3563. 2632 0340 1344 add r3, r3, r2
  3564. 2633 0342 1A46 mov r2, r3
  3565. 689:user_src/soft_engine.c **** geely_data.engine_sn[2] * 1000 + geely_data.engine_sn[3];
  3566. 2634 .loc 1 689 35
  3567. 2635 0344 084B ldr r3, .L109+8
  3568. 2636 0346 C3F82320 str r2, [r3, #35] @ unaligned
  3569. 691:user_src/soft_engine.c **** engine_data.engine_fault = geely_data.engine_fault;
  3570. 2637 .loc 1 691 55
  3571. 2638 034a 094B ldr r3, .L109+16
  3572. 2639 034c 1A7E ldrb r2, [r3, #24] @ zero_extendqisi2
  3573. 691:user_src/soft_engine.c **** engine_data.engine_fault = geely_data.engine_fault;
  3574. 2640 .loc 1 691 43
  3575. 2641 034e 064B ldr r3, .L109+8
  3576. 2642 0350 83F82720 strb r2, [r3, #39]
  3577. 692:user_src/soft_engine.c **** }
  3578. 2643 .loc 1 692 50
  3579. 2644 0354 064B ldr r3, .L109+16
  3580. 2645 0356 DA7D ldrb r2, [r3, #23] @ zero_extendqisi2
  3581. 692:user_src/soft_engine.c **** }
  3582. 2646 .loc 1 692 38
  3583. 2647 0358 034B ldr r3, .L109+8
  3584. 2648 035a 83F82820 strb r2, [r3, #40]
  3585. 2649 .loc 1 734 1
  3586. 2650 035e 05E1 b .L106
  3587. 2651 .L110:
  3588. 2652 .align 2
  3589. 2653 .L109:
  3590. 2654 0360 00000000 .word geely_engin_link
  3591. 2655 0364 00000000 .word engine_link_status
  3592. 2656 0368 00000000 .word engine_data
  3593. 2657 036c 00000000 .word geely_data2
  3594. 2658 0370 00000000 .word geely_data
  3595. 2659 0374 CDCCCC3D .word 1036831949
  3596. 2660 0378 08000000 .word .LC1
  3597. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 63
  3598. 2661 037c 1F000000 .word engine_data+31
  3599. 2662 0380 80969800 .word 10000000
  3600. 2663 0384 A0860100 .word 100000
  3601. 2664 .L104:
  3602. 696:user_src/soft_engine.c **** {
  3603. 2665 .loc 1 696 40
  3604. 2666 0388 7A4B ldr r3, .L111
  3605. 2667 038a 9B78 ldrb r3, [r3, #2] @ zero_extendqisi2
  3606. 696:user_src/soft_engine.c **** {
  3607. 2668 .loc 1 696 15
  3608. 2669 038c 422B cmp r3, #66
  3609. 2670 038e 0AD1 bne .L105
  3610. 696:user_src/soft_engine.c **** {
  3611. 2671 .loc 1 696 78 discriminator 1
  3612. 2672 0390 784B ldr r3, .L111
  3613. 2673 0392 DB78 ldrb r3, [r3, #3] @ zero_extendqisi2
  3614. 696:user_src/soft_engine.c **** {
  3615. 2674 .loc 1 696 51 discriminator 1
  3616. 2675 0394 522B cmp r3, #82
  3617. 2676 0396 06D1 bne .L105
  3618. 696:user_src/soft_engine.c **** {
  3619. 2677 .loc 1 696 115 discriminator 2
  3620. 2678 0398 764B ldr r3, .L111
  3621. 2679 039a 1B79 ldrb r3, [r3, #4] @ zero_extendqisi2
  3622. 696:user_src/soft_engine.c **** {
  3623. 2680 .loc 1 696 88 discriminator 2
  3624. 2681 039c 4F2B cmp r3, #79
  3625. 2682 039e 02D1 bne .L105
  3626. 698:user_src/soft_engine.c **** }
  3627. 2683 .loc 1 698 41
  3628. 2684 03a0 754B ldr r3, .L111+4
  3629. 2685 03a2 0522 movs r2, #5
  3630. 2686 03a4 1A70 strb r2, [r3]
  3631. 2687 .L105:
  3632. 700:user_src/soft_engine.c **** engine_data.engine_thr = geely_data2.Bit1EA.engine_ATP1 * 0.05f;
  3633. 2688 .loc 1 700 49
  3634. 2689 03a6 734B ldr r3, .L111
  3635. 2690 03a8 B3F81F30 ldrh r3, [r3, #31] @ unaligned
  3636. 2691 03ac 9AB2 uxth r2, r3
  3637. 700:user_src/soft_engine.c **** engine_data.engine_thr = geely_data2.Bit1EA.engine_ATP1 * 0.05f;
  3638. 2692 .loc 1 700 36
  3639. 2693 03ae 724B ldr r3, .L111+4
  3640. 2694 03b0 A3F80120 strh r2, [r3, #1] @ unaligned
  3641. 701:user_src/soft_engine.c **** engine_data.engine_vol = geely_data2.engine_vol * 0.1f;
  3642. 2695 .loc 1 701 56
  3643. 2696 03b4 6F4B ldr r3, .L111
  3644. 2697 03b6 1B8D ldrh r3, [r3, #40] @ movhi
  3645. 2698 03b8 C3F30B13 ubfx r3, r3, #4, #12
  3646. 2699 03bc 9BB2 uxth r3, r3
  3647. 2700 03be 07EE903A vmov s15, r3 @ int
  3648. 701:user_src/soft_engine.c **** engine_data.engine_vol = geely_data2.engine_vol * 0.1f;
  3649. 2701 .loc 1 701 69
  3650. 2702 03c2 F8EEE77A vcvt.f32.s32 s15, s15
  3651. 2703 03c6 9FED6D7A vldr.32 s14, .L111+8
  3652. 2704 03ca 67EE877A vmul.f32 s15, s15, s14
  3653. 701:user_src/soft_engine.c **** engine_data.engine_vol = geely_data2.engine_vol * 0.1f;
  3654. 2705 .loc 1 701 36
  3655. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 64
  3656. 2706 03ce FCEEE77A vcvt.u32.f32 s15, s15
  3657. 2707 03d2 17EE903A vmov r3, s15 @ int
  3658. 2708 03d6 9AB2 uxth r2, r3
  3659. 2709 03d8 674B ldr r3, .L111+4
  3660. 2710 03da A3F80320 strh r2, [r3, #3] @ unaligned
  3661. 702:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data2.engine_elect * 0.05f - 400) * 10;
  3662. 2711 .loc 1 702 49
  3663. 2712 03de 654B ldr r3, .L111
  3664. 2713 03e0 B3F82130 ldrh r3, [r3, #33] @ unaligned
  3665. 2714 03e4 9BB2 uxth r3, r3
  3666. 2715 03e6 07EE903A vmov s15, r3 @ int
  3667. 702:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data2.engine_elect * 0.05f - 400) * 10;
  3668. 2716 .loc 1 702 61
  3669. 2717 03ea F8EEE77A vcvt.f32.s32 s15, s15
  3670. 2718 03ee 9FED647A vldr.32 s14, .L111+12
  3671. 2719 03f2 67EE877A vmul.f32 s15, s15, s14
  3672. 702:user_src/soft_engine.c **** engine_data.engine_elect = (short)(geely_data2.engine_elect * 0.05f - 400) * 10;
  3673. 2720 .loc 1 702 36
  3674. 2721 03f6 FCEEE77A vcvt.u32.f32 s15, s15
  3675. 2722 03fa 17EE903A vmov r3, s15 @ int
  3676. 2723 03fe 9AB2 uxth r2, r3
  3677. 2724 0400 5D4B ldr r3, .L111+4
  3678. 2725 0402 A3F80520 strh r2, [r3, #5] @ unaligned
  3679. 703:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3680. 2726 .loc 1 703 59
  3681. 2727 0406 5B4B ldr r3, .L111
  3682. 2728 0408 B3F92330 ldrsh r3, [r3, #35] @ unaligned
  3683. 2729 040c 1BB2 sxth r3, r3
  3684. 703:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3685. 2730 .loc 1 703 73
  3686. 2731 040e 07EE903A vmov s15, r3 @ int
  3687. 2732 0412 F8EEE77A vcvt.f32.s32 s15, s15
  3688. 2733 0416 9FED597A vldr.32 s14, .L111+8
  3689. 2734 041a 67EE877A vmul.f32 s15, s15, s14
  3690. 703:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3691. 2735 .loc 1 703 81
  3692. 2736 041e 9FED597A vldr.32 s14, .L111+16
  3693. 2737 0422 77EEC77A vsub.f32 s15, s15, s14
  3694. 703:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3695. 2738 .loc 1 703 40
  3696. 2739 0426 FDEEE77A vcvt.s32.f32 s15, s15
  3697. 2740 042a 17EE903A vmov r3, s15 @ int
  3698. 2741 042e 1BB2 sxth r3, r3
  3699. 2742 0430 9BB2 uxth r3, r3
  3700. 703:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3701. 2743 .loc 1 703 88
  3702. 2744 0432 1A46 mov r2, r3 @ movhi
  3703. 2745 0434 9200 lsls r2, r2, #2
  3704. 2746 0436 1344 add r3, r3, r2
  3705. 2747 0438 5B00 lsls r3, r3, #1
  3706. 2748 043a 9BB2 uxth r3, r3
  3707. 2749 043c 1AB2 sxth r2, r3
  3708. 703:user_src/soft_engine.c **** engine_data.engine_rtime = geely_data2.engine_runtime;
  3709. 2750 .loc 1 703 38
  3710. 2751 043e 4E4B ldr r3, .L111+4
  3711. 2752 0440 A3F80720 strh r2, [r3, #7] @ unaligned
  3712. 704:user_src/soft_engine.c **** engine_data.engine_tcd = geely_data2.engine_tcd;
  3713. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 65
  3714. 2753 .loc 1 704 51
  3715. 2754 0444 4B4B ldr r3, .L111
  3716. 2755 0446 D3F80930 ldr r3, [r3, #9] @ unaligned
  3717. 704:user_src/soft_engine.c **** engine_data.engine_tcd = geely_data2.engine_tcd;
  3718. 2756 .loc 1 704 38
  3719. 2757 044a 4B4A ldr r2, .L111+4
  3720. 2758 044c C2F80930 str r3, [r2, #9] @ unaligned
  3721. 705:user_src/soft_engine.c **** engine_data.engine_lcd = geely_data2.engine_tlock;
  3722. 2759 .loc 1 705 49
  3723. 2760 0450 484B ldr r3, .L111
  3724. 2761 0452 B3F80D30 ldrh r3, [r3, #13] @ unaligned
  3725. 2762 0456 9AB2 uxth r2, r3
  3726. 705:user_src/soft_engine.c **** engine_data.engine_lcd = geely_data2.engine_tlock;
  3727. 2763 .loc 1 705 36
  3728. 2764 0458 474B ldr r3, .L111+4
  3729. 2765 045a A3F80D20 strh r2, [r3, #13] @ unaligned
  3730. 706:user_src/soft_engine.c **** engine_data.engine_rsta = geely_data2.engine_state;
  3731. 2766 .loc 1 706 49
  3732. 2767 045e 454B ldr r3, .L111
  3733. 2768 0460 B3F80F30 ldrh r3, [r3, #15] @ unaligned
  3734. 2769 0464 9AB2 uxth r2, r3
  3735. 706:user_src/soft_engine.c **** engine_data.engine_rsta = geely_data2.engine_state;
  3736. 2770 .loc 1 706 36
  3737. 2771 0466 444B ldr r3, .L111+4
  3738. 2772 0468 A3F80F20 strh r2, [r3, #15] @ unaligned
  3739. 707:user_src/soft_engine.c **** engine_data.engine_warn = geely_data2.EmgST0;
  3740. 2773 .loc 1 707 50
  3741. 2774 046c 414B ldr r3, .L111
  3742. 2775 046e DB7E ldrb r3, [r3, #27]
  3743. 2776 0470 C3F38113 ubfx r3, r3, #6, #2
  3744. 2777 0474 DBB2 uxtb r3, r3
  3745. 2778 0476 1A46 mov r2, r3
  3746. 707:user_src/soft_engine.c **** engine_data.engine_warn = geely_data2.EmgST0;
  3747. 2779 .loc 1 707 37
  3748. 2780 0478 3F4B ldr r3, .L111+4
  3749. 2781 047a 5A74 strb r2, [r3, #17]
  3750. 708:user_src/soft_engine.c **** engine_data.engine_roil = geely_data2.GPS * 0.5f;
  3751. 2782 .loc 1 708 50
  3752. 2783 047c 3D4B ldr r3, .L111
  3753. 2784 047e B3F83930 ldrh r3, [r3, #57] @ unaligned
  3754. 2785 0482 9AB2 uxth r2, r3
  3755. 708:user_src/soft_engine.c **** engine_data.engine_roil = geely_data2.GPS * 0.5f;
  3756. 2786 .loc 1 708 37
  3757. 2787 0484 3C4B ldr r3, .L111+4
  3758. 2788 0486 5A82 strh r2, [r3, #18] @ movhi
  3759. 709:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data2.engine_cooltemp - 40;
  3760. 2789 .loc 1 709 50
  3761. 2790 0488 3A4B ldr r3, .L111
  3762. 2791 048a 93F83330 ldrb r3, [r3, #51] @ zero_extendqisi2
  3763. 2792 048e 07EE903A vmov s15, r3 @ int
  3764. 709:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data2.engine_cooltemp - 40;
  3765. 2793 .loc 1 709 55
  3766. 2794 0492 F8EEE77A vcvt.f32.s32 s15, s15
  3767. 2795 0496 B6EE007A vmov.f32 s14, #5.0e-1
  3768. 2796 049a 67EE877A vmul.f32 s15, s15, s14
  3769. 709:user_src/soft_engine.c **** engine_data.engine_cyl1temp = geely_data2.engine_cooltemp - 40;
  3770. 2797 .loc 1 709 37
  3771. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 66
  3772. 2798 049e FCEEE77A vcvt.u32.f32 s15, s15
  3773. 2799 04a2 C7ED017A vstr.32 s15, [r7, #4] @ int
  3774. 2800 04a6 3B79 ldrb r3, [r7, #4]
  3775. 2801 04a8 DAB2 uxtb r2, r3
  3776. 2802 04aa 334B ldr r3, .L111+4
  3777. 2803 04ac 1A75 strb r2, [r3, #20]
  3778. 710:user_src/soft_engine.c **** engine_data.engine_cyl2temp = geely_data2. engine_cooltemp1 - 40;
  3779. 2804 .loc 1 710 54
  3780. 2805 04ae 314B ldr r3, .L111
  3781. 2806 04b0 1B7F ldrb r3, [r3, #28] @ zero_extendqisi2
  3782. 2807 04b2 9BB2 uxth r3, r3
  3783. 710:user_src/soft_engine.c **** engine_data.engine_cyl2temp = geely_data2. engine_cooltemp1 - 40;
  3784. 2808 .loc 1 710 71
  3785. 2809 04b4 283B subs r3, r3, #40
  3786. 2810 04b6 9AB2 uxth r2, r3
  3787. 710:user_src/soft_engine.c **** engine_data.engine_cyl2temp = geely_data2. engine_cooltemp1 - 40;
  3788. 2811 .loc 1 710 41
  3789. 2812 04b8 2F4B ldr r3, .L111+4
  3790. 2813 04ba A3F81520 strh r2, [r3, #21] @ unaligned
  3791. 711:user_src/soft_engine.c **** engine_data.engine_pcbtemp = geely_data2.engine_GWT - 40;
  3792. 2814 .loc 1 711 54
  3793. 2815 04be 2D4B ldr r3, .L111
  3794. 2816 04c0 5B7F ldrb r3, [r3, #29] @ zero_extendqisi2
  3795. 2817 04c2 9BB2 uxth r3, r3
  3796. 711:user_src/soft_engine.c **** engine_data.engine_pcbtemp = geely_data2.engine_GWT - 40;
  3797. 2818 .loc 1 711 73
  3798. 2819 04c4 283B subs r3, r3, #40
  3799. 2820 04c6 9AB2 uxth r2, r3
  3800. 711:user_src/soft_engine.c **** engine_data.engine_pcbtemp = geely_data2.engine_GWT - 40;
  3801. 2821 .loc 1 711 41
  3802. 2822 04c8 2B4B ldr r3, .L111+4
  3803. 2823 04ca A3F81720 strh r2, [r3, #23] @ unaligned
  3804. 712:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data2.engine_brand, 3);
  3805. 2824 .loc 1 712 53
  3806. 2825 04ce 294B ldr r3, .L111
  3807. 2826 04d0 9B7F ldrb r3, [r3, #30] @ zero_extendqisi2
  3808. 2827 04d2 9BB2 uxth r3, r3
  3809. 712:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data2.engine_brand, 3);
  3810. 2828 .loc 1 712 65
  3811. 2829 04d4 283B subs r3, r3, #40
  3812. 2830 04d6 9AB2 uxth r2, r3
  3813. 712:user_src/soft_engine.c **** memcpy(engine_data.engine_brand, geely_data2.engine_brand, 3);
  3814. 2831 .loc 1 712 40
  3815. 2832 04d8 274B ldr r3, .L111+4
  3816. 2833 04da A3F81920 strh r2, [r3, #25] @ unaligned
  3817. 713:user_src/soft_engine.c **** memcpy(&engine_data.engine_brand[3],"-", 1);
  3818. 2834 .loc 1 713 13
  3819. 2835 04de 264B ldr r3, .L111+4
  3820. 2836 04e0 244A ldr r2, .L111
  3821. 2837 04e2 1B33 adds r3, r3, #27
  3822. 2838 04e4 0232 adds r2, r2, #2
  3823. 2839 04e6 1188 ldrh r1, [r2] @ unaligned
  3824. 2840 04e8 9278 ldrb r2, [r2, #2]
  3825. 2841 04ea 1980 strh r1, [r3] @ unaligned
  3826. 2842 04ec 9A70 strb r2, [r3, #2]
  3827. 714:user_src/soft_engine.c **** snprintf((char *)&engine_data.engine_brand[4],4,"%d",(int)geely_data2.engine_ver);
  3828. 2843 .loc 1 714 13
  3829. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 67
  3830. 2844 04ee 224B ldr r3, .L111+4
  3831. 2845 04f0 2D22 movs r2, #45
  3832. 2846 04f2 9A77 strb r2, [r3, #30]
  3833. 715:user_src/soft_engine.c **** engine_data.engine_sn = geely_data2.engine_sn[0] * 10000000 + geely_data2.engine_sn[1]
  3834. 2847 .loc 1 715 82
  3835. 2848 04f4 1F4B ldr r3, .L111
  3836. 2849 04f6 5B78 ldrb r3, [r3, #1] @ zero_extendqisi2
  3837. 715:user_src/soft_engine.c **** engine_data.engine_sn = geely_data2.engine_sn[0] * 10000000 + geely_data2.engine_sn[1]
  3838. 2850 .loc 1 715 13
  3839. 2851 04f8 234A ldr r2, .L111+20
  3840. 2852 04fa 0421 movs r1, #4
  3841. 2853 04fc 2348 ldr r0, .L111+24
  3842. 2854 04fe FFF7FEFF bl snprintf
  3843. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3844. 2855 .loc 1 716 58
  3845. 2856 0502 1C4B ldr r3, .L111
  3846. 2857 0504 5B79 ldrb r3, [r3, #5] @ zero_extendqisi2
  3847. 2858 0506 1A46 mov r2, r3
  3848. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3849. 2859 .loc 1 716 62
  3850. 2860 0508 214B ldr r3, .L111+28
  3851. 2861 050a 03FB02F2 mul r2, r3, r2
  3852. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3853. 2862 .loc 1 716 96
  3854. 2863 050e 194B ldr r3, .L111
  3855. 2864 0510 9B79 ldrb r3, [r3, #6] @ zero_extendqisi2
  3856. 2865 0512 1946 mov r1, r3
  3857. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3858. 2866 .loc 1 716 100
  3859. 2867 0514 1F4B ldr r3, .L111+32
  3860. 2868 0516 01FB03F3 mul r3, r1, r3
  3861. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3862. 2869 .loc 1 716 73
  3863. 2870 051a 1A44 add r2, r2, r3
  3864. 717:user_src/soft_engine.c **** //engine_data.engine_lockstatus = geely_data2.engine_state == 0? 0 : 1;
  3865. 2871 .loc 1 717 58
  3866. 2872 051c 154B ldr r3, .L111
  3867. 2873 051e DB79 ldrb r3, [r3, #7] @ zero_extendqisi2
  3868. 2874 0520 1946 mov r1, r3
  3869. 717:user_src/soft_engine.c **** //engine_data.engine_lockstatus = geely_data2.engine_state == 0? 0 : 1;
  3870. 2875 .loc 1 717 62
  3871. 2876 0522 4FF47A73 mov r3, #1000
  3872. 2877 0526 01FB03F3 mul r3, r1, r3
  3873. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3874. 2878 .loc 1 716 109
  3875. 2879 052a 1344 add r3, r3, r2
  3876. 717:user_src/soft_engine.c **** //engine_data.engine_lockstatus = geely_data2.engine_state == 0? 0 : 1;
  3877. 2880 .loc 1 717 92
  3878. 2881 052c 114A ldr r2, .L111
  3879. 2882 052e 127A ldrb r2, [r2, #8] @ zero_extendqisi2
  3880. 717:user_src/soft_engine.c **** //engine_data.engine_lockstatus = geely_data2.engine_state == 0? 0 : 1;
  3881. 2883 .loc 1 717 69
  3882. 2884 0530 1344 add r3, r3, r2
  3883. 2885 0532 1A46 mov r2, r3
  3884. 716:user_src/soft_engine.c **** geely_data2.engine_sn[2] * 1000 + geely_data2.engine_sn[3];
  3885. 2886 .loc 1 716 35
  3886. 2887 0534 104B ldr r3, .L111+4
  3887. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 68
  3888. 2888 0536 C3F82320 str r2, [r3, #35] @ unaligned
  3889. 719:user_src/soft_engine.c **** //engine_data.engine_fault = geely_data2.engine_fault;
  3890. 2889 .loc 1 719 56
  3891. 2890 053a 0E4B ldr r3, .L111
  3892. 2891 053c DB7E ldrb r3, [r3, #27]
  3893. 2892 053e C3F30113 ubfx r3, r3, #4, #2
  3894. 2893 0542 DBB2 uxtb r3, r3
  3895. 2894 0544 1A46 mov r2, r3
  3896. 719:user_src/soft_engine.c **** //engine_data.engine_fault = geely_data2.engine_fault;
  3897. 2895 .loc 1 719 43
  3898. 2896 0546 0C4B ldr r3, .L111+4
  3899. 2897 0548 83F82720 strb r2, [r3, #39]
  3900. 2898 .loc 1 734 1
  3901. 2899 054c 0EE0 b .L106
  3902. 2900 .L103:
  3903. 725:user_src/soft_engine.c **** {
  3904. 2901 .loc 1 725 32
  3905. 2902 054e 124B ldr r3, .L111+36
  3906. 2903 0550 1B78 ldrb r3, [r3] @ zero_extendqisi2
  3907. 725:user_src/soft_engine.c **** {
  3908. 2904 .loc 1 725 12
  3909. 2905 0552 012B cmp r3, #1
  3910. 2906 0554 0AD1 bne .L106
  3911. 727:user_src/soft_engine.c ****
  3912. 2907 .loc 1 727 32
  3913. 2908 0556 104B ldr r3, .L111+36
  3914. 2909 0558 0222 movs r2, #2
  3915. 2910 055a 1A70 strb r2, [r3]
  3916. 729:user_src/soft_engine.c **** //状�未置异常
  3917. 2911 .loc 1 729 13
  3918. 2912 055c 2922 movs r2, #41
  3919. 2913 055e 0021 movs r1, #0
  3920. 2914 0560 0548 ldr r0, .L111+4
  3921. 2915 0562 FFF7FEFF bl memset
  3922. 731:user_src/soft_engine.c **** }
  3923. 2916 .loc 1 731 37
  3924. 2917 0566 044B ldr r3, .L111+4
  3925. 2918 0568 FF22 movs r2, #255
  3926. 2919 056a 1A70 strb r2, [r3]
  3927. 2920 .L106:
  3928. 2921 .loc 1 734 1
  3929. 2922 056c 00BF nop
  3930. 2923 056e 0837 adds r7, r7, #8
  3931. 2924 .LCFI38:
  3932. 2925 .cfi_def_cfa_offset 8
  3933. 2926 0570 BD46 mov sp, r7
  3934. 2927 .LCFI39:
  3935. 2928 .cfi_def_cfa_register 13
  3936. 2929 @ sp needed
  3937. 2930 0572 80BD pop {r7, pc}
  3938. 2931 .L112:
  3939. 2932 .align 2
  3940. 2933 .L111:
  3941. 2934 0574 00000000 .word geely_data2
  3942. 2935 0578 00000000 .word engine_data
  3943. 2936 057c CDCC4C3D .word 1028443341
  3944. 2937 0580 CDCCCC3D .word 1036831949
  3945. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 69
  3946. 2938 0584 0000C843 .word 1137180672
  3947. 2939 0588 08000000 .word .LC1
  3948. 2940 058c 1F000000 .word engine_data+31
  3949. 2941 0590 80969800 .word 10000000
  3950. 2942 0594 A0860100 .word 100000
  3951. 2943 0598 00000000 .word engine_link_status
  3952. 2944 .cfi_endproc
  3953. 2945 .LFE140:
  3954. 2947 .section .text.engine_function,"ax",%progbits
  3955. 2948 .align 1
  3956. 2949 .global engine_function
  3957. 2950 .syntax unified
  3958. 2951 .thumb
  3959. 2952 .thumb_func
  3960. 2954 engine_function:
  3961. 2955 .LFB141:
  3962. 735:user_src/soft_engine.c ****
  3963. 736:user_src/soft_engine.c ****
  3964. 737:user_src/soft_engine.c **** /******************void engine_function(void)********************
  3965. 738:user_src/soft_engine.c **** * ****************�动机检测函数*********************************
  3966. 739:user_src/soft_engine.c **** * **************************************************************/
  3967. 740:user_src/soft_engine.c **** void engine_function(void)
  3968. 741:user_src/soft_engine.c **** {
  3969. 2956 .loc 1 741 1
  3970. 2957 .cfi_startproc
  3971. 2958 @ args = 0, pretend = 0, frame = 0
  3972. 2959 @ frame_needed = 1, uses_anonymous_args = 0
  3973. 2960 0000 80B5 push {r7, lr}
  3974. 2961 .LCFI40:
  3975. 2962 .cfi_def_cfa_offset 8
  3976. 2963 .cfi_offset 7, -8
  3977. 2964 .cfi_offset 14, -4
  3978. 2965 0002 00AF add r7, sp, #0
  3979. 2966 .LCFI41:
  3980. 2967 .cfi_def_cfa_register 7
  3981. 742:user_src/soft_engine.c **** static uint32_t engine_time = 0;
  3982. 743:user_src/soft_engine.c ****
  3983. 744:user_src/soft_engine.c **** if(Check_Timer_Ready(&engine_time,_10_HZ_))
  3984. 2968 .loc 1 744 8
  3985. 2969 0004 6421 movs r1, #100
  3986. 2970 0006 0748 ldr r0, .L115
  3987. 2971 0008 FFF7FEFF bl Check_Timer_Ready
  3988. 2972 000c 0346 mov r3, r0
  3989. 2973 .loc 1 744 7
  3990. 2974 000e 002B cmp r3, #0
  3991. 2975 0010 03D0 beq .L114
  3992. 745:user_src/soft_engine.c **** {
  3993. 746:user_src/soft_engine.c **** update_engine_data();
  3994. 2976 .loc 1 746 3
  3995. 2977 0012 FFF7FEFF bl update_engine_data
  3996. 747:user_src/soft_engine.c ****
  3997. 748:user_src/soft_engine.c **** //��飞控状�给�动机
  3998. 749:user_src/soft_engine.c **** send_msg_to_vk3();
  3999. 2978 .loc 1 749 9
  4000. 2979 0016 FFF7FEFF bl send_msg_to_vk3
  4001. 2980 .L114:
  4002. 750:user_src/soft_engine.c **** }
  4003. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 70
  4004. 751:user_src/soft_engine.c ****
  4005. 752:user_src/soft_engine.c **** //给�利�动机��信�
  4006. 753:user_src/soft_engine.c **** send_msg_to_geely();
  4007. 2981 .loc 1 753 5
  4008. 2982 001a FFF7FEFF bl send_msg_to_geely
  4009. 754:user_src/soft_engine.c **** }
  4010. 2983 .loc 1 754 1
  4011. 2984 001e 00BF nop
  4012. 2985 0020 80BD pop {r7, pc}
  4013. 2986 .L116:
  4014. 2987 0022 00BF .align 2
  4015. 2988 .L115:
  4016. 2989 0024 00000000 .word engine_time.0
  4017. 2990 .cfi_endproc
  4018. 2991 .LFE141:
  4019. 2993 .section .bss.engine_sn1.4,"aw",%nobits
  4020. 2994 .align 2
  4021. 2997 engine_sn1.4:
  4022. 2998 0000 00000000 .space 4
  4023. 2999 .section .data.geely_init_count.3,"aw"
  4024. 3002 geely_init_count.3:
  4025. 3003 0000 0F .byte 15
  4026. 3004 .section .bss.sendto_bro_lasttime.2,"aw",%nobits
  4027. 3005 .align 2
  4028. 3008 sendto_bro_lasttime.2:
  4029. 3009 0000 00000000 .space 4
  4030. 3010 .section .bss.sendto_geely_lasttime.1,"aw",%nobits
  4031. 3011 .align 2
  4032. 3014 sendto_geely_lasttime.1:
  4033. 3015 0000 00000000 .space 4
  4034. 3016 .section .bss.engine_time.0,"aw",%nobits
  4035. 3017 .align 2
  4036. 3020 engine_time.0:
  4037. 3021 0000 00000000 .space 4
  4038. 3022 .text
  4039. 3023 .Letext0:
  4040. 3024 .file 2 "d:\\arm-gcc\\arm-none-eabi\\include\\machine\\_default_types.h"
  4041. 3025 .file 3 "d:\\arm-gcc\\arm-none-eabi\\include\\sys\\_stdint.h"
  4042. 3026 .file 4 "user_inc/common.h"
  4043. 3027 .file 5 "user_inc/soft_engine.h"
  4044. 3028 .file 6 "user_inc/soft_p_2_c.h"
  4045. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 71
  4046. DEFINED SYMBOLS
  4047. *ABS*:00000000 soft_engine.c
  4048. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:24 .bss.engine_data:00000000 engine_data
  4049. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:21 .bss.engine_data:00000000 $d
  4050. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:31 .data.aoan_data:00000000 aoan_data
  4051. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:28 .data.aoan_data:00000000 $d
  4052. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:41 .bss.aoan_engine_Link:00000000 aoan_engine_Link
  4053. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:38 .bss.aoan_engine_Link:00000000 $d
  4054. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:44 .text.decode_aoan_engine:00000000 $t
  4055. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:50 .text.decode_aoan_engine:00000000 decode_aoan_engine
  4056. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:156 .text.decode_aoan_engine:00000080 $d
  4057. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:166 .data.vkv3_data:00000000 vkv3_data
  4058. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:163 .data.vkv3_data:00000000 $d
  4059. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:176 .bss.vkv3_engine_link:00000000 vkv3_engine_link
  4060. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:173 .bss.vkv3_engine_link:00000000 $d
  4061. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:179 .text.decode_vkv3_engine:00000000 $t
  4062. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:185 .text.decode_vkv3_engine:00000000 decode_vkv3_engine
  4063. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:348 .text.decode_vkv3_engine:000000c8 $d
  4064. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2997 .bss.engine_sn1.4:00000000 engine_sn1.4
  4065. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:358 .bss.geely_set_tcd:00000000 geely_set_tcd
  4066. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:359 .bss.geely_set_tcd:00000000 $d
  4067. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:364 .bss.geely_set_tcd_re:00000000 geely_set_tcd_re
  4068. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:365 .bss.geely_set_tcd_re:00000000 $d
  4069. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:370 .bss.geely_set_tlock:00000000 geely_set_tlock
  4070. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:371 .bss.geely_set_tlock:00000000 $d
  4071. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:376 .bss.geely_set_tlock_re:00000000 geely_set_tlock_re
  4072. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:377 .bss.geely_set_tlock_re:00000000 $d
  4073. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:382 .bss.geely_set_protect:00000000 geely_set_protect
  4074. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:383 .bss.geely_set_protect:00000000 $d
  4075. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:388 .bss.geely_send_BJtime:00000000 geely_send_BJtime
  4076. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:389 .bss.geely_send_BJtime:00000000 $d
  4077. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:394 .bss.geely_get_version:00000000 geely_get_version
  4078. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:395 .bss.geely_get_version:00000000 $d
  4079. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:400 .bss.geely_get_time:00000000 geely_get_time
  4080. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:401 .bss.geely_get_time:00000000 $d
  4081. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:407 .bss.geely_data2:00000000 geely_data2
  4082. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:404 .bss.geely_data2:00000000 $d
  4083. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:414 .bss.geely_data:00000000 geely_data
  4084. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:411 .bss.geely_data:00000000 $d
  4085. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:421 .bss.geely_moni:00000000 geely_moni
  4086. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:418 .bss.geely_moni:00000000 $d
  4087. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:428 .bss.geely_engin_link:00000000 geely_engin_link
  4088. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:425 .bss.geely_engin_link:00000000 $d
  4089. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:435 .bss.geely_version2_count:00000000 geely_version2_count
  4090. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:432 .bss.geely_version2_count:00000000 $d
  4091. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:438 .text.EngGeelyCanRecvHookFunction:00000000 $t
  4092. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:444 .text.EngGeelyCanRecvHookFunction:00000000 EngGeelyCanRecvHookFunction
  4093. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:781 .text.EngGeelyCanRecvHookFunction:0000020c $d
  4094. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:795 .text.EngGeelyCanRecvHookFunction:00000244 $t
  4095. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:872 .text.EngGeelyCanRecvHookFunction:000002b4 $d
  4096. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:972 .bss.geely_set_counts:00000000 geely_set_counts
  4097. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:985 .data.geely_count:00000000 geely_count
  4098. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:896 .text.EngGeelyCanRecvHookFunction:0000030c $t
  4099. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:958 .text.EngGeelyCanRecvHookFunction:00000360 $d
  4100. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:969 .bss.geely_set_counts:00000000 $d
  4101. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:979 .bss.geely_sendinfo2:00000000 geely_sendinfo2
  4102. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:976 .bss.geely_sendinfo2:00000000 $d
  4103. ARM GAS C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s page 72
  4104. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:991 .bss.start_engine:00000000 start_engine
  4105. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:992 .bss.start_engine:00000000 $d
  4106. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:994 .text.Geely_version2_init:00000000 $t
  4107. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1000 .text.Geely_version2_init:00000000 Geely_version2_init
  4108. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1125 .text.Geely_version2_init:000000b0 $d
  4109. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3002 .data.geely_init_count.3:00000000 geely_init_count.3
  4110. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1133 .text.Geely_version2_send_info:00000000 $t
  4111. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1139 .text.Geely_version2_send_info:00000000 Geely_version2_send_info
  4112. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1402 .text.Geely_version2_send_info:00000194 $d
  4113. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1416 .data.sendto_geely:00000000 sendto_geely
  4114. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1413 .data.sendto_geely:00000000 $d
  4115. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1428 .bss.vkv3_buf:00000000 vkv3_buf
  4116. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1425 .bss.vkv3_buf:00000000 $d
  4117. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1431 .text.send_msg_to_vk3:00000000 $t
  4118. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1437 .text.send_msg_to_vk3:00000000 send_msg_to_vk3
  4119. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1620 .text.send_msg_to_vk3:000000f8 $d
  4120. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1628 .text.send_msg_to_geely:00000000 $t
  4121. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:1634 .text.send_msg_to_geely:00000000 send_msg_to_geely
  4122. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2038 .text.send_msg_to_geely:0000028c $d
  4123. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3008 .bss.sendto_bro_lasttime.2:00000000 sendto_bro_lasttime.2
  4124. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3014 .bss.sendto_geely_lasttime.1:00000000 sendto_geely_lasttime.1
  4125. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2053 .text.send_msg_to_geely:000002c0 $t
  4126. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2140 .text.send_msg_to_geely:00000338 $d
  4127. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2150 .bss.engine_link_status:00000000 engine_link_status
  4128. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2151 .bss.engine_link_status:00000000 $d
  4129. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2153 .rodata:00000000 $d
  4130. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2160 .text.update_engine_data:00000000 $t
  4131. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2166 .text.update_engine_data:00000000 update_engine_data
  4132. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2433 .text.update_engine_data:000001cc $d
  4133. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2445 .text.update_engine_data:000001f4 $t
  4134. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2654 .text.update_engine_data:00000360 $d
  4135. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2666 .text.update_engine_data:00000388 $t
  4136. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2934 .text.update_engine_data:00000574 $d
  4137. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2948 .text.engine_function:00000000 $t
  4138. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2954 .text.engine_function:00000000 engine_function
  4139. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2989 .text.engine_function:00000024 $d
  4140. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3020 .bss.engine_time.0:00000000 engine_time.0
  4141. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:2994 .bss.engine_sn1.4:00000000 $d
  4142. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3005 .bss.sendto_bro_lasttime.2:00000000 $d
  4143. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3011 .bss.sendto_geely_lasttime.1:00000000 $d
  4144. C:\Users\zl835\AppData\Local\Temp\ccCK1X9j.s:3017 .bss.engine_time.0:00000000 $d
  4145. UNDEFINED SYMBOLS
  4146. Get_Crc16
  4147. memcpy
  4148. HAL_GetTick
  4149. can_send_msg_normalstd
  4150. uart_send_is_ok
  4151. uart3_send_msg
  4152. planep
  4153. sqrtf
  4154. Check_dev_link
  4155. snprintf
  4156. memset
  4157. Check_Timer_Ready