本文共 1707 字,大约阅读时间需要 5 分钟。
iROM????????????????????????????????????????
???iROM???????????????????????????????????
BL1????????????????????
????????
??????
???BL1????16???????????????????
????????????????????????????????????
; ??????ldr r0, =0xE010_E81Cunsigned int* p = 0xE010_E81C;; ?????ldr r1, [r0]unsigned int val = *p;; ???????????orr r1, r1, #0x300val = val | 0x300;orr r1, r1, #0x1val = val | 0x1;; ???????str r1, [r0]*p = val;
?????????????????????????????????mkv210_image.c?????????
#ifndef __MKV210_CHECKSUM_H__#define __MKV210_CHECKSUM_H__#include#define CHECKSUM_MAGIC 0x12345678#define CHECKSUM_SIZE 32// ????????????int compute_checksum(const char* image_path, uint32_t** checksum) { *checksum = malloc(CHECKSUM_SIZE * sizeof(uint32_t)); FILE* fp = fopen(image_path, "rb"); if (!fp) { return -1; } uint32_t sum = 0; uint8_t buffer[1024]; while (fread(buffer, sizeof(uint8_t), 1024, fp) != 0) { sum += crc32(buffer, 1024); } memcpy(*checksum, (uint32_t*)(&sum), CHECKSUM_SIZE); fclose(fp); return 0;}#endif
iROM?BL1????????????????????????????????????????????????????????????????
转载地址:http://ecq.baihongyu.com/