[原创]dm642_HPI调通并boot成功
一直在折腾前段时间画好的dm642+lpc4357板子,说明下这个板子的结构:
- 主芯片为DM642,这个片子很老了,但因为对这个片子熟悉,别折腾
- 没有给DM642加FLASH,配了一片LPC4357,DM642的代码需要它HPI来加载,至于为何选这个芯片,
主要是它带有USB2.0的PHY,关键是之前使用的时候都还算顺利(我都使用eclipse+arm gcc) - 两路视频输入(不能同时输入,支持切换)
- 一路LCD显示(AT070TN92的屏)
- DM642上的一路以太网(10M/100M)
- LPC4357上的USB2.0,RS485以及RS232(这个主要调试时用下)
真是好事多磨,之前因为焊接问题搞了一阵子,后来HPI也遇到问题,终于弄通了,记录下!
通过LPC4357的EMC连接DM642的HPI16,测试硬件自然力求简单,超简单的程序(本来HPI的结构也很简单):
void HPI_test(void)
{
volatile uint32_t pdat;
HPI_Init(LPC_EMC_BASE);
volatile uint32_t *pAddr=(volatile uint32_t*)HPIC_ADDR_RBASE;
uint32_t x;
while(1)
{
pAddr=(volatile uint32_t*)HPIC_ADDR_RBASE;
pdat = *pAddr;
pAddr=(volatile uint32_t*)HPIA_ADDR_RBASE;
pdat = *pAddr;
pAddr=(volatile uint32_t*)HPIDI_ADDR_RBASE;
pdat = *pAddr;
pAddr=(volatile uint32_t*)HPIDF_ADDR_RBASE;
pdat = *pAddr;
HPI_Write(0x22,0x12345678);
x=HPI_Read(0x22);
}
}
通过单步调试来查看变量值来验证正确性。一开始不如所意,偶然发现读HPIC的值是正确的,但其它的就不行了,
调整EMC的时序,折腾几晚(晚上弄的,不是公事)都不行,简单的东西不通真是想破脑袋,分析理顺了一下:
- 读HPIC的时候值正确,说明OE和CS及部分数据线(HPIC不是每个位都可以在DSP端写,不能都测试)没有问题;
- 读其它寄存器的时候虽然不正确,但不是HPIC的值,说明地址线至少有变化,时序值得怀疑;
- 但是写HPIC不成功,很有可能HRW或者WE的问题,当然还有可能是时序问题;
- 仔细看了HPI的线,似乎都没有上下拉,说明HRW悬空的可能性不大;
好吧,三个方面:时序问题、焊接问题(之前出过问题总会不那么信任),WE(严重怀疑)。异步读写是最简单的操作,
我把各个寄存器的时间都设置成最长,那么时序问题的可能性很小了,WE能有什么问题呢,想不明白。
只好继续看参考手册,又去看数据手册,想找找波形图,找到了个很简陋的波形图,发现PB=0的时候WE没有动作,而PB=1
的时候WE动作了,那么问题来了,仔细地把STATICCONFIG中的PB一个单词不放过地看,终于找到问题了:
** Remark: When PB is set to 0, the WE signal is undefined or 0.
You must set PB to 1, to use the WE signal. **
坑爹啊,本来看这个位的名称就是Byte lane state,跟WE又扯上关系了!设置好后,所有问题解决。后来HPI BOOT的问题就一次测试搞定了:
写了个小python程序将DM642的代码(中断向量需要在0地址)生成的.out文件中需要加载的段转化成c程序,并组成一个链表,然后通过HPI
写到DSP中并给一个DSPINT(需要设置DM642的启动方式为HPI),成功!
[原创]dm642_HPI调通并boot成功的更多相关文章
- 怎样调通微信支付及微信发货通知接口(Js API)
怎样调通微信支付及微信发货通知接口(Js API) 微信支付提供了一个支付測试页面,微信支付正式使用须要測通支付.发货通知接口 .告警接口.维权接口.告警接口.维权接口非常easy.支付界面调通也相对 ...
- 全志R58平台调通s5k5eya(RAW+MIPI)
全志R58平台调通s5k5eya(RAW+MIPI) 2017/5/31 10:30 版本:V1.1 1.前期使用的是s5k5eyx的ISP的固件/tuning 文件 Y:\s5k5eya_r58_d ...
- 2016最后一贴,终于调通一个测试示例,并发现一个BUG???
真的难点在于第一次调通.纠结五天,终于搞出界面. 也发现了一个书上代码,编辑用户时死活不通的情况,我将Links去了,改在data里,我X,,全OK了.. 原来的代码: onAdd: function ...
- 【二】调通单机版的thrift-C++版本
[任务2]调通单机版的thrift-C++版本 [任务2]调通单机版的thrift-C++版本 创建文件 安装boost开发工具 拷贝文件 [可忽略此步骤,如果c++代码直接编译无误的话] 编译 创建 ...
- 【一】调通单机版的thrift-python版本
开发步骤说明 [任务1]调通单机版的thrift-python版本 [任务1]调通单机版的thrift-python版本 安装thrift 创建thrift模块文件并编译 开发python版的clie ...
- [ 原创 ] centos安装tomcat,启动成功 无法访问
https://blog.csdn.net/realjh/article/details/82048492 Linux下Centos7对外开放端口 2018年08月25日 09:53:42 jeter ...
- [原创] 如何PCB通流能力计算
一.计算方法如下: 先计算Track的截面积,大部分PCB的铜箔厚度为35um(不确定的话可以问PCB厂家)它乘上线宽就是截面积,注意换算成平方毫米. 有一个电流密度经验值,为15~25安培/平方毫米 ...
- [原创-性能调优]借助AWR报告分析解决oracleCPU过高的问题
简介:在oracle数据库中,有两个非常实用的自带监控工具EM(Enterprise Manager)和AWR(Automatic Workload Repository).其中,通过AWR报告可以生 ...
- 快速调通支付宝当面付Demo
1.访问如下地址: https://auth.alipay.com/login/ant_sso_index.htm?goto=https%3A%2F%2Fopenhome.alipay.com%2Fp ...
随机推荐
- 屌丝程序猿赚钱之道 之APP
假设你已经通过APP赚到了钱,那么本文对你而言没有意义.倒是希望你可以给我们诸多建议. 通过制作APP或者说手机应用赚钱,相信是非常多程序猿希望做的事情.也确实有一些人通过APP赚到了钱. 对于程序猿 ...
- Windows环境下tomcat配置日志输出
在Linux系统中,可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况. 在windows下,catalina日志与Linux记录的内容有很大区别,大多信息 ...
- Keepalived+Nginx+Tomcat配置高可用负载均衡系统示例
前言 此示例为keepalived+nginx+tomcat的基础配置示例,某些特定配置此例中不会出现,在示例中会用到三个虚拟机:两个纯命令行用于模拟服务端配置,一个带桌面环境的用于模拟客户端访问,这 ...
- Java基础知识强化之网络编程笔记03:UDP之UDP协议发送数据 和 接收数据
1. UDP协议发送数据 和 接收数据 UDP协议发送数据: • 创建发送端的Socket对象 • 创建数据,并把数据打包 • 调用Socket对象的发送方法,发送数据包 • 释放资源 UDP协议接 ...
- 编译安装 php 5.4.11
第一步 先下载 tzr.gz 的php源码包然后 tar zxvf php-5.4.11.tar.gz然后 cd php-5.4.11 然后复制如下编译代码 ./configure \--prefi ...
- 菱形实现气泡Bubble,菱形画箭头,菱形画三角形
菱形实现气泡Bubble,菱形画箭头,菱形画三角形 >>>>>>>>>>>>>>>>>>&g ...
- SharePoint Dialog 使用
SharePoint中弹出模态窗口对体验提高太大了 方法为: 父页面中调用子页面: function showDialog() { var options = { ...
- 日文“表” php 会报错
php遇到很奇怪的问题,文字“表”会报错,并且是属于编译错误的问题. 单纯的输出: echo " 表 "; 会直接报错. 可是只要在中间加点东西,就可以解决这个问题,就算是空格都可 ...
- BufferedWriter和BufferedReader使用方法
/** * 上传文件 * @param file * @param path * @param fileName * @throws IOException */ public void ...
- java 开发基础篇1环境安装--eclipse安装教程
如何安装java环境 http://jingyan.baidu.com/article/a24b33cd59b58e19fe002bb9.html JDK download http://www.or ...