s3c2440 移值2016的u-boot-第3篇-支持Nor flash 识别

当选择,NOR flash 启用时,才可以访问 NOR FLASH 。
/common/board_r.c 364 line:
initr_flash()
flash_size = flash_init();

/drivers/mtd/cfi_flash.c
想要打开调试的话, 就定义这个
#define DEBUG
flash_init()
debug("JEDEC PROBE: ID %x %x %x\n",
info->manufacturer_id,
info->device_id,
info->device_id2);
if (jedec_flash_match(info, info->start[0]))
break;

/drivers/mtd/Jedec_flash.c
static const struct amd_flash_info jedec_table[] 中添加

 1 {
 2         .mfr_id        = (u16)MX_MANUFACT, // 厂家ID
 3         .dev_id        = AM29LV160DB,      // 设备ID 2249
 4         .name        = "MX 29LV160DB",   // 名称随意写
 5         .uaddr        = {
 6             [1] = MTD_UADDR_0x0555_0x02AA /* x16 */
 7         },
 8         .DevSize    = SIZE_2MiB,    //NOR FLASH 大小
 9         .CmdSet        = CFI_CMDSET_AMD_LEGACY, // 默认
10         .NumEraseRegions= 4,    // 4个擦除块,在下面写有每个大小
11         .regions    = {
12             ERASEINFO(16*1024, 1),
13             ERASEINFO(8*1024,  2),
14             ERASEINFO(32*1024, 1),
15             ERASEINFO(64*1024, 31),
16         }
17     },

烧写发现错误
ERROR: too many flash sectors
smdk2440.h
#define CONFIG_SYS_MAX_FLASH_SECT (19) 修改为比较大的值 35 : 1+2+1+31

打开调试,输出的信息

编译成功后,去掉调试信息

时间: 2024-11-07 22:49:35

s3c2440 移值2016的u-boot-第3篇-支持Nor flash 识别的相关文章

s3c2440 移值u-boot-2016.03 第4篇 支持NAND flash 识别

1, /include/configs/smdk2440.h 中添加 #define CONFIG_CMD_NAND 编译 drivers/mtd/nand/built-in.o: In function `nand_init_chip': /u-boot-2016.03/drivers/mtd/nand/nand.c:76: undefined reference to `board_nand_init' 发现是少了文件 /drivers/mtd/nand/s3c2410_nand.c 复制为

s3c2440 移值u-boot-2016.03 第6篇 支持mtd yaffs 烧写

1, 解决启动时的错误 Warning - bad CRC, using default environment 搜索发现 在 /tools/env/fw_env.c 中 /* 放在NAND FLASH 中 大小 128K 开始地址 */ #define CONFIG_ENV_IS_IN_NAND #define CONFIG_SYS_ENV_SECT_SIZE (128 << 10) #define CONFIG_ENV_OFFSET (256<<10) #define CONF

移值2016的u-boot-第2篇-支持Nand flash启动

1, 要求:在4K 的代码以内,完成 NOR NAND 类型判断,初始化 NAND 复制自身到 SDRAM ,重定向. 2, 在 /arch/arm/cpu/arm920t/ 文件夹里 添加一个 inic.c 的文件,要在这个文件里面做上面说的事情. 修改 /arch/arm/cpu/arm920t/Makefile 加入 inic.c 的 编译. extra-y = start.o obj-y += init.o obj-y += cpu.o init.c 最后有补丁文件 3, 在 start

s3c2440 移值u-boot-2016.03 第5篇 支持dm9000 识别

1, 通过查看 /drivers/net/Makefile 发现想要编译上,需要添加宏 /include/configs/smdk2440.h 中添加 #define CONFIG_DRIVER_DM9000 #define CONFIG_DM9000_BASE 0x20000000 #define DM9000_IO CONFIG_DM9000_BASE #define DM9000_DATA (CONFIG_DM9000_BASE+4) #define CONFIG_NETMASK 255.

移值UCOS2到M4核与M3核的区别

之前移值过ucos2到stm32f2系列的单片机,这个单片机是属于arm的m3内核的.最近在学习永磁同步电机的控制,对于这个电机的控制,有比较多的数学计算,甚至于还有浮点的运算.所以用到了stm32f4系列的单片机,这个单片机内置FPU,可以用几条指令就可以处理单精度的浮点数据,而它是属于M4内核的.因为原先移植过M3的基础,想着应该很快会搞定,没想到移植了几天的时间才搞清楚,下面就记录下M3与M4内核的ucos2的移植不同之处.其实M3与M4内核相差不大,对于我应用的来说,其实最大的不同一是M

OpenVPN移动性改造-靠新的session iD而不是IP/Port识别客户端

设备移动性的挑战 1.设备会经常由于小区或模式切换而更改IP地址. 这种地址更新是移动网络的正常行为,不应作为故障或事故看待,因此理应对应用程序透明,应用不应被此类事件打扰,更无责做善后处理. 2.移动设备存在多张3G/4G/2.75G网卡时,希望这些网卡同时收发数据. 由于这些网卡一般属于不同运营商网络,其网络架构又不同,一般要求数据包携带本运营商网卡的IP地址作为源(这一般是为了在该运营商核心网终点处做NAT),因此为了支持多运营商多网卡负载均衡,一个应用程序业务流数据包必然要支持不同的IP

Spring Boot项目如何同时支持HTTP和HTTPS协议

本文首发于个人网站:Spring Boot项目如何同时支持HTTP和HTTPS协议 如今,企业级应用程序的常见场景是同时支持HTTP和HTTPS两种协议,这篇文章考虑如何让Spring Boot应用程序同时支持HTTP和HTTPS两种协议. 准备 为了使用HTTPS连接器,需要生成一份Certificate keystore,用于加密和机密浏览器的SSL沟通. 如果你使用Unix或者Mac OS,可以通过下列命令:keytool -genkey -alias tomcat -keyalg RSA

Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称

手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数据,经过分析一个简单的列表接口每一行数据返回了16个字段,但是手机APP端只用到了其中7个字段,剩余9个字段的数据全部都是多余的,如果接口返回数据为40K大小,也就是说大约20K的数据为无效数据,3G网络下20K下载差不多需要1s,不返回无效数据至少可以节约1s的时间,大大提高用户体验.本篇将为大家

dm9000c 移值新内核 linux-4.1.24

错误 1 /home/dm9000/dm9dev9000c.c:309: error: conflicting types for 'phy_read'include/linux/phy.h:637: error: previous definition of 'phy_read' was here/home/dm9000/dm9dev9000c.c:310: error: conflicting types for 'phy_write'include/linux/phy.h:652: err