mirror of
https://github.com/MikronMIK32/mik32-uploader.git
synced 2026-01-01 21:37:05 +03:00
Исправлено чтение результата проверки, выход по первому несовпадению
This commit is contained in:
parent
b7bdd5fc7d
commit
e66c5b0f03
@ -291,31 +291,27 @@ def write_memory(pages: Dict[int, List[int]], openocd: OpenOcdTclRpc) -> int:
|
|||||||
openocd.halt()
|
openocd.halt()
|
||||||
openocd.write_memory(0x02003800, 32, [1])
|
openocd.write_memory(0x02003800, 32, [1])
|
||||||
openocd.run(f"set_reg {{t6 {max_address}}}")
|
openocd.run(f"set_reg {{t6 {max_address}}}")
|
||||||
print("EEPROM Init...")
|
|
||||||
|
|
||||||
pathname = os.path.dirname(sys.argv[0])
|
pathname = os.path.dirname(sys.argv[0])
|
||||||
openocd.run("wp 0x2003800 4 w")
|
openocd.run("wp 0x2003800 4 w")
|
||||||
print("Loading Driver...", flush=True)
|
|
||||||
|
print("Uploading driver...", flush=True)
|
||||||
# openocd.run("load_image {%s}" % pathlib.Path(os.path.join(pathname, "firmware.hex")))
|
# openocd.run("load_image {%s}" % pathlib.Path(os.path.join(pathname, "firmware.hex")))
|
||||||
openocd.run("load_image {%s}" % pathlib.Path(
|
openocd.run("load_image {%s}" % pathlib.Path(
|
||||||
"C:\\Users\\user\\.platformio\\packages\\tool-mik32-uploader\\upload_drivers\\jtag_eeprom\\.pio\\build\\mik32v2\\firmware.hex"
|
"C:\\Users\\user\\.platformio\\packages\\tool-mik32-uploader\\upload_drivers\\jtag_eeprom\\.pio\\build\\mik32v2\\firmware.hex"
|
||||||
))
|
))
|
||||||
|
|
||||||
# openocd.resume(0x2000000)
|
|
||||||
# wait_halted(openocd)
|
|
||||||
# print(f"Check page result {openocd.read_memory(0x2003800, 32, 1)}")
|
|
||||||
|
|
||||||
|
|
||||||
print("Uploading data...", flush=True)
|
print("Uploading data...", flush=True)
|
||||||
openocd.write_memory(0x02001800, 8, bytes_list)
|
openocd.write_memory(0x02001800, 8, bytes_list)
|
||||||
print("Uploading data complete!", flush=True)
|
|
||||||
|
|
||||||
print("Run driver...", flush=True)
|
print("Uploading data complete! Run driver...", flush=True)
|
||||||
openocd.resume(0x2000000)
|
openocd.resume(0x2000000)
|
||||||
|
|
||||||
wait_halted(openocd, 10)
|
wait_halted(openocd, 10)
|
||||||
|
openocd.run("rwp 0x02003800")
|
||||||
|
openocd.run("step")
|
||||||
print(f"Check page result {openocd.read_memory(0x2003800, 32, 1)}")
|
print(f"Check page result {openocd.read_memory(0x2003800, 32, 1)}")
|
||||||
|
|
||||||
if result == 0:
|
if result == 0:
|
||||||
# Прошивка страниц флеш памяти по SPIFI была завершена
|
|
||||||
print(f"{datetime.datetime.now().time()} EEPROM recording has been completed", flush=True)
|
print(f"{datetime.datetime.now().time()} EEPROM recording has been completed", flush=True)
|
||||||
return 0
|
return 0
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
:020000040200F8
|
:020000040200F8
|
||||||
:10000000FD62938202400100FD12E39E02FE374131
|
:10000000FD62938202400100FD12E39E02FE374131
|
||||||
:10001000000213010100B70100029381016CB705D2
|
:10001000000213010100B70100029381016AB705D4
|
||||||
:1000200000029385056C370600021306066CB706BE
|
:1000200000029385056A370600021306066AB706C2
|
||||||
:1000300000029386066C39A083A2050023A0560017
|
:1000300000029386066A39A083A2050023A0560019
|
||||||
:1000400091059106E3EAC5FEB70500029385056CAC
|
:1000400091059106E3EAC5FEB70500029385056AAE
|
||||||
:100050003706000213060675B70600029386066C83
|
:10005000370600021306066AB70600029386066A90
|
||||||
:1000600039A083A2050023A0560091059106E3EA7A
|
:1000600039A083A2050023A0560091059106E3EA7A
|
||||||
:10007000C5FEB70500029385056C3706000213061E
|
:10007000C5FEB70500029385056A37060002130620
|
||||||
:10008000066C21A023A005009105E3EDC5FEB70095
|
:10008000066A21A023A005009105E3EDC5FEB70097
|
||||||
:100090000002E780C00AB7000002E780C00AB7008C
|
:100090000002E780C00AB7000002E780C00AB7008C
|
||||||
:1000A0000002E780E02273005010F5BF828000005C
|
:1000A0000002E780E02273005010F5BF828000005C
|
||||||
:1000B0000000000000000000000000000000000040
|
:1000B0000000000000000000000000000000000040
|
||||||
@ -33,88 +33,77 @@
|
|||||||
:1001F000C1171D8F3E96E374C3F8A5B75D71130652
|
:1001F000C1171D8F3E96E374C3F8A5B75D71130652
|
||||||
:1002000080028145280886C6B137BD47230CF1001E
|
:1002000080028145280886C6B137BD47230CF1001E
|
||||||
:100210008947230EF1003ED2E177938707082C0827
|
:100210008947230EF1003ED2E177938707082C0827
|
||||||
:100220000A85231AF102552EB64061618280317130
|
:100220000A85231AF1026526B64061618280317128
|
||||||
:1002300006DF22DD26DB4AD952D556D34ED77D3F85
|
:1002300006DF22DD26DB4AD952D54ED7C1376146CB
|
||||||
:100240006146814528003937B70707009387074083
|
:1002400081452800013FB707070061679387074092
|
||||||
:1002500005453EC2592861671307076A8D46130694
|
:100250001307076A8D4613060002814548003724BC
|
||||||
:1002600000028145480037240002616941201304DF
|
:10026000000261693EC2130404809D288144130981
|
||||||
:1002700004808144014A1309096A930A000863E96A
|
:10027000096A130A000863E4F4018147A9A093996D
|
||||||
:10028000F40105459D20B747000223A0478101A046
|
:10028000040193D90901CA87014793060002228617
|
||||||
:100290009399040193D90901CA8701479306000283
|
:10029000CE8548007D2013060008814508105D3D8D
|
||||||
:1002A0002286CE8548006520130600088145081087
|
:1002A0004A87930600021010CE854800192A01479C
|
||||||
:1002B00055354A87930600021010CE854800012A62
|
:1002B0001410B3078700BA9683C6060083C70700E9
|
||||||
:1002C00001471410B3078700BA9683C6060083C798
|
:1002C0006388F6008947374700022320F78001A0A2
|
||||||
:1002D0000700639AF6000507E31557FF93840408A7
|
:1002D0000507E31F47FD938404081304040861BF66
|
||||||
:1002E0001304040869BF094AD5BFD9AE1C418E0664
|
:1002E0001C418E0603A88700B3E6060193E60608C4
|
||||||
:1002F00003A88700B3E6060193E6060894C71449ED
|
:1002F00094C7144999CA814663DDC600CCC323A0C4
|
||||||
:1003000099CA814663DDC600CCC323A007003A85A5
|
:1003000007003A850DE50D458280CCC3814663CC5C
|
||||||
:100310000DE50D458280CCC3814663CCC600944771
|
:10031000C600944793E6360094C775D7C8477D1743
|
||||||
:1003200093E6360094C775D7C8477D17058965FDE4
|
:10032000058965FD828023A007008506CDB703A857
|
||||||
:10033000828023A007008506CDB703A8C7007D15DE
|
:10033000C7007D1513781800E31608FC85069105A3
|
||||||
:1003400013781800E31608FC8506910565BF03289D
|
:1003400065BF032805000E0783288800336717015F
|
||||||
:1003500005000E0783288800336717011367070815
|
:10035000136707082324E800184905C301476353BE
|
||||||
:100360002324E800184905C301476353D702131536
|
:10036000D702131527002322B80032950841232015
|
||||||
:1003700027002322B800329508412320A8003E859B
|
:10037000A8003E850DED0D4582802322B80001477F
|
||||||
:100380000DED0D4582802322B8000147634FD70051
|
:10038000634FD70003278800136757002324E80032
|
||||||
:1003900003278800136757002324E800FDD30325B3
|
:10039000FDD30325C800FD1705897DF982809315DB
|
||||||
:1003A000C800FD1705897DF9828093152700B29555
|
:1003A0002700B2958C4105072320B800D1BF8328D0
|
||||||
:1003B0008C4105072320B800D1BF8328C8007D15D4
|
:1003B000C8007D1593F81800E39E08FA050791051B
|
||||||
:1003C00093F81800E39E08FA0507910579BF1C49C8
|
:1003C00079BF1C4989CF814763FFD7000328050007
|
||||||
:1003D00089CF814763FFD70003280500BA8823220D
|
:1003D000BA882322B800639108020D458280084143
|
||||||
:1003E000B800639108020D45828008414CC163E466
|
:1003E0004CC163E4D700014582800C41139727007C
|
||||||
:1003F000D700014582800C411397270032970CC328
|
:1003F00032970CC38507F5B70323C800FD181373A4
|
||||||
:100400008507F5B70323C800FD1813731300E31A1B
|
:100400001300E31A03FC832808001398270032988E
|
||||||
:1004100003FC832808001398270032982320180132
|
:10041000232018018507910545BF0547AA87630575
|
||||||
:100420008507910545BF0547AA876305E50209478A
|
:10042000E50209476300E506054591EBB7060600BE
|
||||||
:100430006300E506054591EBB7060600DC4A7D77CB
|
:10043000DC4A7D771307F73FF98FDCCA01458280DC
|
||||||
:100440001307F73FF98FDCCA014582807D1719EB4E
|
:100440007D1719EB0D4582809306004037A7070002
|
||||||
:100450000D4582809306004037A707001307071257
|
:1004500013070712B7050500905D7D8E75D237062C
|
||||||
:10046000B7050500905D7D8E75D2370606005C4AA3
|
:1004600006005C4A7D771307F73FF98FD58F41115E
|
||||||
:100470007D771307F73FF98FD58F41115CCA02C60C
|
:100470005CCA02C613073006B2476359F70001454C
|
||||||
:1004800013073006B2476359F700014541018280E6
|
:1004800041018280856693860680C9B7B247850799
|
||||||
:10049000856693860680C9B7B24785073EC6DDB735
|
:100490003EC6DDB791476307F50263EAA7008547CB
|
||||||
:1004A00091476307F50263EAA7008547630AF504ED
|
:1004A000630AF50489476309F50405458280A1477D
|
||||||
:1004B00089476309F50405458280A147E31DF5FEE0
|
:1004B000E31DF5FE0947094501A8FD1781EFC8D2E4
|
||||||
:1004C0000947094501A8FD1781EFC8D20D45828073
|
:1004C0000D45828005470D45B7A7070093870712A2
|
||||||
:1004D00005470D45B7A7070093870712B706050024
|
:1004D000B7060500905E798E6DD28A05C98D4111EF
|
||||||
:1004E000905E798E6DD28A05C98D4111CCD202C63B
|
:1004E000CCD202C613073006B247635AF700014563
|
||||||
:1004F00013073006B247635AF70001454101828075
|
:1004F000410182801147C9BF21470145F1B7B24789
|
||||||
:100500001147C9BF21470145F1B7B24785073EC62C
|
:1005000085073EC6D5B70547AA876305E5020947B3
|
||||||
:10051000D5B70547AA876305E50209476302E506E3
|
:100510006302E506054591EBB70606009C4A7D7728
|
||||||
:10052000054591EBB70606009C4A7D771307F73F18
|
:100520001307F73FF98F9CCA014582807D1719EBAD
|
||||||
:10053000F98F9CCA014582807D1719EB0D45828099
|
:100530000D4582809306004037A707001307071276
|
||||||
:100540009306004037A7070013070712B7050500F9
|
:10054000B7050500905D7D8E75D2370706001C4B00
|
||||||
:10055000905D7D8E75D2370706001C4B7D761306A5
|
:100550007D761306F63FF18FD58F1CCB85471CCFD8
|
||||||
:10056000F63FF18FD58F1CCB85471CCF411102C6BA
|
:10056000411102C613073006B2476359F70001452F
|
||||||
:1005700013073006B2476359F700014541018280F5
|
:10057000410182808566938606807DBFB2478507EC
|
||||||
:100580008566938606807DBFB24785073EC6DDB788
|
:100580003EC6DDB711C98547630DF502054582807A
|
||||||
:1005900011C98547630DF50205458280FD1791EB72
|
:10059000FD1791EB0D4582800946B7A707009387A9
|
||||||
:1005A0000D4582800946B7A7070093870712B70653
|
:1005A0000712B7060500985E718F7DD34111C8D63A
|
||||||
:1005B0000500985E718F7DD34111C8D602C613071E
|
:1005B00002C613073006B2476357F70001454101F1
|
||||||
:1005C0003006B2476357F700014541018280054676
|
:1005C00082800546D9BFB24785073EC6EDB7011107
|
||||||
:1005D000D9BFB24785073EC6EDB7011126CAB70499
|
:1005D00026CAB7040600DC4806CE22CC4AC84EC65E
|
||||||
:1005E0000600DC4806CE22CC4AC84EC652C456C2CB
|
:1005E00052C456C2F19BDCC89C482A89C845F19B7D
|
||||||
:1005F000F19BDCC89C482A89C845F19B9CC883C7ED
|
:1005F0009CC883C7C5012E848A07DCC883C7D50180
|
||||||
:10060000C5012E848A07DCC883C7D5018A079CC828
|
:100600008A079CC8193D0C44AA8A03454400593501
|
||||||
:10061000193D0C44AA8A0345440059351848B707C8
|
:100610001848B70705002A8A98C358480850D8C315
|
||||||
:1006200005002A8A98C358480850D8C3184C98C760
|
:10062000184C98C7CD35AA894850A93F8347040084
|
||||||
:10063000CD35AA894850A93F834704002A8793F6FD
|
:100630002A8793F6170089E6D44893E62600D4C8A3
|
||||||
:10064000170089E6D44893E62600D4C893F627001D
|
:1006400093F6270099E637060600544A93E616000B
|
||||||
:1006500099E637060600544A93E6160054CA93F604
|
:1006500054CA93F6470099E637060600144A93E613
|
||||||
:10066000470099E637060600144A93E6260014CAA6
|
:10066000260014CAA18B99E7B70606009C4A93E7B7
|
||||||
:10067000A18B99E7B70606009C4A93E717009CCA2E
|
:1006700017009CCAF24062442320590123224901F9
|
||||||
:10068000F2406244232059012322490123243901E5
|
:10068000232439012326E900D244B249224A924A5E
|
||||||
:100690002326E900D244B249224A924A4A85424975
|
:100690004A85424905618280000000000000000098
|
||||||
:1006A00005618280B7070500DC53054721658D8B06
|
|
||||||
:1006B000F9176376F7003755E80113050580828046
|
|
||||||
:1006C000411122C406C62A84F13FB70705009C43A6
|
|
||||||
:1006D0001307803E8507B357F502B3D7E7020D67CE
|
|
||||||
:1006E0001307779CB387E7022167130707D0B3D7B7
|
|
||||||
:1006F000E70219C4BE82FD12E39F02FE7D147DF85D
|
|
||||||
:10070000B240224441018280411122C406C62A849B
|
|
||||||
:10071000513FB70705009C431307803E8507B35739
|
|
||||||
:10072000F502B3D7E7022947B387E702216713072A
|
|
||||||
:1007300007D0B3D7E70219C4BE82FD12E39F02FEC1
|
|
||||||
:100740007D147DF8B2402244410182800000000007
|
|
||||||
:0400000502000000F5
|
:0400000502000000F5
|
||||||
:00000001FF
|
:00000001FF
|
||||||
|
|||||||
@ -4,16 +4,10 @@
|
|||||||
#include "uart_lib.h"
|
#include "uart_lib.h"
|
||||||
#include "xprintf.h"
|
#include "xprintf.h"
|
||||||
|
|
||||||
/**
|
|
||||||
* @file main.c
|
|
||||||
*
|
|
||||||
* @brief Пример демонстрирует чтение и запись значений во внешнюю флеш память Winbond W25 по Standard (Single) SPI
|
|
||||||
*/
|
|
||||||
|
|
||||||
// extern char __HEAP_START[];
|
|
||||||
const int BUFFER_SIZE = 8 * 1024;
|
const int BUFFER_SIZE = 8 * 1024;
|
||||||
extern uint8_t *BUFFER[];
|
extern uint8_t *BUFFER[];
|
||||||
extern uint32_t *BUFFER_STATUS[];
|
extern uint32_t BUFFER_STATUS[];
|
||||||
|
|
||||||
#define EEPROM_OP_TIMEOUT 100000
|
#define EEPROM_OP_TIMEOUT 100000
|
||||||
#define USART_TIMEOUT 1000
|
#define USART_TIMEOUT 1000
|
||||||
@ -29,7 +23,6 @@ HAL_EEPROM_HandleTypeDef heeprom;
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
// *BUFFER_STATUS = 1;
|
|
||||||
SystemClock_Config();
|
SystemClock_Config();
|
||||||
|
|
||||||
#ifdef UART_DEBUG
|
#ifdef UART_DEBUG
|
||||||
@ -39,17 +32,8 @@ int main()
|
|||||||
|
|
||||||
HAL_EEPROM_HandleTypeDef heeprom = {
|
HAL_EEPROM_HandleTypeDef heeprom = {
|
||||||
.Instance = EEPROM_REGS,
|
.Instance = EEPROM_REGS,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// *BUFFER_STATUS = 1;
|
|
||||||
|
|
||||||
HAL_DelayMs(1);
|
|
||||||
|
|
||||||
// asm ("wfi");
|
|
||||||
|
|
||||||
// *BUFFER_STATUS = 1;
|
|
||||||
|
|
||||||
HAL_EEPROM_Erase(&heeprom, 0, EEPROM_PAGE_WORDS, HAL_EEPROM_WRITE_ALL, EEPROM_OP_TIMEOUT);
|
HAL_EEPROM_Erase(&heeprom, 0, EEPROM_PAGE_WORDS, HAL_EEPROM_WRITE_ALL, EEPROM_OP_TIMEOUT);
|
||||||
|
|
||||||
int result = 0;
|
int result = 0;
|
||||||
@ -80,12 +64,13 @@ int main()
|
|||||||
xprintf("addr[0x%04x:0x%08x] buf:mem = 0x%02x != 0x%02x\n", (uint32_t)BUFFER + ad + b, 0x01000000 + ad + b, ebuf, rb[b]);
|
xprintf("addr[0x%04x:0x%08x] buf:mem = 0x%02x != 0x%02x\n", (uint32_t)BUFFER + ad + b, 0x01000000 + ad + b, ebuf, rb[b]);
|
||||||
#endif
|
#endif
|
||||||
result = 2;
|
result = 2;
|
||||||
break;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HAL_DelayMs(1);
|
error_exit:
|
||||||
|
|
||||||
*BUFFER_STATUS = result;
|
*BUFFER_STATUS = result;
|
||||||
// asm ("wfi");
|
// asm ("wfi");
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user