void DynamicVector_Test() { DynamicVector *prova; int i; prova=DynamicVector_New(); F_ASSERT(prova!=NULL); F_ASSERT(DynamicVector_Count(prova)==0); F_ASSERT(DynamicVector_Get(prova, 4)==NULL); DynamicVector_Set(prova, 22, (void*)0x123); F_ASSERT(DynamicVector_Count(prova)==23); F_ASSERT(DynamicVector_Get(prova,22)==(void*)0x123); for(i=0;i<22;i++) { F_ASSERT(DynamicVector_Get(prova,i)==NULL); } F_ASSERT(DynamicVector_Count(prova)==23); DynamicVector_Append(prova, (void*)21); DynamicVector_Append(prova, (void*)22); DynamicVector_Append(prova, (void*)23); F_ASSERT(DynamicVector_Count(prova)==26); DynamicVector_Delete(prova); }
void flash_write(uint32_t f_dst, const uint32_t *src, uint32_t n_words) { uint8_t e; uint32_t Start = flash_get_sector_info(f_dst, NULL, NULL); uint32_t End = flash_get_sector_info(f_dst + (n_words - 1) * 4, NULL, NULL); __disable_irq(); e = Chip_IAP_PreSectorForReadWrite(Start, End, BANK); F_ASSERT(e != IAP_CMD_SUCCESS, "Prepare for erase FAIL"); DBG("Write Prepare ok %d:%d:%08X:%08Xx%d\n", Start, End, f_dst, src, n_words); e = Chip_IAP_CopyRamToFlash(f_dst, (uint32_t*) src, n_words * 4); F_ASSERT(e != IAP_CMD_SUCCESS, "Write FAIL"); DBG("Write ok %d:%d:%08X:%08Xx%d\n", Start, End, f_dst, src, n_words); e = Chip_IAP_Compare(f_dst, (uint32_t) src, n_words * 4); F_ASSERT(e != IAP_CMD_SUCCESS, "Verify FAIL"); DBG("Write Check ok %d:%d:%08X:%08Xx%d\n", Start, End, f_dst, src, n_words); __enable_irq(); }
void flash_erase(uint32_t f_dst, const uint32_t *src, uint32_t n_words) { uint8_t e; // check there is something to write if (n_words == 0) { return; } __disable_irq(); // erase the sector(s) uint32_t Start = flash_get_sector_info(f_dst, NULL, NULL); uint32_t End = flash_get_sector_info(f_dst + 4 * n_words - 1, NULL, NULL); e = Chip_IAP_PreSectorForReadWrite(Start, End, BANK); F_ASSERT(e != IAP_CMD_SUCCESS, "Prepare for erase FAIL"); DBG("ERASE Prepare ok %d:%d\n", Start, End); e = Chip_IAP_EraseSector(Start, End, BANK); F_ASSERT(e != IAP_CMD_SUCCESS, "Erase FAIL"); DBG("ERASE Operation ok %d:%d\n", Start, End); e = Chip_IAP_BlankCheckSector(Start, End, BANK); F_ASSERT(e != IAP_CMD_SUCCESS, "Blank check FAIL"); DBG("ERASE Check ok %d:%d\n", Start, End); __enable_irq(); }
void CAllocator::DebugFree(void* Outer, void* Ptr, const wchar_t* File, const int Line) { bool Found = false; SDebugAllocInfo Info; for (std::list<SDebugAllocInfo>::iterator i = AllocInfoList.begin(); i != AllocInfoList.end(); ++i) { if (i->Address == Ptr) { Info = *i; Found = true; break; } } F_ASSERT(Found); TotalAllocated -= Info.Size; AllocInfoList.remove(Info); Free(Ptr); }
void BindOpenGLBuffer(GLContext & context, GLuint buffer) { F_ASSERT(false); }