)]}'
{"src/flash/nor/efm32.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"1c9da713a2bbda7a9ab61a58403c7e0c292035d9","unresolved":true,"context_lines":[{"line_number":1090,"context_line":"\t\tbank-\u003enum_sectors \u003d 1;"},{"line_number":1091,"context_line":"\t}"},{"line_number":1092,"context_line":"\tbank-\u003esize \u003d bank-\u003enum_sectors * efm32_mcu_info-\u003epage_size;"},{"line_number":1093,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * bank-\u003enum_sectors);"},{"line_number":1094,"context_line":""},{"line_number":1095,"context_line":"\tfor (uint32_t i \u003d 0; i \u003c bank-\u003enum_sectors; i++) {"},{"line_number":1096,"context_line":"\t\tbank-\u003esectors[i].offset \u003d i * efm32_mcu_info-\u003epage_size;"},{"line_number":1097,"context_line":"\t\tbank-\u003esectors[i].size \u003d efm32_mcu_info-\u003epage_size;"},{"line_number":1098,"context_line":"\t\tbank-\u003esectors[i].is_erased \u003d -1;"},{"line_number":1099,"context_line":"\t\tbank-\u003esectors[i].is_protected \u003d -1;"},{"line_number":1100,"context_line":"\t}"},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"\tefm32x_info-\u003eprobed[bank_index] \u003d true;"},{"line_number":1103,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"157144a4_73999a58","line":1100,"range":{"start_line":1093,"start_character":1,"end_line":1100,"end_character":2},"updated":"2026-02-04 17:15:16.000000000","message":"If you touch this code, please use `alloc_block_array()`\nhttps://openocd.org/doc/doxygen/html/nor_2core_8h.html#a1d40ddfeaf792907cc30c131027ba5aa\nand test for memory allocation error.","commit_id":"0f23384d114dd4154d1f49d700152b41e16bc8d0"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"210e2278770d2522ec150a01c0f2907bd8071064","unresolved":false,"context_lines":[{"line_number":1090,"context_line":"\t\tbank-\u003enum_sectors \u003d 1;"},{"line_number":1091,"context_line":"\t}"},{"line_number":1092,"context_line":"\tbank-\u003esize \u003d bank-\u003enum_sectors * efm32_mcu_info-\u003epage_size;"},{"line_number":1093,"context_line":"\tbank-\u003esectors \u003d malloc(sizeof(struct flash_sector) * bank-\u003enum_sectors);"},{"line_number":1094,"context_line":""},{"line_number":1095,"context_line":"\tfor (uint32_t i \u003d 0; i \u003c bank-\u003enum_sectors; i++) {"},{"line_number":1096,"context_line":"\t\tbank-\u003esectors[i].offset \u003d i * efm32_mcu_info-\u003epage_size;"},{"line_number":1097,"context_line":"\t\tbank-\u003esectors[i].size \u003d efm32_mcu_info-\u003epage_size;"},{"line_number":1098,"context_line":"\t\tbank-\u003esectors[i].is_erased \u003d -1;"},{"line_number":1099,"context_line":"\t\tbank-\u003esectors[i].is_protected \u003d -1;"},{"line_number":1100,"context_line":"\t}"},{"line_number":1101,"context_line":""},{"line_number":1102,"context_line":"\tefm32x_info-\u003eprobed[bank_index] \u003d true;"},{"line_number":1103,"context_line":""}],"source_content_type":"text/x-csrc","patch_set":1,"id":"88e91046_ca8198ee","line":1100,"range":{"start_line":1093,"start_character":1,"end_line":1100,"end_character":2},"in_reply_to":"157144a4_73999a58","updated":"2026-02-05 08:31:16.000000000","message":"Done","commit_id":"0f23384d114dd4154d1f49d700152b41e16bc8d0"}],"src/flash/nor/stm32f1x.c":[{"author":{"_account_id":1000687,"name":"Tomas Vanek","display_name":"Tomas Vanek","email":"vanekt@fbl.cz","username":"vanekt"},"change_message_id":"1c9da713a2bbda7a9ab61a58403c7e0c292035d9","unresolved":true,"context_lines":[{"line_number":1028,"context_line":"\tbank-\u003esize \u003d (num_pages * page_size);"},{"line_number":1029,"context_line":""},{"line_number":1030,"context_line":"\tbank-\u003enum_sectors \u003d num_pages;"},{"line_number":1031,"context_line":"\tbank-\u003esectors \u003d alloc_block_array(0, page_size, num_pages);"},{"line_number":1032,"context_line":"\tif (!bank-\u003esectors)"},{"line_number":1033,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"\t/* calculate number of write protection blocks */"},{"line_number":1036,"context_line":"\tint num_prot_blocks \u003d num_pages / stm32x_info-\u003eppage_size;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"a435afa1_4290036c","line":1033,"range":{"start_line":1031,"start_character":1,"end_line":1033,"end_character":20},"updated":"2026-02-04 17:15:16.000000000","message":"See this as a good example of `alloc_block_array()` usage","commit_id":"0f23384d114dd4154d1f49d700152b41e16bc8d0"},{"author":{"_account_id":1002493,"name":"Jérôme Pouiller","email":"jerome.pouiller@silabs.com","username":"jerome-pouiller"},"change_message_id":"210e2278770d2522ec150a01c0f2907bd8071064","unresolved":false,"context_lines":[{"line_number":1028,"context_line":"\tbank-\u003esize \u003d (num_pages * page_size);"},{"line_number":1029,"context_line":""},{"line_number":1030,"context_line":"\tbank-\u003enum_sectors \u003d num_pages;"},{"line_number":1031,"context_line":"\tbank-\u003esectors \u003d alloc_block_array(0, page_size, num_pages);"},{"line_number":1032,"context_line":"\tif (!bank-\u003esectors)"},{"line_number":1033,"context_line":"\t\treturn ERROR_FAIL;"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"\t/* calculate number of write protection blocks */"},{"line_number":1036,"context_line":"\tint num_prot_blocks \u003d num_pages / stm32x_info-\u003eppage_size;"}],"source_content_type":"text/x-csrc","patch_set":1,"id":"62170be4_b8cb4380","line":1033,"range":{"start_line":1031,"start_character":1,"end_line":1033,"end_character":20},"in_reply_to":"a435afa1_4290036c","updated":"2026-02-05 08:31:16.000000000","message":"Done","commit_id":"0f23384d114dd4154d1f49d700152b41e16bc8d0"}]}
