From 2bae33a3817ccd641a24f32d73566dbab019a3be Mon Sep 17 00:00:00 2001 From: "goprife@gmail.com" Date: Thu, 27 Dec 2012 07:21:13 +0000 Subject: [PATCH] change nand_sim.c to nanddrv_file.c; add SDL.dll to bsp/simulator; clean code git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2532 bbd45198-f89e-11dd-88c7-29a3b14d5316 --- bsp/simulator/SDL.dll | Bin 0 -> 324096 bytes bsp/simulator/applications/application.c | 12 +- bsp/simulator/drivers/SConscript | 2 +- bsp/simulator/drivers/nanddrv_file.c | 398 +++++++++++++++++++++++ 4 files changed, 402 insertions(+), 10 deletions(-) create mode 100644 bsp/simulator/SDL.dll create mode 100644 bsp/simulator/drivers/nanddrv_file.c diff --git a/bsp/simulator/SDL.dll b/bsp/simulator/SDL.dll new file mode 100644 index 0000000000000000000000000000000000000000..628cdfcf0183d17c802025e041e685f3f92537f4 GIT binary patch literal 324096 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 E02O&aUH||9 literal 0 HcmV?d00001 diff --git a/bsp/simulator/applications/application.c b/bsp/simulator/applications/application.c index 0ef8c5164f..14683687a8 100644 --- a/bsp/simulator/applications/application.c +++ b/bsp/simulator/applications/application.c @@ -49,31 +49,25 @@ void rt_init_thread_entry(void *parameter) #endif #ifdef RT_USING_DFS_ELMFAT - /* mount sd card fat partition 1 as root directory */ + /* mount sd card fatfs as root directory */ if (dfs_mount("sd0", "/disk/sd", "elm", 0, 0) == 0) - { rt_kprintf("fatfs initialized!\n"); - } else rt_kprintf("fatfs initialzation failed!\n"); #endif #ifdef RT_USING_DFS_UFFS - /* mount sd card fat partition 1 as root directory */ + /* mount uffs as the nand flash file system */ if (dfs_mount("nand0", "/disk/nand", "uffs", 0, 0) == 0) - { rt_kprintf("uffs initialized!\n"); - } else rt_kprintf("uffs initialzation failed!\n"); #endif #ifdef RT_USING_DFS_JFFS2 - /* mount sd card fat partition 1 as root directory */ + /* mount jffs2 as the nor flash file system */ if (dfs_mount("nor", "/disk/nor", "jffs2", 0, 0) == 0) - { rt_kprintf("jffs2 initialized!\n"); - } else rt_kprintf("jffs2 initialzation failed!\n"); #endif diff --git a/bsp/simulator/drivers/SConscript b/bsp/simulator/drivers/SConscript index d131ce7f42..ef725a5b6a 100644 --- a/bsp/simulator/drivers/SConscript +++ b/bsp/simulator/drivers/SConscript @@ -9,7 +9,7 @@ if GetDepend('RT_USING_RTGUI') == False: if GetDepend('RT_USING_DFS') == False or GetDepend('RT_USING_DFS_ELMFAT') == False: SrcRemove(src, 'sd_sim.c') if GetDepend('RT_USING_DFS') == False or GetDepend('RT_USING_MTD_NAND') == False: - SrcRemove(src, 'nand_sim.c') + SrcRemove(src, 'nanddrv_file.c') if GetDepend('RT_USING_DFS') == False or GetDepend('RT_USING_MTD_NOR') == False: SrcRemove(src, 'sst25vfxx_mtd_sim.c') diff --git a/bsp/simulator/drivers/nanddrv_file.c b/bsp/simulator/drivers/nanddrv_file.c new file mode 100644 index 0000000000..79edf2e9de --- /dev/null +++ b/bsp/simulator/drivers/nanddrv_file.c @@ -0,0 +1,398 @@ +#include +#include +#include +#include + +#define NAND_SIM "nand.bin" +#if 1 +#define OOB_SIZE 64 +#define PAGE_SIZE (2048 + 64) +#define PAGE_PER_BLOCK 64 +#define BLOCK_SIZE (PAGE_SIZE * PAGE_PER_BLOCK) +#define BLOCK_NUM 512 +// #define BLOCK_NUM 2048 +#else +#define OOB_SIZE 16 +#define PAGE_SIZE (512 + OOB_SIZE) +#define PAGE_PER_BLOCK 32 +#define BLOCK_SIZE (PAGE_SIZE * PAGE_PER_BLOCK) +#define BLOCK_NUM 512 +#endif + +static unsigned char block_data[BLOCK_SIZE]; +static struct rt_mtd_nand_device _nanddrv_file_device; +static FILE* file = NULL; + +static rt_uint8_t CountBitsInByte(rt_uint8_t byte) +{ + rt_uint8_t count = 0; + + while (byte > 0) + { + if (byte & 1) + { + count++; + } + byte >>= 1; + } + + return count; +} + +static void Compute256(const rt_uint8_t *data, rt_uint8_t *code) +{ + rt_uint32_t i; + rt_uint8_t columnSum = 0; + rt_uint8_t evenLineCode = 0; + rt_uint8_t oddLineCode = 0; + rt_uint8_t evenColumnCode = 0; + rt_uint8_t oddColumnCode = 0; + + // Xor all bytes together to get the column sum; + // At the same time, calculate the even and odd line codes + for (i=0; i < 256; i++) + { + columnSum ^= data[i]; + + // If the xor sum of the byte is 0, then this byte has no incidence on + // the computed code; so check if the sum is 1. + if ((CountBitsInByte(data[i]) & 1) == 1) + { + // Parity groups are formed by forcing a particular index bit to 0 + // (even) or 1 (odd). + // Example on one byte: + // + // bits (dec) 7 6 5 4 3 2 1 0 + // (bin) 111 110 101 100 011 010 001 000 + // '---'---'---'----------. + // | + // groups P4' ooooooooooooooo eeeeeeeeeeeeeee P4 | + // P2' ooooooo eeeeeee ooooooo eeeeeee P2 | + // P1' ooo eee ooo eee ooo eee ooo eee P1 | + // | + // We can see that: | + // - P4 -> bit 2 of index is 0 --------------------' + // - P4' -> bit 2 of index is 1. + // - P2 -> bit 1 of index if 0. + // - etc... + // We deduce that a bit position has an impact on all even Px if + // the log2(x)nth bit of its index is 0 + // ex: log2(4) = 2, bit2 of the index must be 0 (-> 0 1 2 3) + // and on all odd Px' if the log2(x)nth bit of its index is 1 + // ex: log2(2) = 1, bit1 of the index must be 1 (-> 0 1 4 5) + // + // As such, we calculate all the possible Px and Px' values at the + // same time in two variables, evenLineCode and oddLineCode, such as + // evenLineCode bits: P128 P64 P32 P16 P8 P4 P2 P1 + // oddLineCode bits: P128' P64' P32' P16' P8' P4' P2' P1' + // + evenLineCode ^= (255 - i); + oddLineCode ^= i; + } + } + + // At this point, we have the line parities, and the column sum. First, We + // must caculate the parity group values on the column sum. + for (i=0; i < 8; i++) + { + if (columnSum & 1) + { + evenColumnCode ^= (7 - i); + oddColumnCode ^= i; + } + columnSum >>= 1; + } + + // Now, we must interleave the parity values, to obtain the following layout: + // Code[0] = Line1 + // Code[1] = Line2 + // Code[2] = Column + // Line = Px' Px P(x-1)- P(x-1) ... + // Column = P4' P4 P2' P2 P1' P1 PadBit PadBit + code[0] = 0; + code[1] = 0; + code[2] = 0; + + for (i=0; i < 4; i++) + { + code[0] <<= 2; + code[1] <<= 2; + code[2] <<= 2; + + // Line 1 + if ((oddLineCode & 0x80) != 0) + { + code[0] |= 2; + } + + if ((evenLineCode & 0x80) != 0) + { + code[0] |= 1; + } + + // Line 2 + if ((oddLineCode & 0x08) != 0) + { + code[1] |= 2; + } + + if ((evenLineCode & 0x08) != 0) + { + code[1] |= 1; + } + + // Column + if ((oddColumnCode & 0x04) != 0) + { + code[2] |= 2; + } + + if ((evenColumnCode & 0x04) != 0) + { + code[2] |= 1; + } + + oddLineCode <<= 1; + evenLineCode <<= 1; + oddColumnCode <<= 1; + evenColumnCode <<= 1; + } + + // Invert codes (linux compatibility) + code[0] = (~(rt_uint32_t)code[0]); + code[1] = (~(rt_uint32_t)code[1]); + code[2] = (~(rt_uint32_t)code[2]); +} + +void ecc_hamming_compute256x(const rt_uint8_t *pucData, rt_uint32_t dwSize, rt_uint8_t* puCode ) +{ + while ( dwSize > 0 ) + { + Compute256( pucData, puCode ) ; + + pucData += 256; + puCode += 3; + dwSize -= 256; + } +} + +/* read chip id */ +static rt_uint32_t nanddrv_file_read_id(struct rt_mtd_nand_device* device) +{ + return 0x00; +} + +/* read/write/move page */ +static rt_err_t nanddrv_file_read_page(struct rt_mtd_nand_device* device, + rt_off_t page, + rt_uint8_t *data, rt_uint32_t data_len, + rt_uint8_t *spare, rt_uint32_t spare_len) +{ + rt_uint32_t offset; + rt_uint8_t oob_buffer[OOB_SIZE]; + rt_uint8_t oob_ecc [OOB_SIZE]; + + page = page + device->block_start * device->pages_per_block; + + if (page/device->pages_per_block > device->block_end) + { + return -RT_EIO; + } + + /* write page */ + offset = page * PAGE_SIZE; + if (data != NULL) + { + fseek(file, offset, SEEK_SET); + fread(data, data_len, 1, file); + } + + offset = page * PAGE_SIZE + (PAGE_SIZE - OOB_SIZE); + fseek(file, offset, SEEK_SET); + fread(oob_buffer, OOB_SIZE, 1, file); + if (spare != NULL) + { + memcpy(spare, oob_buffer, spare_len); + } + + /* verify ECC */ + if (data != RT_NULL) + { + ecc_hamming_compute256x(data, PAGE_SIZE - OOB_SIZE, &oob_ecc[0]); + if (memcmp(&oob_ecc[0], &oob_buffer[0], OOB_SIZE - device->oob_free) != 0) return -RT_MTD_EECC; + } + + return RT_EOK; +} + +static rt_err_t nanddrv_file_write_page(struct rt_mtd_nand_device* device, + rt_off_t page, + const rt_uint8_t* data, rt_uint32_t data_len, + const rt_uint8_t* oob, rt_uint32_t spare_len) +{ + rt_uint32_t offset; + rt_uint8_t oob_buffer[OOB_SIZE]; + + page = page + device->block_start * device->pages_per_block; + if (page/device->pages_per_block > device->block_end) + { + return -RT_EIO; + } + + /* write page */ + offset = page * PAGE_SIZE; + if (data != NULL) + { + fseek(file, offset, SEEK_SET); + fwrite(data, PAGE_SIZE - OOB_SIZE, 1, file); + } + + offset = page * PAGE_SIZE + (PAGE_SIZE - OOB_SIZE); + fseek(file, offset, SEEK_SET); + + memset(oob_buffer, 0xff, sizeof(oob_buffer)); + ecc_hamming_compute256x(data, PAGE_SIZE - OOB_SIZE, &oob_buffer[0]); + if (oob != RT_NULL) + { + memcpy(&oob_buffer[OOB_SIZE - device->oob_free], + &oob[OOB_SIZE - device->oob_free], + device->oob_free); + } + fwrite(oob_buffer, OOB_SIZE, 1, file); + + return RT_EOK; +} + +static rt_err_t nanddrv_file_move_page(struct rt_mtd_nand_device* device, rt_off_t from, rt_off_t to) +{ + rt_uint32_t offset; + rt_uint8_t page_buffer[PAGE_SIZE - OOB_SIZE]; + rt_uint8_t oob_buffer[OOB_SIZE]; + + from = from + device->block_start * device->pages_per_block; + to = to + device->block_start * device->pages_per_block; + + if (from/device->pages_per_block > device->block_end || + to/device->pages_per_block > device->block_end) + { + return -RT_EIO; + } + + if (device->plane_num > 1) + { + rt_uint32_t mask; + rt_uint16_t from_block, to_block; + + from_block = (rt_uint16_t)(from / PAGE_PER_BLOCK); + to_block = (rt_uint16_t)(to / PAGE_PER_BLOCK); + mask = device->plane_num - 1; + + if ((from_block & mask) != (to_block & mask)) + { + rt_kprintf("invalid page copy on the block. from [%d] --> to[%d]\n", from_block, to_block); + return -RT_EIO; + } + } + + /* read page */ + offset = from * PAGE_SIZE; + fseek(file, offset, SEEK_SET); + fread(page_buffer, sizeof(page_buffer), 1, file); + fread(oob_buffer, sizeof(oob_buffer), 1, file); + + /* write page */ + offset = to * PAGE_SIZE; + fseek(file, offset, SEEK_SET); + fwrite(page_buffer, sizeof(page_buffer), 1, file); + fwrite(oob_buffer, sizeof(oob_buffer), 1, file); + + return RT_EOK; +} + +/* erase block */ +static rt_err_t nanddrv_file_erase_block(struct rt_mtd_nand_device* device, rt_uint32_t block) +{ + if (block > BLOCK_NUM) return -RT_EIO; + + /* add the start blocks */ + block = block + device->block_start * device->pages_per_block; + + fseek(file, block * BLOCK_SIZE, SEEK_SET ); + fwrite(block_data, sizeof(block_data), 1, file); + + return RT_EOK; +} + +const static struct rt_mtd_nand_driver_ops _ops = +{ + nanddrv_file_read_id, + nanddrv_file_read_page, + nanddrv_file_write_page, + nanddrv_file_move_page, + nanddrv_file_erase_block +}; + +void nand_eraseall(void); + +void rt_hw_mtd_nand_init(void) +{ + rt_uint16_t ecc_size; + rt_uint32_t size; + + memset(block_data, 0xff, sizeof(block_data)); + /* open file */ + file = fopen(NAND_SIM, "rb+"); + if (file == NULL) + { + file = fopen(NAND_SIM, "wb+"); + } + fseek(file, 0, SEEK_END); + size = ftell(file); + + fseek(file, 0, SEEK_SET ); + if (size < BLOCK_NUM * BLOCK_SIZE) + { + rt_uint32_t index; + fseek(file, 0, SEEK_SET ); + for (index = 0; index < BLOCK_NUM; index ++) + { + fwrite(block_data, sizeof(block_data), 1, file); + } + } + fseek(file, 0, SEEK_SET ); + + ecc_size = (PAGE_SIZE - OOB_SIZE) * 3/256; + _nanddrv_file_device.plane_num = 2; + _nanddrv_file_device.oob_size = OOB_SIZE; + _nanddrv_file_device.oob_free = OOB_SIZE - ecc_size; + _nanddrv_file_device.page_size = PAGE_SIZE - OOB_SIZE; + _nanddrv_file_device.pages_per_block = PAGE_PER_BLOCK; + _nanddrv_file_device.block_start = 0; + _nanddrv_file_device.block_end = BLOCK_NUM/2; + _nanddrv_file_device.block_total = _nanddrv_file_device.block_end - _nanddrv_file_device.block_start; + _nanddrv_file_device.ops = &_ops; + + rt_mtd_nand_register_device("nand0", &_nanddrv_file_device); +} + +#if defined(RT_USING_FINSH) +#include +void nand_eraseall() +{ + int index; + for (index = 0; index < _nanddrv_file_device.block_total; index ++) + { + nanddrv_file_erase_block(&_nanddrv_file_device, index); + } +} +FINSH_FUNCTION_EXPORT(nand_eraseall, erase all of block in the nand flash); + +#if 0 +void nand_log(int level) +{ + nftl_set_trace_level(level); +} +FINSH_FUNCTION_EXPORT(nand_log, set NFTL trace level); +#endif + +#endif //RT_USING_FINSH