diff --git a/osp/inc/ospHeap.h b/osp/inc/ospHeap.h index acac3c2..a6c1c51 100644 --- a/osp/inc/ospHeap.h +++ b/osp/inc/ospHeap.h @@ -8,7 +8,7 @@ #define APE_DM_BASE_PHY_ADDR 0x009400000UL //APCx(x:0-3):0x009400000+x*0x200000,2M per APC #define SHARE_MEM_BASE_PHY_ADDR 0x009D00000UL #define APE_PHY_BASE_PHY_ADDR 0x010000000UL -#define APE_TEXT_BASE_PHY_ADDR 0x090000000UL +#define APE_TEXT_BASE_PHY_ADDR 0x09C000000UL #define ARM_APE_MSG_BASE_PHY_ADDR 0x0A0000000UL #define APE_LOG_BASE_PHY_ADDR 0x0A8000000UL #define RESERVED_BASE_PHY_ADDR 0x100000000UL @@ -19,8 +19,8 @@ #define LEN_OF_PET_SM_DM 0x000060000UL //sm(0x20000) + dm(0x40000) #define LEN_OF_APE_DM 0x000800000UL #define LEN_OF_SHARE_MEM 0x000800000UL -#define LEN_OF_APE_PHY 0x080000000UL -#define LEN_OF_APE_TEXT 0x010000000UL +#define LEN_OF_APE_PHY 0x08C000000UL +#define LEN_OF_APE_TEXT 0x004000000UL #define LEN_OF_ARM_APE_MSG 0x008000000UL #define LEN_OF_APE_LOG 0x010000000UL #define LEN_OF_ARM_STACK 0x100000000UL diff --git a/osp/src/ospHeap.c b/osp/src/ospHeap.c index 2451c22..e0efb5f 100644 --- a/osp/src/ospHeap.c +++ b/osp/src/ospHeap.c @@ -38,7 +38,7 @@ typedef struct static_mem uint64_t virt_base; uint64_t phy_base; uint64_t len; - uint32_t is_mapped; //ǷѾӳ 0δӳ䣻1ӳ + uint32_t is_mapped; //是否已经映射 0:未映射;1:已映射 uint32_t rsv; }Static_Mem_CB; @@ -247,7 +247,7 @@ void *get_static_mem(module_type_e module, uint64_t *len) uint64_t addr_offset = 0,mem_len = 0; int32_t mem_temp_fd = -1; - if(1 == g_static_mem_cb[module].is_mapped) //ӳ + if(1 == g_static_mem_cb[module].is_mapped) //已映射 { *len = g_static_mem_cb[module].len; return (void *)g_static_mem_cb[module].virt_base; @@ -305,7 +305,7 @@ void *get_static_mem(module_type_e module, uint64_t *len) return (void *)OSP_ERROR; } /*#else - if(OSP_ERROR == g_dev_mem_fd) //mem豸 + if(OSP_ERROR == g_dev_mem_fd) //打开mem设备 { //g_dev_mem_fd = open("/dev/mem", O_RDWR|O_SYNC); g_dev_mem_fd = open("/dev/ucp_2_revmem", O_RDWR|O_SYNC); @@ -316,7 +316,7 @@ void *get_static_mem(module_type_e module, uint64_t *len) } mem_temp_fd = g_dev_mem_fd; #endif*/ - /*ͨģͻȡӦĵַƫƺͳ,еַӳ*/ + /*通过模块类型获取对应的地址偏移和长度,并进行地址映射*/ if(OSP_OK == get_base_and_len(module, &addr_offset, &mem_len)) { mem_vir_addr = mmap(NULL, mem_len, PROT_READ|PROT_WRITE, MAP_SHARED, mem_temp_fd, addr_offset); @@ -354,7 +354,7 @@ void *osp_heap_mem_init(char *pbuf, uint64_t size,void *head_of_static_mem,modul } heap_mem->root = (MemNode *)pbuf; - if(size < OSP_NODE_SIZE) //Сڽṹͷ + if(size < OSP_NODE_SIZE) //长度小于结构头长度 { heap_mem->root->len = 0; } @@ -637,7 +637,7 @@ int32_t osp_display_phy_mem(uint64_t phy_addr, uint32_t len) temp_vir_addr = mem_vir_addr + (addr_offset >> 2); for(i = 0; i < len; i += 16) - {//16ֽҲʾ4 + {//不足16字节也显示4个字 printf("0x%016lx: ",phy_addr + i); for(j = 0; j < 4; j++)