)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"2bddfc219c7a6dcee41e428999b600ad63fc6004","unresolved":true,"context_lines":[{"line_number":7,"context_line":"flash: support Nuvoton M541 \u0026 NUC442/472 series"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is picked from the flash part of OpenOCD-Nuvoton\u0027s [1] commit"},{"line_number":10,"context_line":"c2d5b8bfc705 (\"flash: supported Nuvoton M4 series. jtag: Used HW reset"},{"line_number":11,"context_line":"instead of auto reset. tcl: added a configuration file for Nuvoton M4"},{"line_number":12,"context_line":"series.\") to support flashing Nuvoton\u0027s Cortex-M4 chips: M541 \u0026"},{"line_number":13,"context_line":"NUC442/472 series."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9c3f1573_15859206","line":10,"updated":"2022-11-05 22:37:37.000000000","message":"as I already wrote for the other patch, this commit is not in OpenOCD repository. Use a weblink to nuvoTon gerrit","commit_id":"af3db82f4207abac72d241ac002af9c6290988ad"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"fe9457d930364b87be5c856d5862fe6309243bcc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"flash: support Nuvoton M541 \u0026 NUC442/472 series"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is picked from the flash part of OpenOCD-Nuvoton\u0027s [1] commit"},{"line_number":10,"context_line":"c2d5b8bfc705 (\"flash: supported Nuvoton M4 series. jtag: Used HW reset"},{"line_number":11,"context_line":"instead of auto reset. tcl: added a configuration file for Nuvoton M4"},{"line_number":12,"context_line":"series.\") to support flashing Nuvoton\u0027s Cortex-M4 chips: M541 \u0026"},{"line_number":13,"context_line":"NUC442/472 series."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a8d53089_4de1fa80","line":10,"in_reply_to":"9c3f1573_15859206","updated":"2022-11-06 15:59:31.000000000","message":"Done","commit_id":"af3db82f4207abac72d241ac002af9c6290988ad"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c6d8bb4555834b3383b866b4b05523a69c3255e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b5baf37a_7208f3fb","updated":"2022-11-06 22:34:58.000000000","message":"I don\u0027t see big problems with this patch.\nOnly few comments below","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"27ee69adbd402b9da4b13f2ef39bbc6a5382f34e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c389672f_94b1ad75","updated":"2022-11-09 21:13:59.000000000","message":"Look ok to me.\nPlease consider that we are in code freeze. This is a new feature and will be merged after v0.12.0","commit_id":"aeec06797237f89eabc29885b4eb77c75e057f99"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"221a45263fca41cb6ffe958b39d843ae1552900a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"096af4c3_bd13c48d","updated":"2023-01-15 15:02:54.000000000","message":"dummy comment to unlock bug in gerrit","commit_id":"aeec06797237f89eabc29885b4eb77c75e057f99"}],"src/flash/nor/numicro.c":[{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"2bddfc219c7a6dcee41e428999b600ad63fc6004","unresolved":true,"context_lines":[{"line_number":112,"context_line":"#define V6M_CPUID_PARTNO     0xC20"},{"line_number":113,"context_line":"#define V7M_CPUID_PARTNO     0xC24"},{"line_number":114,"context_line":"#define V8MBL_CPUID_PARTNO   0xD20"},{"line_number":115,"context_line":"#define V8MML_CPUID_PARTNO   0xD21"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"/* flash bank structs */"},{"line_number":118,"context_line":"struct numicro_flash_bank_type {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"98eaf028_72387dd5","line":115,"updated":"2022-11-05 22:37:37.000000000","message":"these should be already autodetected and available in cortex_m-\u003ecore_info.partno\nBy the way, are not used in this file! Can be removed?","commit_id":"af3db82f4207abac72d241ac002af9c6290988ad"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"fe9457d930364b87be5c856d5862fe6309243bcc","unresolved":false,"context_lines":[{"line_number":112,"context_line":"#define V6M_CPUID_PARTNO     0xC20"},{"line_number":113,"context_line":"#define V7M_CPUID_PARTNO     0xC24"},{"line_number":114,"context_line":"#define V8MBL_CPUID_PARTNO   0xD20"},{"line_number":115,"context_line":"#define V8MML_CPUID_PARTNO   0xD21"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"/* flash bank structs */"},{"line_number":118,"context_line":"struct numicro_flash_bank_type {"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"6b71853c_428d1cb6","line":115,"in_reply_to":"98eaf028_72387dd5","updated":"2022-11-06 15:59:31.000000000","message":"sure","commit_id":"af3db82f4207abac72d241ac002af9c6290988ad"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"2bddfc219c7a6dcee41e428999b600ad63fc6004","unresolved":true,"context_lines":[{"line_number":136,"context_line":"\t {NUMICRO_LDROM_BASE,  (ldrom_size)}, \\"},{"line_number":137,"context_line":"\t {NUMICRO_CONFIG_BASE, (config_size)}}"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"static const struct numicro_cpu_type numicro_parts[] \u003d {"},{"line_number":140,"context_line":"\t/*PART NO*/     /*PART ID*/ /*Banks*/"},{"line_number":141,"context_line":"\t/* M051AN */"},{"line_number":142,"context_line":"\t{\"M052LAN\",  0x00005200, NUMICRO_BANKS_GENERAL(8 * 1024,  4 * 1024, 4 * 1024, 4)},"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"7305c04c_98e25b2d","line":139,"updated":"2022-11-05 22:37:37.000000000","message":"This patch is huge only because you are reorganizing this struct.\nCan you please split the patch in two:\n- struct reorganization\n- add new series","commit_id":"af3db82f4207abac72d241ac002af9c6290988ad"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"fe9457d930364b87be5c856d5862fe6309243bcc","unresolved":false,"context_lines":[{"line_number":136,"context_line":"\t {NUMICRO_LDROM_BASE,  (ldrom_size)}, \\"},{"line_number":137,"context_line":"\t {NUMICRO_CONFIG_BASE, (config_size)}}"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"static const struct numicro_cpu_type numicro_parts[] \u003d {"},{"line_number":140,"context_line":"\t/*PART NO*/     /*PART ID*/ /*Banks*/"},{"line_number":141,"context_line":"\t/* M051AN */"},{"line_number":142,"context_line":"\t{\"M052LAN\",  0x00005200, NUMICRO_BANKS_GENERAL(8 * 1024,  4 * 1024, 4 * 1024, 4)},"}],"source_content_type":"text/x-csrc","patch_set":2,"id":"313ecc31_86a02e14","line":139,"in_reply_to":"7305c04c_98e25b2d","updated":"2022-11-06 15:59:31.000000000","message":"sure","commit_id":"af3db82f4207abac72d241ac002af9c6290988ad"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c6d8bb4555834b3383b866b4b05523a69c3255e1","unresolved":true,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"/* Private variables */"},{"line_number":539,"context_line":"uint32_t m_page_size \u003d NUMICRO_PAGESIZE;"},{"line_number":540,"context_line":"uint32_t m_address_bias_offset \u003d 0;"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"/* Private methods */"},{"line_number":543,"context_line":"static int numicro_get_arm_arch(struct target *target)"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"be886514_55d4dcac","line":540,"updated":"2022-11-06 22:34:58.000000000","message":"the build fails for this global variable initialized to zero. The initialization is not required.\nThen there is another issue below","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"a7019e906a023e15ed254bc0b0e2cd80b14b2432","unresolved":false,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"/* Private variables */"},{"line_number":539,"context_line":"uint32_t m_page_size \u003d NUMICRO_PAGESIZE;"},{"line_number":540,"context_line":"uint32_t m_address_bias_offset \u003d 0;"},{"line_number":541,"context_line":""},{"line_number":542,"context_line":"/* Private methods */"},{"line_number":543,"context_line":"static int numicro_get_arm_arch(struct target *target)"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"59fd155b_26729b88","line":540,"in_reply_to":"be886514_55d4dcac","updated":"2022-11-09 16:25:35.000000000","message":"Done","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c6d8bb4555834b3383b866b4b05523a69c3255e1","unresolved":true,"context_lines":[{"line_number":739,"context_line":"\t0x00, 0xC0, 0x00, 0x50 /* .word\t1342226432    */"},{"line_number":740,"context_line":"};"},{"line_number":741,"context_line":""},{"line_number":742,"context_line":"static const uint8_t numicro_M4_flash_write_code[] \u003d {"},{"line_number":743,"context_line":"\t/* Params:"},{"line_number":744,"context_line":"\t* r0 - workarea buffer / result"},{"line_number":745,"context_line":"\t* r1 - target address"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"7cd29518_eb1f6e17","line":742,"updated":"2022-11-06 22:34:58.000000000","message":"name of variable should be lowercase only.\nchange _M4_ with _m4_","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"a7019e906a023e15ed254bc0b0e2cd80b14b2432","unresolved":false,"context_lines":[{"line_number":739,"context_line":"\t0x00, 0xC0, 0x00, 0x50 /* .word\t1342226432    */"},{"line_number":740,"context_line":"};"},{"line_number":741,"context_line":""},{"line_number":742,"context_line":"static const uint8_t numicro_M4_flash_write_code[] \u003d {"},{"line_number":743,"context_line":"\t/* Params:"},{"line_number":744,"context_line":"\t* r0 - workarea buffer / result"},{"line_number":745,"context_line":"\t* r1 - target address"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"37b0f341_df07ade8","line":742,"in_reply_to":"7cd29518_eb1f6e17","updated":"2022-11-09 16:25:35.000000000","message":"Done","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"c6d8bb4555834b3383b866b4b05523a69c3255e1","unresolved":true,"context_lines":[{"line_number":752,"context_line":"\t*/"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":"\t/* .L1: */"},{"line_number":755,"context_line":"\t/* for(register uint32_t i\u003d0;i\u003cwcount;i++){ */"},{"line_number":756,"context_line":"\t0x04, 0x1C,\t\t\t\t/* mov    r4, r0          */"},{"line_number":757,"context_line":"\t0x00, 0x23,\t\t\t\t/* mov    r3, #0          */"},{"line_number":758,"context_line":"\t/* .L2: */"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"94c76ed6_2c67356c","line":755,"updated":"2022-11-06 22:34:58.000000000","message":"In OpenOCD we are moving all these assembly code outside the C code.\nWe put in folder contrib/loaders/flash/ the file .S with a makefile to generate the binary, then the C simply includes the file .inc\nYou can find several examples there.\nI will not block this patch series only for this, but it would be nice if in a following patch you could move the flash loaders out of this file.","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1000021,"name":"Antonio Borneo","email":"borneo.antonio@gmail.com","username":"borneoa"},"change_message_id":"27ee69adbd402b9da4b13f2ef39bbc6a5382f34e","unresolved":false,"context_lines":[{"line_number":752,"context_line":"\t*/"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":"\t/* .L1: */"},{"line_number":755,"context_line":"\t/* for(register uint32_t i\u003d0;i\u003cwcount;i++){ */"},{"line_number":756,"context_line":"\t0x04, 0x1C,\t\t\t\t/* mov    r4, r0          */"},{"line_number":757,"context_line":"\t0x00, 0x23,\t\t\t\t/* mov    r3, #0          */"},{"line_number":758,"context_line":"\t/* .L2: */"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"5313f2ec_58517993","line":755,"in_reply_to":"3e1a505c_72c9f0f0","updated":"2022-11-09 21:13:59.000000000","message":"Yes, the assembly code does not match the binary. Just a typo.\nI will report it as comment in 7343","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"a7019e906a023e15ed254bc0b0e2cd80b14b2432","unresolved":true,"context_lines":[{"line_number":752,"context_line":"\t*/"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":"\t/* .L1: */"},{"line_number":755,"context_line":"\t/* for(register uint32_t i\u003d0;i\u003cwcount;i++){ */"},{"line_number":756,"context_line":"\t0x04, 0x1C,\t\t\t\t/* mov    r4, r0          */"},{"line_number":757,"context_line":"\t0x00, 0x23,\t\t\t\t/* mov    r3, #0          */"},{"line_number":758,"context_line":"\t/* .L2: */"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"f5d1dce8_8b2ef838","line":755,"in_reply_to":"94c76ed6_2c67356c","updated":"2022-11-09 16:25:35.000000000","message":"Prepared the new commit 7343: [WIP] flash/nor, contrib/loaders: move numicro M4 write assembly to contrib/loaders | https://review.openocd.org/c/openocd/+/7343\n\nHowever, the generated numicro_m4.inc is not the expected one.\nThe assembly \"add r7, r4, r7\" is converted to \"0xe7,0x19,\", not the expected \"0x67, 0x19,\".  That also make verification become failed.\n\n** Verify Started **\nError: checksum mismatch - attempting binary compare\n** Verify Failed **\n\nIf I modified it \"0x67, 0x19,\" in numicro_m4.inc manually, then it pass the verification.\n\nI don\u0027t know how to fix it.","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"},{"author":{"_account_id":1001899,"name":"Jian-Hong Pan","email":"chienhung.pan@gmail.com","username":"starnight"},"change_message_id":"797a9567d7205ec2e233fa57b2d77b3f5d84802b","unresolved":false,"context_lines":[{"line_number":752,"context_line":"\t*/"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":"\t/* .L1: */"},{"line_number":755,"context_line":"\t/* for(register uint32_t i\u003d0;i\u003cwcount;i++){ */"},{"line_number":756,"context_line":"\t0x04, 0x1C,\t\t\t\t/* mov    r4, r0          */"},{"line_number":757,"context_line":"\t0x00, 0x23,\t\t\t\t/* mov    r3, #0          */"},{"line_number":758,"context_line":"\t/* .L2: */"}],"source_content_type":"text/x-csrc","patch_set":5,"id":"3e1a505c_72c9f0f0","line":755,"in_reply_to":"f5d1dce8_8b2ef838","updated":"2022-11-09 16:32:12.000000000","message":"However, I think it is good to merge the 3 patches first.  The following WIP commit 7343: [WIP] flash/nor, contrib/loaders: move numicro M4 write assembly to contrib/loaders | https://review.openocd.org/c/openocd/+/7343 can be merged after it is fixed.","commit_id":"73c7df1a79bf2e4342c73835df031a8797581c28"}]}
