亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filesystem.lst

?? ENC28J60 System HTTP
?? LST
?? 第 1 頁 / 共 5 頁
字號:
   1               		.file	"filesystem.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
 118               	.global	filesystem_format
 120               	filesystem_format:
   1:io/filesystem.c **** /*
   2:io/filesystem.c **** ,-----------------------------------------------------------------------------------------.
   3:io/filesystem.c **** | io/filesystem
   4:io/filesystem.c **** |-----------------------------------------------------------------------------------------
   5:io/filesystem.c **** | this file implements a very very basic (custom) filesystem (->dataflash)
   6:io/filesystem.c **** | - 600 files max
   7:io/filesystem.c **** | - smallest file unit is 256 Byte
   8:io/filesystem.c **** | - store file as linked list across the whole dataflash
   9:io/filesystem.c **** | - file extension is always lowercase !!
  10:io/filesystem.c **** | - see below for filesystem information
  11:io/filesystem.c **** |
  12:io/filesystem.c **** | Author   : {{removed according to contest rules}}
  13:io/filesystem.c **** |            -> circuitcellar.com avr design contest 2006
  14:io/filesystem.c **** |            -> Entry #AT2616
  15:io/filesystem.c **** |
  16:io/filesystem.c **** |-----------------------------------------------------------------------------------------
  17:io/filesystem.c **** | License:
  18:io/filesystem.c **** | This program is free software; you can redistribute it and/or modify it under
  19:io/filesystem.c **** | the terms of the GNU General Public License as published by the Free Software
  20:io/filesystem.c **** | Foundation; either version 2 of the License, or (at your option) any later
  21:io/filesystem.c **** | version.
  22:io/filesystem.c **** | This program is distributed in the hope that it will be useful, but
  23:io/filesystem.c **** |
  24:io/filesystem.c **** | WITHOUT ANY WARRANTY;
  25:io/filesystem.c **** |
  26:io/filesystem.c **** | without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  27:io/filesystem.c **** | PURPOSE. See the GNU General Public License for more details.
  28:io/filesystem.c **** |
  29:io/filesystem.c **** | You should have received a copy of the GNU General Public License along with
  30:io/filesystem.c **** | this program; if not, write to the Free Software Foundation, Inc., 51
  31:io/filesystem.c **** | Franklin St, Fifth Floor, Boston, MA 02110, USA
  32:io/filesystem.c **** |
  33:io/filesystem.c **** | http://www.gnu.de/gpl-ger.html
  34:io/filesystem.c **** `-----------------------------------------------------------------------------------------*/
  35:io/filesystem.c **** #include "filesystem.h"
  36:io/filesystem.c **** #include "dataflash.h"
  37:io/filesystem.c **** 
  38:io/filesystem.c **** //ACTIVATE DEBUG by editing this file:
  39:io/filesystem.c **** #include "debug.h"
  40:io/filesystem.c **** 
  41:io/filesystem.c **** #define FILESYSTEM_REVISION 0x01
  42:io/filesystem.c **** 
  43:io/filesystem.c **** /*
  44:io/filesystem.c **** store filesystem on dataflash
  45:io/filesystem.c **** 
  46:io/filesystem.c **** simple quick and dirty filesystem.
  47:io/filesystem.c **** store files in multiples of pagesize, every file chunk
  48:io/filesystem.c **** stores a pointer to the next data segment (linked list)
  49:io/filesystem.c **** 
  50:io/filesystem.c **** -------------------------------------------------------------------------------
  51:io/filesystem.c **** every file consists of blocks with 256+8 Byte (=pagesize)
  52:io/filesystem.c **** - byte   0-255: DATA
  53:io/filesystem.c **** - byte     256: free/used tag -- 0xE0 -> used page, everything else: free page 
  54:io/filesystem.c **** - byte     257: filesystem revision (starts with 0x01)
  55:io/filesystem.c **** - byte 258+259: file id (16bit uint) 
  56:io/filesystem.c **** - byte 260+261: pointer to next file block
  57:io/filesystem.c **** - byte     262: block tag: 0x00 = first block, 0xEE = last block -> blocktag != 0xEE -> read more
  58:io/filesystem.c **** - byte     262: how many bytes of this block are used
  59:io/filesystem.c **** 
  60:io/filesystem.c **** -------------------------------------------------------------------------------*/
  61:io/filesystem.c **** #define FILESYSTEM_FILE_FREETAG  0x100
  62:io/filesystem.c **** #define FILESYSTEM_FILE_REV      0x101
  63:io/filesystem.c **** #define FILESYSTEM_FILE_ID_HI    0x102
  64:io/filesystem.c **** #define FILESYSTEM_FILE_ID_LO    0x103
  65:io/filesystem.c **** #define FILESYSTEM_FILE_NEXT_HI  0x104
  66:io/filesystem.c **** #define FILESYSTEM_FILE_NEXT_LO  0x105
  67:io/filesystem.c **** #define FILESYSTEM_FILE_BLOCKTAG 0x106
  68:io/filesystem.c **** #define FILESYSTEM_FILE_BLOCK_USAGE 0x107
  69:io/filesystem.c **** 
  70:io/filesystem.c **** /*
  71:io/filesystem.c **** -------------------------------------------------------------------------------
  72:io/filesystem.c **** filesystem info table is stored in block 0-49
  73:io/filesystem.c **** - every entry has 24 bytes:
  74:io/filesystem.c ****   - byte  0- 1 : 16 bit file id (uint) (valid fileid: 1...549)
  75:io/filesystem.c ****   - byte  2- 5 : 32 bit timestamp (last modified)
  76:io/filesystem.c ****   - byte  6-16 : 11 byte filename (8+3 chars)
  77:io/filesystem.c ****   - byte 17-18 : address of first block
  78:io/filesystem.c ****   - byte 19-20 : address of last block
  79:io/filesystem.c ****   - byte 21-23 : RESERVED
  80:io/filesystem.c **** -------------------------------------------------------------------------------
  81:io/filesystem.c **** 
  82:io/filesystem.c **** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  83:io/filesystem.c **** WARNING: we only support one open file (for writing) at one time !!!
  84:io/filesystem.c **** !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  85:io/filesystem.c **** 
  86:io/filesystem.c **** */
  87:io/filesystem.c **** 
  88:io/filesystem.c **** ///
  89:io/filesystem.c **** /// TODO: 
  90:io/filesystem.c **** /// - replace writing of 0s with dataflash erase cmd !!!!
  91:io/filesystem.c **** #define FILESYSTEM_TABLE_SIZE 50
  92:io/filesystem.c **** #define FILESYSTEM_BLOCK_COUNT 2048
  93:io/filesystem.c **** 
  94:io/filesystem.c **** #define FILESYSTEM_STATUS_IDLE      0x00
  95:io/filesystem.c **** #define FILESYSTEM_STATUS_FILE_OPEN 0x01
  96:io/filesystem.c **** 
  97:io/filesystem.c **** #define FILESYSTEM_FTABLE_ID_HI			   0
  98:io/filesystem.c **** #define FILESYSTEM_FTABLE_ID_LO			   1
  99:io/filesystem.c **** #define FILESYSTEM_FTABLE_TIMESTAMP_3  2
 100:io/filesystem.c **** #define FILESYSTEM_FTABLE_TIMESTAMP_2  3
 101:io/filesystem.c **** #define FILESYSTEM_FTABLE_TIMESTAMP_1  4
 102:io/filesystem.c **** #define FILESYSTEM_FTABLE_TIMESTAMP_0  5
 103:io/filesystem.c **** //position of filename start
 104:io/filesystem.c **** #define FILESYSTEM_FTABLE_FILENAME_START  6
 105:io/filesystem.c **** #define FILESYSTEM_FTABLE_BLOCK_START_HI 17
 106:io/filesystem.c **** #define FILESYSTEM_FTABLE_BLOCK_START_LO 18
 107:io/filesystem.c **** #define FILESYSTEM_FTABLE_BLOCK_COUNT_HI 19
 108:io/filesystem.c **** #define FILESYSTEM_FTABLE_BLOCK_COUNT_LO 20
 109:io/filesystem.c **** 
 110:io/filesystem.c **** volatile unsigned char filesystem_status;
 111:io/filesystem.c **** volatile unsigned int  filesystem_fileid;
 112:io/filesystem.c **** 
 113:io/filesystem.c **** volatile unsigned int  filesystem_first_block;
 114:io/filesystem.c **** volatile unsigned int  filesystem_current_block;
 115:io/filesystem.c **** volatile unsigned int  filesystem_block_count;
 116:io/filesystem.c **** 
 117:io/filesystem.c **** 
 118:io/filesystem.c **** volatile unsigned char filesystem_filename[8];
 119:io/filesystem.c **** volatile unsigned char filesystem_filename_ext[3];
 120:io/filesystem.c **** 
 121:io/filesystem.c **** unsigned char filesystem_buffer[256];
 122:io/filesystem.c **** 
 123:io/filesystem.c **** volatile unsigned char filesystem_file_pos;
 124:io/filesystem.c **** 
 125:io/filesystem.c **** //init
 126:io/filesystem.c **** void filesystem_init(){
 127:io/filesystem.c **** 	filesystem_status = FILESYSTEM_STATUS_IDLE;
 128:io/filesystem.c **** 	filesystem_fileid = 0;
 129:io/filesystem.c **** 	filesystem_first_block = 0;
 130:io/filesystem.c **** 	filesystem_current_block = 0;
 131:io/filesystem.c **** 
 132:io/filesystem.c **** 	filesystem_file_pos = 0;
 133:io/filesystem.c **** 
 134:io/filesystem.c **** 	//check if we need to format flash:
 135:io/filesystem.c **** 	dataflash_copy_page_to_buffer(0, 0);
 136:io/filesystem.c **** 	if ((dataflash_read_buffer(0, 0)==0xFF) && (dataflash_read_buffer(1, 0)==0xFF))
 137:io/filesystem.c **** 		filesystem_format();
 138:io/filesystem.c **** }
 139:io/filesystem.c **** 
 140:io/filesystem.c **** void filesystem_delete_file(unsigned int fileid){
 141:io/filesystem.c **** 	unsigned int tmp;
 142:io/filesystem.c **** 	unsigned int tmp_old;
 143:io/filesystem.c **** 	unsigned int pos;
 144:io/filesystem.c **** 
 145:io/filesystem.c **** 	//invalid fileid ?
 146:io/filesystem.c **** 	if (fileid == 0)
 147:io/filesystem.c **** 		return;
 148:io/filesystem.c **** 
 149:io/filesystem.c **** 	//copy lookuptable page to dataflash buffer 0
 150:io/filesystem.c **** 	dataflash_copy_page_to_buffer(((fileid-1)/11), 0);
 151:io/filesystem.c **** 	
 152:io/filesystem.c **** 	//pos inside page is ?
 153:io/filesystem.c **** 	pos = 24*((fileid-1) % 11);
 154:io/filesystem.c **** 
 155:io/filesystem.c **** 	#if FILESYSTEM_DEBUG
 156:io/filesystem.c **** 	softuart_puts_progmem("FS  : deleting #");
 157:io/filesystem.c **** 	softuart_put_uint16(fileid);
 158:io/filesystem.c **** 	softuart_puts_progmem("... ");
 159:io/filesystem.c **** 	#endif
 160:io/filesystem.c **** 
 161:io/filesystem.c **** 	//get first block:
 162:io/filesystem.c **** 	tmp  = dataflash_read_buffer(pos + FILESYSTEM_FTABLE_BLOCK_START_HI, 0)<<8;
 163:io/filesystem.c **** 	tmp |= dataflash_read_buffer(pos + FILESYSTEM_FTABLE_BLOCK_START_LO, 0);
 164:io/filesystem.c **** 
 165:io/filesystem.c **** 	//mark lookup table entry as empty:
 166:io/filesystem.c **** 	dataflash_write_to_page_buffer(pos+FILESYSTEM_FTABLE_ID_HI,0,0);
 167:io/filesystem.c **** 	dataflash_write_to_page_buffer(pos+FILESYSTEM_FTABLE_ID_LO,0,0);
 168:io/filesystem.c **** 
 169:io/filesystem.c **** 	//store lookuptable
 170:io/filesystem.c **** 	dataflash_copy_buffer_to_page(((fileid-1)/11), 0);
 171:io/filesystem.c **** 
 172:io/filesystem.c **** 	//clear buffer:
 173:io/filesystem.c **** 	for (unsigned int j=0; j<256+8; j++)
 174:io/filesystem.c **** 		dataflash_write_to_page_buffer(j,1,0);
 175:io/filesystem.c **** 
 176:io/filesystem.c **** 	while (tmp != 0x0000){
 177:io/filesystem.c **** 		#if FILESYSTEM_DEBUG
 178:io/filesystem.c **** 		softuart_putc('x');
 179:io/filesystem.c **** 		#endif
 180:io/filesystem.c **** 		//copy block to buffer0:
 181:io/filesystem.c **** 		dataflash_copy_page_to_buffer(tmp, 0);
 182:io/filesystem.c **** 
 183:io/filesystem.c **** 		//remember page to clear
 184:io/filesystem.c **** 		tmp_old = tmp;
 185:io/filesystem.c **** 
 186:io/filesystem.c **** 		//calc next block:
 187:io/filesystem.c **** 		tmp  = dataflash_read_buffer(FILESYSTEM_FILE_NEXT_HI, 0)<<8;
 188:io/filesystem.c **** 		tmp |= dataflash_read_buffer(FILESYSTEM_FILE_NEXT_LO, 0);
 189:io/filesystem.c **** 		
 190:io/filesystem.c **** 		//tmp should be zero if this is the last block. but we have a flag for last block, too:
 191:io/filesystem.c **** 		if (dataflash_read_buffer(FILESYSTEM_FILE_BLOCKTAG,0) == 0xEE)
 192:io/filesystem.c **** 			tmp = 0x0000; //last block!
 193:io/filesystem.c **** 		else
 194:io/filesystem.c **** 			dataflash_copy_buffer_to_page(tmp_old,1);
 195:io/filesystem.c **** 	}
 196:io/filesystem.c **** 	#if FILESYSTEM_DEBUG
 197:io/filesystem.c **** 	softuart_puts_progmem(" done");
 198:io/filesystem.c **** 	softuart_putnewline();
 199:io/filesystem.c **** 	#endif
 200:io/filesystem.c **** }
 201:io/filesystem.c **** 
 202:io/filesystem.c **** /*
 203:io/filesystem.c **** void filesystem_dump_file(unsigned int fileid){
 204:io/filesystem.c **** 	unsigned int tmp;
 205:io/filesystem.c **** 	unsigned int count;
 206:io/filesystem.c **** 	unsigned int pos;
 207:io/filesystem.c **** 
 208:io/filesystem.c **** 	//invalid fileid ?
 209:io/filesystem.c **** 	if (fileid == 0)
 210:io/filesystem.c **** 		return;
 211:io/filesystem.c **** 
 212:io/filesystem.c **** 	//copy lookuptable page to dataflash buffer 0
 213:io/filesystem.c **** 	dataflash_copy_page_to_buffer(((fileid-1)/11), 0);
 214:io/filesystem.c **** 	
 215:io/filesystem.c **** 	//pos inside page is ?
 216:io/filesystem.c **** 	pos = 24*((fileid-1) % 11);
 217:io/filesystem.c **** 
 218:io/filesystem.c **** 	#if FILESYSTEM_DEBUG
 219:io/filesystem.c **** 	softuart_puts_progmem("FS  : dumping #");
 220:io/filesystem.c **** 	softuart_put_uint16(fileid);
 221:io/filesystem.c **** 	softuart_puts_progmem(", loc on block ");
 222:io/filesystem.c **** 	softuart_put_uint16((fileid-1)/11);
 223:io/filesystem.c **** 	softuart_puts_progmem(", pos ");
 224:io/filesystem.c **** 	softuart_put_uint8(pos);
 225:io/filesystem.c **** 	softuart_putnewline();
 226:io/filesystem.c **** 	#endif
 227:io/filesystem.c **** 
 228:io/filesystem.c **** 	//get first block:
 229:io/filesystem.c **** 	tmp  = dataflash_read_buffer(pos + FILESYSTEM_FTABLE_BLOCK_START_HI, 0)<<8;
 230:io/filesystem.c **** 	tmp |= dataflash_read_buffer(pos + FILESYSTEM_FTABLE_BLOCK_START_LO, 0);
 231:io/filesystem.c **** 
 232:io/filesystem.c **** 
 233:io/filesystem.c **** 	while (tmp != 0x0000){
 234:io/filesystem.c **** 		//copy block to buffer0:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级小视频| 欧美影视一区在线| 日本亚洲视频在线| 一本到高清视频免费精品| 精品日韩一区二区三区免费视频| 夜夜操天天操亚洲| 91色.com| 久久蜜桃av一区精品变态类天堂| 天天操天天综合网| 在线观看成人小视频| 国产精品人人做人人爽人人添| 美女免费视频一区二区| 在线观看视频一区| 亚洲人成在线播放网站岛国 | 91精品麻豆日日躁夜夜躁| 亚洲人亚洲人成电影网站色| 成人综合在线网站| 国产亚洲欧美一级| 91精品蜜臀在线一区尤物| 亚洲一二三四在线观看| 欧美艳星brazzers| 一区二区三区不卡视频在线观看| 99精品黄色片免费大全| 国产精品久久久久久久久免费相片| 国产乱码精品一区二区三区忘忧草 | 欧美麻豆精品久久久久久| 一区二区免费视频| 欧美日韩高清不卡| 日韩av一区二区三区四区| 在线播放视频一区| 美女视频一区在线观看| 精品久久久久99| 国产成人在线免费| 最新成人av在线| 欧美性受xxxx黑人xyx| 婷婷综合另类小说色区| 日韩免费成人网| 麻豆91精品视频| 久久伊人蜜桃av一区二区| 国产福利91精品| 国产精品久久国产精麻豆99网站| 一本一道综合狠狠老| 亚洲成人一区在线| 欧美成人a视频| 成人黄色免费短视频| 亚洲综合色婷婷| 日韩午夜精品视频| 成人黄色小视频| 亚洲桃色在线一区| 91精选在线观看| 久久狠狠亚洲综合| 亚洲少妇最新在线视频| 国产精品毛片久久久久久久| 91片在线免费观看| 欧美三级日韩在线| 久久99深爱久久99精品| 亚洲精品一二三| 欧美激情一区不卡| 精品第一国产综合精品aⅴ| 欧美在线观看一二区| 福利一区二区在线| 精品一区在线看| 五月天激情综合网| 一区二区三区不卡视频在线观看 | 精品少妇一区二区三区日产乱码 | 91精品蜜臀在线一区尤物| 一本大道av一区二区在线播放| 国产激情一区二区三区四区| 日本不卡在线视频| 午夜影视日本亚洲欧洲精品| 亚洲品质自拍视频| 国产精品久久久久精k8| 国产欧美日韩另类视频免费观看| 欧美α欧美αv大片| 91精品国产综合久久福利软件 | 欧美唯美清纯偷拍| 一本大道久久a久久精品综合| 岛国精品一区二区| 国产98色在线|日韩| 国产v日产∨综合v精品视频| 国产精品自在在线| 国产精品中文字幕欧美| 国产河南妇女毛片精品久久久| 精品综合久久久久久8888| 免费不卡在线观看| 另类综合日韩欧美亚洲| 久久99精品国产麻豆婷婷洗澡| 久久99久国产精品黄毛片色诱| 美女一区二区三区在线观看| 麻豆精品精品国产自在97香蕉| 久久精品国产秦先生| 国模大尺度一区二区三区| 国产麻豆精品theporn| 国产精品69久久久久水密桃| 国产精品18久久久久久久久| 丁香五精品蜜臀久久久久99网站| 成a人片国产精品| 91国在线观看| 在线播放中文一区| 久久久久久久久久电影| 国产精品福利电影一区二区三区四区| 亚洲欧洲精品成人久久奇米网| 亚洲女厕所小便bbb| 亚欧色一区w666天堂| 美国十次了思思久久精品导航| 久久99精品国产麻豆婷婷洗澡| 国产v日产∨综合v精品视频| 色综合色狠狠综合色| 制服丝袜日韩国产| 欧美国产一区在线| 亚洲中国最大av网站| 男女性色大片免费观看一区二区| 国产一区二区成人久久免费影院| av在线一区二区| 欧美日韩一区视频| 久久青草欧美一区二区三区| 国产精品久久久久7777按摩| 亚洲一二三区在线观看| 久久se精品一区二区| proumb性欧美在线观看| 欧美日本韩国一区二区三区视频| 欧美成人性战久久| 综合电影一区二区三区 | 欧美r级电影在线观看| 亚洲私人影院在线观看| 精品制服美女丁香| 色先锋久久av资源部| 精品国产乱码久久| 一区二区三区免费网站| 国内外精品视频| 欧美在线免费视屏| 久久久不卡影院| 性欧美疯狂xxxxbbbb| 成人开心网精品视频| 欧美一区二区三区在线视频| 成人免费在线视频| 狠狠色综合日日| 欧美无乱码久久久免费午夜一区 | 国产一区二区三区视频在线播放| 99久久精品免费| 精品伦理精品一区| 亚洲五月六月丁香激情| 粉嫩av一区二区三区粉嫩| 69av一区二区三区| 亚洲精品乱码久久久久久久久| 国精产品一区一区三区mba桃花 | 国产精选一区二区三区| 欧美三级电影网| 亚洲欧美视频在线观看| 国产精品亚洲а∨天堂免在线| 欧美精品 日韩| 亚洲人成网站在线| 高清不卡在线观看| 精品国产91久久久久久久妲己| 午夜精品久久久久久久| 91麻豆精品在线观看| 中文字幕电影一区| 国产麻豆精品一区二区| 精品国产自在久精品国产| 奇米一区二区三区av| 欧美日韩亚洲国产综合| 亚洲美女屁股眼交3| av激情综合网| 中文字幕一区日韩精品欧美| 国产99久久久国产精品潘金| 精品国产三级a在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产人成亚洲第一网站在线播放| 麻豆精品一区二区av白丝在线 | 欧美一级黄色录像| 丝袜亚洲另类欧美综合| 欧美麻豆精品久久久久久| 午夜精品国产更新| 制服丝袜国产精品| 日韩国产一二三区| 日韩一区二区在线观看视频播放| 偷窥少妇高潮呻吟av久久免费| 欧美伦理视频网站| 男女视频一区二区| 欧美成人高清电影在线| 精品亚洲国产成人av制服丝袜 | 亚洲区小说区图片区qvod| 91视频一区二区三区| 亚洲欧洲中文日韩久久av乱码| 色综合天天视频在线观看| 一区二区三区四区蜜桃| 欧美日韩一本到| 蜜臀久久久99精品久久久久久| 精品国产一区二区三区久久影院 | 精品在线播放免费| 精品日韩一区二区| 成人午夜激情在线| 一区二区三区久久| 日韩欧美在线网站| 懂色av一区二区三区蜜臀| 亚洲精品videosex极品| 777精品伊人久久久久大香线蕉| 美女视频一区二区| 国产精品美女久久久久av爽李琼| 91无套直看片红桃|