1.4 nand命令位于./common/cmd_nand.c(所有命令文件都是存在common中,以cmd_xx.c形式保存) 其中nand命令执行时调用的是do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])函数 进入do_nand()函数: intdo_nand(cmd_tbl_t * cmdtp,intflag,intargc,char*argv[]) {inti, dev, ret;ulo...
1.4 nand命令位于./common/cmd_nand.c(所有命令文件都是存在common中,以cmd_xx.c形式保存)其中nand命令执行时调用的是do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])函数进入do_nand()函数: 代码语言:javascript 复制 intdo_nand(cmd_tbl_t*cmdtp,int flag,int argc,char*argv[]){...
int dev = nand_curr_device; //当前NAND芯片,如果板上有多个芯片,则不能直接赋值,大部分板子都是一个NAND int repeat = flag & CMD_FLAG_REPEAT; /* at least two arguments please */ if (argc < 2) goto usage; if (quiet_str) quiet = simple_strtoul(quiet_str, NULL, 0) != 0; cmd = ...
static void NanD_ReadBuf (struct nand_chip *nand, u_char * data_buf, int cntr); READ_NAND(adr); nand write 功能:从 SDRAM 写数据到 nand flash 中。 函数调用关系如下(按先后顺序): int nand_rw (struct nand_chip* nand, int cmd,size_t start, size_t len, size_t * retlen, u_char...
执行这条命令,将调用\u-boot-sunxi-sunxi\common\cmd_nand.c内的函数do_nand。 int do_nand(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[]) nand write 40008000 0 20000在参数argv中,而且 argv[0] = "nand" argv[1] = "write" ...
一、修改SD卡的u-boot1.1.6 1. common/main.c中 void main_loop (void) { …… if(bootdelay>=0&&s&&!abortboot(bootdelay)){ } //如果在启动过程中有按键,打断了执行过程的话 run_command("menu",0); //如果menu返回的话,就进入u-boot的shell中 #ifdef...
setenv用于设置或修改环境变量的值,环境变量一般存储于外部flash中,外部flash代指emmc,nand芯片,通俗点你可以理解为,硬盘分区上,uboot启时会从flash 加到DRAM中。 #设置 gxb_p201_v1#setenv name Marvin #打印 gxb_p201_v1#printenv name name=Marvin ...
NFSTAT : nand flash状态寄存器,cpu通过读取该寄存器获取nand flash当前状态 NFECC : nand flash ECC寄存器,实现循环校验功能 Nand flash读写模式下的管脚配置 D[7:0] :数据/命令/地址输入/输出端口(三线共享) CLE : Command Latch Enable (output)
#if defined(CONFIG_CMD_NAND& CFG_CMD_NAND) extern ulong nand_probe(ulong physadr); static inline void NF_Reset(void) { int i; NF_SetCE(NFCE_LOW); NF_Cmd(0xFF);/* reset command */ for(i = 0; i < 10; i++);/* tWB = 100ns. */ ...
nand_command() // 即可以用来发命令,也可以用来发列地址(页内地址)、行地址(哪一页) chip->cmd_ctrl s3c2440_hwcontrol chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1); *maf_id = chip->read_byte(mtd); *dev_id = chip->read_byte(mtd); ...