调试U-Boot笔记(八)

简介:
  在 上一节的实验中,我们推断出写NorFlash失败的原因是在 flash_erase() 函数中执行擦除操作时执行了 L88 或 L92 处的 goto outahere; 直接跳到 L105去执行了。那么我们今天就来确定到底是哪里出的错。
    我们在 flash_erase() 函数中插入调试信息打印印:
   
    编译了执行一下看结果。
   
    原因很明显了,是芯片没有反应超时所致的失败。
    那为什么会超时呢?是时序不对还是驱动不对?对于这个问题,我只好去查询NorFlash芯片的手册与电路原理图。
 
   
    由上图可见,数据位16Bit,地址位23Bit=8MB,芯片选择脚CE连nGCS0。地址映射到0x00000000上,地址范围为0x000000-0x7FFFFF。
    我们在查看 u-boot/board/flash.c 文件NorFlash驱动中看到,对NorFlash的写与擦除时都对一个地址进行访问,MEM_FLASH_ADDR1与MEM_FLASH_ADDR2,如下:
   
    查得这两个宏的定义为:
   
    CFG_FLASH_BASE 在 include/configs/my2440.h 文件中定义为 0x00000000。
    那么上述两个宏的分别地址:

    #define MEM_FLASH_ADDR1        (*(volatile u16 *)0x00000AAA)
    #define MEM_FLASH_ADDR2        (*(volatile u16 *)0x00000554)

    查看原理图,得知NorFlash的芯片型号为:AM29LV160DB,此为对应的电子文档: Am29LV160DB.zip 
目录
相关文章
|
22天前
|
消息中间件 运维 监控
《聊聊分布式》分布式最终一致性方案:从理论到实践的完整指南
最终一致性是分布式系统中平衡性能、可用性与一致性的关键策略,通过异步处理与容错设计,在保证数据最终一致的前提下提升系统扩展性与可靠性。
|
1月前
|
人工智能 算法 开发者
一个提示词模板,搞定抖音短视频脚本创作
专为技术人打造的抖音脚本提示词模板,结构化拆解短视频创作套路,结合DeepSeek、通义千问等AI工具,快速生成可执行脚本框架,助力技术分享、产品演示高效落地,30秒讲清重点,开头抓人、节奏紧凑、完播率提升。
706 12
|
7月前
|
存储 Oracle Java
大厂(转转、携程、京东)都用分代ZGC,卡顿降低20倍,吞吐量提升4倍。分代ZGC 这么牛?底层原理是什么?
大厂(转转、携程、京东)都用分代ZGC,卡顿降低20倍,吞吐量提升4倍。分代ZGC 这么牛?底层原理是什么?
|
2月前
|
缓存 安全 C++
C盘爆满电脑卡?3个简单技巧+1个便捷工具,小白也能轻松清理
电脑使用久了,C盘常因系统文件、软件安装和临时缓存堆积而空间不足,导致运行卡顿甚至蓝屏。本文教你识别C盘“隐形垃圾”,并提供3个手动清理技巧和1个实用工具(CCleaner),轻松释放空间,提升电脑速度,延长使用寿命。定期清理C盘,让电脑始终保持流畅运行。
633 0
|
jenkins Java 持续交付
运用Jenkins实现Java项目的持续集成与自动化部署
在新建的Jenkins Job中,我们需要配置源码管理,通常选择Git、SVN等版本控制系统,并填入仓库地址和凭据。接着,设置构建触发器,如定时构建、轮询SCM变更、GitHub Webhook等方式,以便在代码提交后自动触发构建过程。
487 2
|
12月前
|
安全 数据安全/隐私保护 数据格式
如何在使用路由参数传递数据时确保数据的安全性?
在使用路由参数传递数据时,要充分考虑数据的安全性问题。通过采取多种措施,如加密、验证、授权、传输安全、脱敏、访问控制、审计和维护等,可以有效提高数据的安全性,保护用户的隐私和系统的安全。同时,要不断加强安全意识,及时关注安全动态,以应对不断变化的安全威胁。
321 58
|
11月前
|
人工智能 搜索推荐 开发者
ClotheDreamer:上海大学联合腾讯等高校推出的3D服装生成技术
ClotheDreamer是由上海大学、上海交通大学、复旦大学和腾讯优图实验室联合推出的3D服装生成技术,能够根据文本描述生成高保真、可穿戴的3D服装资产,适用于虚拟试穿和物理精确动画。
250 6
ClotheDreamer:上海大学联合腾讯等高校推出的3D服装生成技术
|
JavaScript 前端开发 Java
浮点数介绍
【10月更文挑战第21天】
1125 1
|
传感器 自动驾驶 机器人
大疆Livox Mid360 使用指南
本文是大疆Livox Mid-360激光雷达的使用指南,包括Livox Viewer 2的安装与使用、Livox SDK2的安装与演示、Livox ROS的配置与启动,以及一些使用时的注意事项。文章还提供了关于Livox Mid-360的详细特点、接线信息、尺寸信息、主控端IP设置、修改Livox Mid 360的IP方法、坐标系定义和IMU内参的介绍。此外,还提供了官方资料和软件下载的链接。
6550 2
|
Linux 开发工具
5 种方法带你查看Linux系统服务
5 种方法带你查看Linux系统服务
464 0