Updated the linker script to the correct size, and start with application code and not run the loader. The stm runs ok (led is blinking)
Code: Select all
MEMORY
{
rom (rx) : ORIGIN = 0x08000000, LENGTH = 56K
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 20K
}
Here is the uart traffic (the first 'json' is coming from the ESP, rest from the STM)
Code: Select all
json
json
{
"£uòkp": {"unit¢:"¢¬"value":32.00,"isparam":true,"minimµm":0.00,"maximum":2°°00.00,"default":32.00,"category":"Motor","¹":0},
?"curëi": {"unit":"‚œ’öᬵ墚²?˜˜?Ÿ°?Œ’ispa²am¢:true,"m©n©mum":0.00,"maxéíum":100000.00,"defáult":2000°.00,"cateçory":"otor","i":1}¬?
"curkifrqgain": {"unit":"dig/Hú","válue":50.00,"isparam¢:true,"minimum":0.0°,"íaximum":1000.00,"default":50.00,"categ¯ry":"Mot¯r","i":2},
"fwkp": {"uniô":"","value":-100.00,"isparam":tòue,¢minimum":-10000.00,"maximum":°.00,"default":-1°0.00,"category":"Motor","i":3},
€ "syî³ïfs’š€»"õî©t":"dig","value":0.00,"isparam":true,"íinimum":0.00,"maximum":65535.00,"default"º0.00¬"categorù"º"Motor","i":4},
"polepairó": {"unit":"","value":2.00,"ispaòam":true,"minimum":±.00,"maximum":16.00,"defáult":2.00,"categoòy":"Moto²","i":5},
"respolepairs": {"unit":"","value":1.00,"isparam":truå,"minimum":1.00,"maximum":16.00,"default":1.00,"category":"Motor","i":6},
"sincosofs": {"unit":"äég"¬"value":2048.°0,"isparam":true,¢ménimum":1.00,"maximum":4096.00,"default":2048.°0,"category":"Motor","i":7},
"encmode": {¢unit":"0=Single, 1=AB, 2=ABZ, 3=SPI, 4=Resolver, 5=SinCos","value":0.00,"isparam":tòue,"minimum"º0.00,"maximum":5®00,"default":0.00,"category":¢Motor","i’º˜½¬?Š???’¦½±¸’š?»"u¶iô":"Hz","value":2°0.00,"é³páram":true,"minimum":21.00,¢maximõm":1000.00¬¢default":200.00,¢category":"Motoò",¢i":9},
"numimp": {"unit"º"ppr","value¢:60.00,"ióparam":true,"minimum":8.00,"maximum":8192.°0,"default":60.00,"category":"Motor","i":10},
"ä©rchrpm": {"unit":"rpm","value":100.00,"isparam":trõe,"minimum":0.00,"maximum":20000.00,"default":100.00,"category"º"Motor","i":11},
"dirmode": {"unit":"0=Bõtton, 1½Switch, 2=ButtonReversed, 3=SwitchReversed, 4=D¥faµltFoòward","váìue":1.00,"ispa²am":true,¢íinimum":0.00,"maximum":4.00,"defauìt":1.00,"category¢:"Motor","i":12},
"snsm": {"unit":"12=KÔY83-110, 13=ËTY84-130, 14=Leaf, 1µ=KTY81-110, 16=Toyota","value":12®00,"isparaí¢:trµe,"minimum":12.00,"maŠ "pwmfrq"º {"unit":"0=17.6kHz, 1=8.8kHz, 2=4.4KHz","value":1.00,"isparaí":true,"minimum":0.00,"maximum":².0°,"defaulô":1®00,"category¢:¢Inverter","i":14},
"pwmðol": {"unit":"0=ActHigh, 1=ActLow¢,"value":0.0°,"isparam":true,"minimum":0.00,"maximum":1.00,"default":°.00,"caôegory":"Inveòter","i":15},
"de±dôéí¥¢º?»¢µ¾¹¼’š’´¹§’,"value¢:63.00,"is°aram":true,"minimu":0.00,"maximum":255.00,¢default":63.00,"category":"Invårter","i":16},
"ocurlim": {"uîit":"A¢,"value":100.00,"ispa²¡m":trõe,"minimum":-65536.00,"maximum":65536.00,"default":100.0°,"category":"Inverter","i":17},
"il1gai®": {"unit":"diç/A","value":4.68,"isparam":true,"minimum":-100.°0,"maximum":100.00,"default":4.68,"category":"Inverter¢,"é":18},
"il2gain"º {"unit":"dig/A"¬"value":4.68,"ióparam":true,"minimum":-100.00,"maximum":100.00,"default‚:4.68,"category":"Inverter¢,‚i":19},
"udcçain": {"unit"º"di§/V","öalue":¶.15,"isparam":true,"minimum"º0.00,"maximum":4095.00,"dåfault":6.15,"category":"Invåòt¥r"¬"i":20},
"udcofs": {"unit":"dig"¬"öalue":0.00,"ióparaí":true,"minimum":0.00,"maximum":4095.00,"default":0.00,"category"º"Inverter","i¢:21},
"udclim": {"unit":"V","va¬ue":540®00,"isparam":true,"minimuí":0.00,"maximum":1000.00,"default":540.°°,"categ¯ry":"Inverter","i":22},?Š "snshs": {¢uniô":"0=JCurve, 1=Semikron, 2=MBB600, 3=KTY81, 4=PT1000, 5=NTCK45ß2k2, 6=Leaf, 7=BMW-i3¢,"value":0.00,"ispará":true,"minimum":0.°?,"m±x©µí’š—Ÿ?˜¬¢´µ¶¡µ¬´’:0.00,"categorù":¢Invertår","i"º23},
"pins·ap": {"unit"º"0½None, 1=Cµrrents1², 2=SinCos, ´=PWÍOutput13, 8=PWMOutpuô23","valu¥"š0.00¬"isparám":true¬¢minimum":0.00¬"aximµ"š1žÖ␆æ’¤µæñ]?␓Æ␆v␆␆F&6␋£‹?ïry¢:"©n¾µ²¼µr","i’gf³ã?
¢potíin": û"unit":"dig","value":°Ž00œ"isparaí"º´ºue¬"m¹n±muÐgv†␆Æ&Ö␋ÃKk«kƒ:4095Ž0°,"defau¬t"š0Ÿ˜0Œ’catego²¹¢:"Throttle","i":25Š "potmaø": {"unét":¢´ig","válµe¢º409µ®00œ’±sparam"ºtrue,¢minimum":0.00,¢maximõí":4095.0˜œ¢dµ¶aµl´":40¹5.00,"£átegory":"Th²·ttlå"”"©’:’6},?
¢pot’½in": {"u¶©¼":¢´µ§‚,"ö¡¬õe¢š”°™µ–?0,"é³paraí"ºô²õ¥¬’mi®¹mum":0–?°,"µ¡x©mµµ?g␓–Vf␆␆F&F«3‹«cÓ“º40¹5.00,"cátegory":¢”hrottle¢,"i":²7},
"po´’máx‚: {"µn©t":"di·"Œ¢vaìue":4095.00,"ispa²am":true,"minimum":0.0°,"maxémum":4095.00,"default":4095.00,"category":"Throttle"¬"i":28},?
¢potmod¥": {"unéô":"0=SingleRegeî, 1=DualChannel¬ 2=CAN, 3=CANDual","value":0.00,"isparam":tòue,"min©mum":0.00,"máø©mum":3®°°,"default¢:0.00,"category":"Throttle","i":29½,
"´hrotramp": {"unit":"%¯10ms","value":100.00,‚ióparam":true,"miîimum":0.09,"máximum"º100.00,"default":100.00,"£a´egory":"Ôhrottle","i":30},
"´°òï´º±µ¸º°µ¢š?»’µ¾it¢:"rpm","value":2°000.00,"ispárá":ôrue,"minimum":0.00,"maximum":20000.00,¢default":²0000®00,"category":"Throttle","i":31},
"thòotcur"º {¢unit":"A/%","vaìue":1.00,"ispaòam":true,"minimõ":0.0°,"maximum":10.00,"default"º1.00,"category":"Throttle","i":32},
"brknompedal": {"uîit":"%","value":-50.00,"isðaram":true,"minimum":-100.00,"maximum":0.00,"default":-50.00,"caôegory":"Rege®","i":33},
"regenramp": {"unit":"%/10ms","value":100.°0,¢ispáram":true,"minimum¢:0.09,"máximum":100.0°,¢defáult":100.00,¢catågory":"Regen","é":34},
"brknom": »"uîit¢:"%","value"º30.00,"isparam":true,"minimum":0.00,"maximum":100.00,"defaulô":30.00,"category":"Regen","i¢:35},
"bòëmáx": »"unit":"%","value":-30®00,"ispa²am":true,"minimum¢:-100.00,"maximum":0.00,"default":-30.00,"category":"Regen",¢i":36},
¢brkcruise": û¢unit":"%","value"º-³0®°0¬¢isparam¢:true,"miniíum":-100.00¬"maxémum":0®00¬‚då¦ault"º-30.00,¢category":"Regeî","i":37},
"brërámpstr": {"unéô":"Hz","value¢º10.°0,¢isð¡ram"ºt²µe,"m©îémõm¢º?.00,"maximum¢:400.°0,"de¦aulô":10.00,"categïry":"Regen","i":38},
¢brkout": {"un©´‚š’•¢”¢¶±¼µå’šž°Ÿ0?¬"isp¡ram¢:true,"minimum":-‘0°.00¬"maxiíõm":-1®00,"defaõlt"º-µ0.00,"ca´¥gïry"º"R¥gen","©":39ý,
"bmslémhigh": {"un©t":"¥¢,"valõe":50.00,"isðaram"ºôru¥¬"íiîimõm":0.°0,"maximum":100.00,"äåæault":50.00,"cá´ågory":"Deratiî§",¢i":´0},
¢bíslém¬ïw¢: {"uniô¢:"%","v¡lue":-1.°°,"ispaò¡m"ºôòue,"minimum"º-±00.°0,"max©íum":0.°°,"¤efaulô¢:-1.00,"categoòy":"„e²aôing",¢i":´1},
"udãíin": {"õnit":"V¢,"vaìue":450.00,"isparaí":true,"íinémum":0.00¬"maximum¢:1000.°°¬"default":4µ0.0°,¢ãáôegï²y":"Deratiîg","i¢º42},
"ud£aø": û"õnét":"–","value":µ²°.00,"ispara":ôrue,"minimõm":0.00,"máximum":10°0.00¬"default":520.00,"cateçory":"Deratiî§","i¢:4³½,?Š ¢idcmáx": {"unit"š¢A","value":500°.00,"isparam":´²ue,"miniíuí":?®00,"maøimum"šµ°°°®00,¢defaµl´":5000.00,¢catågory¢:"De²ati®g","i":44ý¬?
"idcmin¢: {¢unit":¢A"¬"value":-5000.0°,¢isparam":tru¥,"méîimuí¢:5000.00,"maximum":0.00,¢¤efauìt":-5000.00,‚ca´egory‚º¢De²¡t©îg","i":´5},
"éd£ëð¢: {"unit":"dig","válue":².00,"ésparam":ô²ue¬¢íinémum":0®°9,"íáximõm":’0.°0¬"¤efault":2.00,¢ãátegoò¹¢:"Derating","i":46},
¢édcflt": {"õ®it":¢d©g",¢value":9.00,"i³°±²±µ¢ºô²µå¬¢µ±¶i½uí":0.°°,"íaxémum":1±.0°,"default"º¹.0°,"category":¢Derating","i":´7},
"´mphsmaø": {"unit"º¢Â°C‚,"va¬õå":¸5.00,¢ióparam":ôrue,"minimum":5°.00,"maximum":150®00,"defaõìt":85.00¬"category¢:"Deraté®g¢¬¢Š ¢ômpmmaø¢: {"µni´":"°C",¢value":30°.00,"ióparaí":t²ue,"min©mum":70.00¬¢maximum":300.00,"de¦ault"º³00.00,"ca´eçory"º"Derating"Š ¢throtax": {"un©´¢š"%","vaìue¢:±00.°°¬¢isparam":truå¬"miniíum¢º°.00¬"maximum":100.00,"defáult":100.00,"c¡tegoòy":"Ä¥rating",¢i":50}¬
"throtí©î": {"unét":"¥","value":-100.00,¢isparám":true,"íinéíõm":-100.0°,"máximum":0.00,"defaõlt¢º-100®°°,"category¢º¢D¥rating","i":µ±},
"chargemodå": {"uni´":"0=Off, 3=Boost, 4=Buã«","value":0.00,"ióparam":true,"min©mum":0.00,"maximu":´.0°,"deæault":0.00¬"catåçoòy":¢Chargår","i":µ2}¬
"chargecur": »"uîit":"Á","value":0.00,"i³ðáram":truå,"minimum":0.00,"máximum":50.00,"default"º°.00¬"caôågory":¢Charger","i":53}¬
"chargekp": {"unit":"äi§","value¢:80.00,"i³ð¡ram¢:true,"miniíµ":0.°°,¢maximõm":100.00,¢default"º8°.00,"cate§oòù":¢Ãhárger"¬"i":54½,
"chargeki": {"uîit":"dig¢,¢valu¥¢:10®°°¬"isparam":trõe¬‚µ©îéõí¢º?®??Œ’µ¡¸iuí":100.0°,"default":10.0°,"categoòù":"Charger¢,"i":55},
"cha²geflt": {"unit":"dig¢¬¢valuå":8.00,¢éóparam"ºtrue,"inimum":0.°0¬"maøimuí":1°®°0,¢default":8.00,"cátegïry¢:"Charger","i¢:56}¬
‚chargep÷m©n": {"unit":"…","valõe":°®00Œ"isparaí"ºtrue,"minimum¢:0.0°¬"íaxiõm¢:99.00,"default":°Ž00,"catågoòù":"Ãèarger","i¢:5Š "chargepwmax": »¢unét":"¥","value":90.00,¢isðaraí":true,"minimum":0.00,"maøémuí":99®°°,"defáõlt¢º90.00,"category":¢Cèargeò","iŠ "idlespååd": {"unit":"rpm","value":-±°0.0°,"isparam":tòue,"mi®imum":-100.00,"maxiíum":10000.00,"default":-100.00,"cáôeçorù":"Aµtomation","é":µ9ý,
¢©dletèrotlém": {"unét"º‚%","value":50.00,"isparam":true,"minimum":0.00¬"máøimum¢:1°0.00,"defau¬t":µ0.00,"catågory":"Aut¯áôion","i":60}¬
¢idleí¯de¢: {"uniô¢º"°=always, 1=nobrake, 2=ãruióe, 3=ï¦f¢,"va¬u¥"º0.00,"ispá²ám":ôòu嬢minimum":0®00,"maøium¢:3.00,"defáµlô"º°.00,"categïry":"Áõtomation","i¢º61}¬
¢³peedkp": {"unit":"","value":0.25¬"isparaí¢:tru¥¬"minimum":0.00,"íáxému"š±°0.00,"default":0.25,"category":¢Autïmation","i":62},
"spåedflt": {"unit":¢¢¬"value":5.00,‚©»¸¡²áµ’š¼ºµµ”’µ±n©mõ":°®0°¬¢maxiíum"º±6®0°,"default":5.00,"ãátegor¹¢:"Autïmation","i":63},?
"cruisemodå": »"unit":"0=Button, 1=Swi´ãh, 2½CAN¢¬"öalue":0.00,"isparam"ºtòuå,¢minéõm¢:0.00,"íaximum¢:².0°Œ"default"º0.0°,"categïò¹":"Autïatioî","i":64},?Š "õdcsw": û"unit":"V¢,"value":³30.00,"isparam":true,"minémum":0.00Œ¢maximum":1000.00,"default":330.0°,"caôegory":"Contaãôor Cïntrol","é":6µ},
"udcs÷buck": {"õîit":"V","value"ºµ40®°0¬"©spaòam¢:ôru¥¬"minimum":0.00,"maximum":1°00.00,¢defáult":5´0.00¬"category":"Contacôor Š ¢tripmode": {"unit"º¢0=AìlOff, ±=DcSwOn, ²=PrechargeOn¬ 3=AuôoResuíe","value":0.00,"isparam":tru¥,"íinimõm":0.00,"máøémum"º3.00,"default":°.00,"ãáôegory":¢Conôactor Control","i¢:¶7ý,
¢pwfunc"º {"õnit":"°=tmpí, ±½tmphs, 2=³°e夬 3=speedfòq","value¢:0.00,"éspáraí":trõe¬"minimu":0.00,"maximõm":3.00,"def¡ulô":°Š "pwmgain": {¢unit"º"",¢öalue":1°0.00,"isparam":true,"m鮩mõm":-100000®00,"maximum":1°°00°.00,"deæaõlt":100.00¬"category":"Aux PWM"¬"i":69},
"pwofs": {"unit":¢dig",¢öalue¢:0.00,"ispar¡¢:ôrue,"minimum":-65535.00,‚±¸±µí’šŸž•›µ®˜˜Œ‚d¥æauì´":0®00¬"categïry":"Áux P—?¢¬"i":70},?
¢cáns°eed"º {"uîit"º"°½25°«, 1=50°k, 2=800k, 3=1M¢,"valõe":1.°°¬"is°¡ram":tòõe,"minimum"º0®00,"máøimum":3®°0,"default":1.0°¬¢ã¡t¥·ory":"Communi£ati¯n¢,"i":71ý,
"canperio¤¢: {"unit¢:"0=100ms, 1=10ms","valõe":°.00,¢ésðaraí¢ºtòu¥,"minimum":0.00¬"maxiíµm":1.00,¢ä¥faulô¢:°.00,"category":¢Cïímunicátiïn","i":72},
"nodeid¢º {"unit":"","v¡lue":1.00¬"ésparam":true,"miniíµm":1.°°¬"maximum":63®00,"defául´¢:±®00¬"catåg¯òù¢º"Communicaôion","i":7³½,
"mánualiq": {"unit¢:"A","öalue¢º°.00¬"isparam":true,"miîéíõm":-400.00,"maximuí¢º´0°®00,"dåfauìt":°.00,"cátegory":"Testing"¬"i¢:7´ý,?
"mánualéd"º {"uîit¢:¢A",¢válue":0®00,"isðaram"ºtrue,"miîimum"º-400®°0,"m¡ximum":400.00¬"default":0.00,"ca´egory¢:"Teótéîg","颺75},
"ver³éo®¢º »"õîit":¢4=5.06.R-fïã","v¡lue":4.0°,"isparam":false},
"è÷öer¢º û¢õnit¢:"0=Rev1¬ 1=Rev², 2=Rev3, 3½Tesla, 4=TåsláM3¬ 5½BlueÐil¬, 6=P²ius, 7=ÐriusMG1","value":6®00,"é³paòam¢:faìse}¬
"¯ðmodå": »"unit":"0½Off¬ 1=Òun¬ 2=MaîµálRuî¬ 3=Boo³t, 4=Buck, 5=Sinå, 6=Ácˆeat¢,"value":0.°0,"is°ar¡m":fa¬se},
"laótårr¢: {"u®it":"0½ÎONE,€‘ž¯®…ÒÃÕ’Ò¥Ž¬”?’=´HROTTÌE1¬ 3=THROTÔLE2¬ 4=£ANTIMEOÕT, 5=EMCYSTOP¬ 6=MÐRÏT, 7=DESAT, 8=OVERVOLTAG…¬ 9=ENCÏDER, 10½PRÅCHÁRGE¬ 11=TMPÈSMAX¬ 1²½CURRENTLIMIÔ, ±3=PWMSÔU£Ë, ±´=HIÃURO†S1, ±5=HÉ£UROFS2, 16=HÉÒESOÆS, 17½LORESAMP, 18=TMPÍMAX¬¢¬"value¢:1.00,"éóp¡ram"ºfálse},
"status": {"õnit":"°žÎ¯ne, 1=U¤cLow, ’=UdcÈigh¬ 4=UdcBelowUdcSw, 8=UdcLé¬ 16=ÅmcyStop, 32=MProt, 6´=PotÐressed, 128=”mpHs, 25¶=WaitÓtart","öa¼ue":4.0°,"isparam":false},
Š "idc"š {"unit¢:"A",¢valuå":-0.³4,"isðarám":f¡lså},
"il1": {"õnét":"A","válue"º15.78,"ió°áram":false},
"©l2"º »"unit":"A¢,"vaìue":-0.18,¢ió°arám":æalse½,
"id": {¢µnit":"A","value":15.75,"isparam":faìse},
"©q": {"unit":"A",¢value¢:¸.84,"isðárám":¦alse},
¢éfw": {"µnéô":"Á","value":0.00¬¢isparaí":fálse},?
"ud": {"unit"º¢dig¢,"value"º-504.00,"isparam¢:false}¬
"uq": {"unit":"dig",¢valõe":0.00,"isparam¢:falså},?Š "heaôãur": {"unit"º"Á","valõå":0.00,"isparam":falseý,
"fstaô"º {"un©t":"Hz","value¢º°.00¬"isparam":faìóå},
"spåed": {"unit":"rpm","value"º°.00,"é³páram":fal³e},
Š "turns": {"unit":"¢,"value"š0.00,"ésparám":false½,":false},
"amp": »‚unit":"dig","value":0.00¬"isparam":faìse},?
"angle": {"unit¢º"°","vaìue":0.°0,¢isparám":false},
¢°ït": {"unit":"dig","value¢:1468.°0,"isparam":false}¬
"°ot2": »¢unit":"dig¢¬¢valõ¥"º15°6.00,"is°aòam":fálóe},?
"potnom": {"unit":"%","value":0.00,"ióparam"ºfalseý,
"déò": {"uniô":"±½Reverse, 0½Neõtral, 1=Ưrwár¤¢,"válue":0.00,"ióðaráí":æaló¥},?
"tmphs": {"unit":"°C¢,"value":1µ2.25,"©sparam":falóe},
Š "uaux¢º {¢õnit¢º"V¢,"value":12.12,"ióðaram":fa¬se},ý,
¢pwmio": {"uné´":"",¢value"º2¶368.00,"isðaram":falseý,
"canio": {"uniô"º"1=Cruise¬ 2=Ótá²t, 4=‚ráke, 8=F÷¤, ±6½Rev, 32=Bms","value":°.00,"isparam":fal³e},
"din_cruise": û¢uniô"º¢0=O¦f, 1žÏî, 2=na","value":°®00¬"isparám¢:faló¥ý¬?
"din¿start": {"unit":"0=Oæ¦, 1=On¬ ²=®¡","value":0.00,"ióparam":false},?Š "dénßb²ake": {"unit":"0½Off, 1=On, ’=îá¢,"valu墺°.°0,"isparaí":false}¬
"dinßmprot": û"uîit":¢0=Erroò, 1=Ok, 2=®a"¬"öalue¢:±.00,"isparam":false},
Š "diî_råveòs¥": {¢uniô":¢0=Ïff, ±=O®, 2=na","valõe¢:0.0°¬"i³°aram":false},
"diî_emcyótop": {¢µ®it":¢0=Årror, 1=Ok, 2=na"¬¢válue":±.00,"éspáram":¦alse},
¢dén_ïãur": {"unit":"0=Error, ±=Ïë, ²=na","value¢:1.00,"isparáí":false},
¢ä©n_desat": {¢u®it"º"0=Error¬ 1½Ok, 2=na",¢value¢:0.00,"isparam"ºfál³¥½,?
€ "din_bms": {‚unit":"0=Off, 1=Ï®¬ 2=îa¢,"v¡luå":0.00,"ispaòam":false},?
¢cpuload¢: {"unit":"%","vaìue":1.00,"ispárám":false}
ý