摘要: 1. 网口硬件方案:AT91SAM9G10 + DM9000CEP;DM9000CEP为MAC+PHY解决方案,与MCU链接通过8位或16位数据总线。内部SRAM为16Kbyte。2. DM9000CEP硬件接口(略)。3. DM9000CEP寄存器。DM9000CEP包含两类寄存器:控制状态寄存器... 阅读全文
posted @ 2015-09-22 22:03 yuxi_o 阅读(706) 评论(0) 推荐(0) 编辑
摘要: CMD配置位于config_cmd_default.h configs/at91/sam9g10ek.h头文件位于include/command.h41 struct cmd_tbl_s {42 char *name; /* Command Name */43 int maxargs; /* max... 阅读全文
posted @ 2015-09-21 00:19 yuxi_o 阅读(405) 评论(0) 推荐(0) 编辑
摘要: setup.h通过宏定义实现了bootargs传递参数到内核,值得以后编程学习。include/asm-arm/setup.h14 * NOTE:15 * This file contains two ways to pass information from the boot16 * loader... 阅读全文
posted @ 2015-09-21 00:18 yuxi_o 阅读(623) 评论(0) 推荐(0) 编辑
摘要: 通过搜素比对字符串保存env。所有的env都保存在一起,每个环境变量字段都以“\0\0”结束,最后一个命令字段以“\0\0\0”结束。每次uboot启动时,先读出环境变量。当设置新数据时,遍历整个env,确认是否有重复的,有重复的删除掉,并把新数据设置到环境变量最后。只有当运行saveenv时才把数... 阅读全文
posted @ 2015-09-21 00:16 yuxi_o 阅读(1677) 评论(0) 推荐(0) 编辑
摘要: 帧缓冲区fb在内存中,要实现fb同步显示需要设定DMA操作。设定LCD的DMA操作,要在开始操作LCD之前。common/lcd.c中定义lcd_init() -->driver/video/atmel_lcdfb.c定义lcd_ctrl_init().lcd_ctrl_init()定义了DMA与m... 阅读全文
posted @ 2015-09-21 00:12 yuxi_o 阅读(840) 评论(0) 推荐(0) 编辑
摘要: 位图或logo和开机显示画面,是两个完全不同的东西。logo显示uboot相关信息,如版本号等。开机画面是用户下载到固定位置后uboot加载的。1.开机画面在uboot中使用splash screen可以实现u-boot启动后,在LCD上显示自定义图片。#define CONFIG_SPLASH_S... 阅读全文
posted @ 2015-09-21 00:11 yuxi_o 阅读(1005) 评论(0) 推荐(0) 编辑
摘要: start ->start_armboot ->main_loop实际应用中问题:为什么从nandflash读出的MAC(写到物理phy上)与上层网口地址不同(上层网口采用env的mac)?从nandflash读出mac并写入phy后,才初始化网络设备即eth_initialize(),其读取env... 阅读全文
posted @ 2015-09-21 00:10 yuxi_o 阅读(582) 评论(0) 推荐(0) 编辑
摘要: printk会阻塞,不能用在中断上下文。 基础 涉及文件:kernel/printk.c include/linux/kernel.h include/linux/device.h(dev_info\dev_dbg) 用printk内核会根据日志级别把消息打印到当前控制台上。 信息正常输出前提是-- 阅读全文
posted @ 2015-09-21 00:05 yuxi_o 阅读(1543) 评论(0) 推荐(0) 编辑
摘要: linux启动时会又大量信息打印,若要使启动信息不打印,需修改内核中两处:1. 内核配置项。 CONFIG_SERIAL_ATMEL_CONSOLE=y //去掉终端配置选项。2. 内核解压缩时,终端由于uboot初始化过,所以解压信息会有打印,注释掉内核解压打印。 arch/arm/boot/co... 阅读全文
posted @ 2015-09-21 00:03 yuxi_o 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 转自:详谈Linux写时拷贝技术(copy-on-write)必看篇 参考:再谈 copy-on-write 知乎 COW技术初窥 在linux程序中,fork()会产生一个和父进程完全相同的子进程,但子进程在此后多会exec系统调用,出于效率考虑,linux中引入了“写时复制”技术,也就是只有进程 阅读全文
posted @ 2015-09-20 23:47 yuxi_o 阅读(439) 评论(0) 推荐(0) 编辑