亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚欧色一区w666天堂| 99久久精品国产一区| 亚洲成人tv网| 亚洲午夜电影在线| 尤物av一区二区| 亚洲欧美另类在线| 一区二区三区欧美日| 亚洲女人****多毛耸耸8| 亚洲欧美在线观看| 亚洲视频1区2区| 亚洲码国产岛国毛片在线| 亚洲欧美中日韩| 亚洲视频网在线直播| 亚洲欧美日本韩国| 亚洲国产日日夜夜| 婷婷国产v国产偷v亚洲高清| 日韩电影在线看| 麻豆国产91在线播放| 韩国毛片一区二区三区| 国产精品香蕉一区二区三区| 国产麻豆视频一区二区| 岛国一区二区三区| 99re在线精品| 欧美网站一区二区| 日韩久久精品一区| 国产午夜亚洲精品午夜鲁丝片| 日本va欧美va瓶| 美女网站在线免费欧美精品| 激情五月播播久久久精品| 国产高清一区日本| 91麻豆国产福利在线观看| 99re亚洲国产精品| 欧美日韩国产大片| www精品美女久久久tv| 国产精品私房写真福利视频| 亚洲精品国产一区二区精华液| 2023国产精品| 亚洲欧洲国产专区| 天天影视涩香欲综合网| 黑人巨大精品欧美黑白配亚洲| 亚洲香肠在线观看| 久久成人羞羞网站| 成人在线视频一区| 欧美视频精品在线观看| 欧美成人vps| 亚洲天堂av老司机| 日本午夜一区二区| 国产一区二区0| 在线观看视频一区| 亚洲精品一区二区精华| 亚洲视频中文字幕| 另类小说色综合网站| 不卡一卡二卡三乱码免费网站| 国产精品羞羞答答xxdd| av电影天堂一区二区在线| 欧美日韩国产大片| 国产精品久久久久影院| 午夜精品久久久久久久久久久| 亚洲综合色在线| 国产一区二区三区四区在线观看| 美女视频黄久久| 91亚洲永久精品| 欧美精品一区二区三区很污很色的| 91精品国产综合久久精品麻豆 | 亚洲国产精品一区二区久久恐怖片| 亚洲天堂精品视频| 激情综合色综合久久| 色天使久久综合网天天| 久久久久久久综合色一本| 亚洲综合另类小说| 成人黄色大片在线观看| 日韩欧美成人激情| 亚洲小少妇裸体bbw| 白白色亚洲国产精品| 欧美精品一区二区三区在线 | 国产欧美一区二区精品性色 | 久久久久99精品一区| 性久久久久久久久久久久| 国产69精品久久久久毛片| 国产精品麻豆久久久| 日本伊人色综合网| 欧美在线免费观看视频| 国产精品不卡一区二区三区| 久久97超碰国产精品超碰| 欧美色图激情小说| 中文字幕一区二区三区四区不卡 | 伊人色综合久久天天| 国产精品一二三四五| 91精品免费在线观看| 亚洲综合av网| 91性感美女视频| 欧美国产禁国产网站cc| 狠狠色综合日日| 日韩三级电影网址| 轻轻草成人在线| 3d成人h动漫网站入口| 亚洲国产一区二区视频| 91国产丝袜在线播放| 亚洲精品免费一二三区| 91亚洲国产成人精品一区二三 | 久久久亚洲精华液精华液精华液 | 亚洲精品自拍动漫在线| 成人v精品蜜桃久久一区| 国产视频在线观看一区二区三区| 日韩一区中文字幕| 国产成人精品在线看| 国产日韩成人精品| 国产成人午夜电影网| 国产欧美视频一区二区三区| 国产美女在线观看一区| 国产亚洲短视频| 国产成人免费视频网站 | 久久精品水蜜桃av综合天堂| 美女视频一区二区| 精品免费日韩av| 精品在线你懂的| 国产三级精品三级| 成人精品国产福利| 亚洲欧美成人一区二区三区| 国产精品久久久久三级| 粉嫩13p一区二区三区| 国产精品人人做人人爽人人添| 日本最新不卡在线| 日韩免费观看2025年上映的电影| 中文字幕一区二区三区色视频 | 国产精品18久久久久久vr| 欧美电视剧在线看免费| 国产一区二区看久久| 日本一区二区视频在线观看| 99天天综合性| 一级特黄大欧美久久久| 91精品国产综合久久精品图片| 国产精品久久久久aaaa樱花| 91色综合久久久久婷婷| 亚洲成人黄色小说| 精品理论电影在线| 成人av在线播放网址| 亚洲午夜免费视频| 欧美一区二区三区视频在线观看| 亚洲欧美日韩中文播放| 欧美三级电影网| 韩国理伦片一区二区三区在线播放| 欧美日韩国产一级二级| 另类欧美日韩国产在线| 国产精品家庭影院| 欧美日韩黄色影视| 国内精品在线播放| 亚洲人成影院在线观看| 91精品国产综合久久福利软件| 亚洲18女电影在线观看| 欧美r级电影在线观看| 成人av网址在线| 污片在线观看一区二区| 久久蜜桃av一区精品变态类天堂| 久久成人久久鬼色| 中文字幕中文字幕一区| 欧美日韩国产经典色站一区二区三区| 亚洲女人****多毛耸耸8| 欧美一区二区三区视频在线| 国产精品123区| 午夜欧美大尺度福利影院在线看| 欧美午夜一区二区三区| 精品一区二区三区免费观看| 亚洲视频在线一区观看| 精品欧美乱码久久久久久| 99久久婷婷国产| 国产自产视频一区二区三区| 亚洲国产成人91porn| 国产夜色精品一区二区av| 欧美放荡的少妇| 成人黄色a**站在线观看| 蜜臀av亚洲一区中文字幕| 亚洲精品一二三| 久久久久久久久久电影| 91精品国产欧美日韩| 色综合一个色综合亚洲| 欧美日韩一级视频| 国产精品一区二区男女羞羞无遮挡| 国产亚洲精品免费| 欧美情侣在线播放| 99r国产精品| 国产美女主播视频一区| 婷婷中文字幕一区三区| 亚洲精品成a人| 国产精品国产三级国产aⅴ原创 | 欧美精品少妇一区二区三区| 成人av综合在线| 国产真实精品久久二三区| 日韩中文字幕不卡| 亚洲国产综合色| 1024亚洲合集| 免费观看日韩电影| 亚洲丶国产丶欧美一区二区三区| 69堂精品视频| 在线亚洲一区二区| 成人精品高清在线| 国产精品 日产精品 欧美精品| 亚洲免费大片在线观看| 国产精品国产三级国产普通话99| 国产精品视频线看|