/* * ======== dev_init ======== * Purpose: * Initialize DEV's private state, keeping a reference count on each call. */ bool dev_init(void) { bool cmm_ret, dmm_ret, ret = true; DBC_REQUIRE(refs >= 0); if (refs == 0) { cmm_ret = cmm_init(); dmm_ret = dmm_init(); ret = cmm_ret && dmm_ret; if (!ret) { if (cmm_ret) cmm_exit(); if (dmm_ret) dmm_exit(); } } if (ret) refs++; DBC_ENSURE((ret && (refs > 0)) || (!ret && (refs >= 0))); return ret; }
/***************************************************************************** * Description: * add funtion description here * Parameters: * description for each argument, new argument starts at new line * Return: * what does this function returned? *****************************************************************************/ rt_err_t fh_dma_mem_init(rt_uint32_t *mem_start, rt_uint32_t size) { // return rt_memheap_init(&dma_heap,"dma_heap",mem_start,size); dma_handle = cmm_init((unsigned char *)mem_start, size); return dma_handle == 0; }