打印

原创连载+AM335X学习笔记(9月25日更新到105楼:触摸屏工程分析

[复制链接]
楼主: 阿南
手机看帖
扫描二维码
随时随地手机跟帖
41
程昌南,写过一本好书。

使用特权

评论回复
42
ljc424| | 2015-7-20 10:59 | 只看该作者
转让韦博英语四个级别课程
https://bbs.21ic.com/forum.php?mo ... &fromuid=351131
(出处: 21ic电子技术论坛)

使用特权

评论回复
43
tmpeger| | 2015-7-21 22:42 | 只看该作者
看看大拿到学习经验

使用特权

评论回复
44
双盈科技| | 2015-7-28 08:50 | 只看该作者
///////////////////////////////////////////////////////////////////////////
很多人创业都失败
为什么失败,其中的一个原因就是被技术拖累,

等你熟悉研究透彻S3C2440的时候,
这个零件已经被停产,你被迫花费一大笔时间重新去学习另外一个新的零件,重复地折磨几次,最后就失败了

我给这个现象命名为被技术拖累
/////////////////////////////////////////////////////////////////////////

这位楼主真的有经验!向您学习~

使用特权

评论回复
45
阿南|  楼主 | 2015-7-30 10:37 | 只看该作者
StartWare裸跑系统及BBB的SD卡引导:
1.下载最新版本AM335X_StarterWare_02_00_01_01
    http://software-dl.ti.com/dsps/d ... test/index_FDS.html
2. Windows下安装
    直接双击下载的文件AM335X_StarterWare_02_00_01_01_Setup,默认安装路径为C:\ti\AM335X_StarterWare_02_00_01_01
    安装完后在目录下会有很多文件夹,如下图所示:
   
    docs存放着技术文档,其中UserGuide_02_00_01_01.pdf必须是要详读的,它是把很多相关的文档集合在一起,详读之后不仅可以对StarterWare有整个认识,还指导我们如何操作及哪些问题具体参考哪个文档。
3. 支持的硬件开发板
    目前StartWare直接支持如下三种平台:beaglebone board; TI AM335X (General Purpose) EVM; EVM Starter-Kit (EVM-SK) board
    这里要特别注意:beaglebone board是指之前的白板,而不是咱们现在用的黑板Beaglebone black,我就犯了这个错误把他当成BBB,结果镜像直接放在SD卡里就是不能正常引导。
    实践上,AM335X_StarterWare_02_00_01_01是通过一个patch的形式对Beaglebone black实现支持的,如下图所示:
   
    点击Beaglebone black patch下载补丁:StarterWare_BBB_support.gz并复制到C:\ti\AM335X_StarterWare_02_00_01_01目录下,解压并覆盖同文件名的文件。
    docs目录下会出多BBB_support_manual.pdf,它详细介绍了如何在AM335X_StarterWare_02_00_01_01中支持BBB。
3. TF卡制作和引导StarterWare
    由于之前没有打patch,所以制作的TF卡在BBB中一直没有正确启动,以为是TF卡制作有问题。而在网上baidu后都是上一个版本AM335X_StarterWare_02_00_00_07利用/tools/sd_format/TI_SDCard_boot_utility_v1_0.exe来制作,但AM335X_StarterWare_02_00_01_01的/tools/sd_format/目录下并没有TI_SDCard_boot_utility_v1_0.exe工具。但在AM335X StarterWare Booting And Flashing里有介绍使用 HP USB Disk Storage Format Tool v2.0.6 Portable来将TF卡格式化成FAT(如果大于4G Byte则格式化成FAT32),所以我直接将TF卡格式化成FAT后,将C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\beaglebone\bootloader\Release_MMCSD\MLO和 C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\beaglebone\demo\Release\ app复制到TF卡中,并插入到BBB的MicroSD卡槽。英语不好的同学要注意了,不是boot.bin和demo.bin,俺就犯过这个错误。
    再将TF卡插入BBB的uSD卡槽,连接好串口及启动超级终端(波特率115200,无奇偶校验,1位停止位,无流控),再按住uSD BOOT按钮S2,最后重新上电,如下图所示为成功引导:
   

使用特权

评论回复

打赏榜单

21ic小喇叭 打赏了 5.00 元 2015-08-04

46
jstiger| | 2015-7-31 23:00 | 只看该作者
阿南 发表于 2015-7-30 10:37
StartWare裸跑系统及BBB的SD卡引导:
1.下载最新版本AM335X_StarterWare_02_00_01_01
    http://software- ...

紧跟楼主学习。

使用特权

评论回复
47
原野牧歌| | 2015-8-1 21:12 | 只看该作者
买了第一版,不错的书籍,AM335x是一款很好的东西,工业级的都有,普及也非常广,我买的是BB,A6版本,后面出了BBB,多了HDMI输出,少了仿真器,更实用了……
TI的双核A15走的通讯市场,对其他市场比较欠缺相关特性,AM437x的A9搞单核,虽然PRU增加了,相对AM335x的普遍性,的确不如以AM335X的板子作为硬件平台……
另外好像AM335x的双网口,单独实用,好像有些什么坑,官方都不太推荐,走EtherCAT这些双网口的例外……

使用特权

评论回复
48
阿南|  楼主 | 2015-8-2 19:26 | 只看该作者
原野牧歌 发表于 2015-8-1 21:12
买了第一版,不错的书籍,AM335x是一款很好的东西,工业级的都有,普及也非常广,我买的是BB,A6版本,后面 ...

原来是老手,向您学习!

使用特权

评论回复
49
jstiger| | 2015-8-4 13:48 | 只看该作者
阿南 发表于 2015-7-30 10:37
StartWare裸跑系统及BBB的SD卡引导:
1.下载最新版本AM335X_StarterWare_02_00_01_01
    http://software- ...

紧跟楼主一起学习。
楼主,抓紧更新啊。

使用特权

评论回复
50
阿南|  楼主 | 2015-8-4 17:07 | 只看该作者
好像没人关注,更新动力不足:P

使用特权

评论回复
51
wu283326736| | 2015-8-5 08:11 | 只看该作者
楼主,抓紧更新啊。

使用特权

评论回复
52
阿南|  楼主 | 2015-8-5 11:52 | 只看该作者
本帖最后由 阿南 于 2015-8-11 11:00 编辑

StarterWare 之 Windows下开发环境的搭建
1. 下载最新版本的CCS:
http://processors.wiki.ti.com/in ... load_the_latest_CCS
我用的是Windows 7,所以下载安装的是CCS6.0.0.00190_win32.zip
解压后,按提示安装即可。
2. 导入StarterWare工程
StarterWare已经安装在C:\ti目录下。
启动Code Composer Studio 6.0.0,选择菜单File->Import,在对话框中如下:

选中Code Composer Studio->CCS Projects,再选择Next按钮。在Select search-directory项中点Browse按钮,选择C:\ti\AM335X_StarterWare_02_00_01_01\build\armv7a\cgt_ccs\am335x\beaglebone目录

选择所需的例子,或者选择全部导入,再Finish按钮完成:

3. 编译工程
导入之后,右键单击需要编译的工程名称,选择Rebuild Project进行编译。

此时编译时会出现下述错误:

原因是没有找到Debug下的各个库文件,我们需要进入到提示出错的目录下手动创建Debug文件夹,然后从Release文件夹中将*.lib复制到Debug文件夹中,再重新编译就可以通过了。生成的目标文件位于:C:\ti\AM335X_StarterWare_02_00_01_01\binary\armv7a\cgt_ccs\am335x\beaglebone\demo\Debug

4. 认识目标文件及ti_image工具
生成的目标文件有demo.bin和demo_ti.bin,原先我不知道这两个文件有何区别,就直接将demo.bin重命名为app,然后将其和MLO一同放入TF卡,但运行出错。参考C:\ti\AM335X_StarterWare_02_00_01_01\docs\UserGuide_02_00_01_01.pdf发现,它需要通过ti_image转化成app才能运行:

打开cmd,并进入ti_image工具目录:

我们再用Hex比较工具打开转换前后两个文件间的区别:

实践上,ti_image只是在原文件demo.bin的开始加入8个字节头,其中有4个字节共32位为装载的地址,另4个字节应该是代表app的标志。我们再打开原生成目录下的demo.bin和demo_ti.bin:

原来demo_ti.bin已经增加了8个字节头,也就是说可以直接通过将demo_ti.bin重命名为app,而不需要再调用ti_image工具进行转换。
5. 下载验证
将MLO和app拷到TF卡并插入到beaglebone black,按住S2按键再上电,终端打印信息如下:

使用特权

评论回复
53
雷ting| | 2015-8-6 16:19 | 只看该作者
紧更楼主的学习,同时也期待着楼主的新书快快面世。支持!

使用特权

评论回复
54
阿南|  楼主 | 2015-8-11 11:06 | 只看该作者
StarterWare对Beaglebone Black的支持及问题
1.        初丁包StarterWare_BBB_support.gz
StarterWare的旧版本支持Beaglebone(即白板),而不支持Beaglebone Black(即黑板)。但最新版本AM335X_StarterWare_02_00_01_01可通过一个Patch包StarterWare_BBB_support.gz对Beaglebone Black实现支持。
http://software-dl.ti.com/dsps/d ... 1_01/index_FDS.html页面点击

下载StarterWare_BBB_support.gz文件到C:\ti\AM335X_StarterWare_02_00_01_01目录,并解压覆盖掉原文件。
然后在CCS下编译boot和demo工程,分别将boot_ti.bin和demo_ti.bin重命名为MLO和app,再拷到TF中,并插入到Beaglebone Black引导运行。此时终端将打印下述信息:

从demo工程中的demoMain.c中的main()函数知,正常情况下应该还有更多的信息,所以此时应该是程序跑飞了。

2.        demo在Beaglebone Black上死机现象分析及追踪
在源代码中增加调试信息,以确定程序跑死在哪里:

根据上述可以判断出当设置了PMIC的LDO3为3.3V时出现死机现象。查看beagleboard black原理图知,LDO3是给HDMI发送芯片TDA19988供电的,需要为1.8V。

所以源码这里是错误的,用万用表实践测量了死机后,该电源确实为3.3V。但Beaglebone Black不从TF卡启动Linux系统后所测的该电源是1.8V,所以进一步判断该代码有问题。我们查看到上述函数configVddOpVoltage()定义在pmic.c源文件,而该文件源码又位于C:\ti\AM335X_StarterWare_02_00_01_01\examples\beaglebone\demo目录。另一方面,我们查看到Patch解压包的目录结构及安装过程如下:

所以即使我们打上了Patch包,也没有更新C:\ti\AM335X_StarterWare_02_00_01_01\examples目录下的源代码,所以出现了如demo工程中的错误。
3.        死机现象的解决
我们可以将pmic.c中将LDO3的配置屏蔽(因为从boot工程的代码知,已经将LDO3进行了配置),或修改为1.8V,如下:

重新编译,再将目标文件复制到TF上,并且连接板子的网线,上电后正确的终端信息如下:

注:需要连接网线且网络正常,demo例程才能动态的分配IP地址
打开浏览器,直接输入动态分配的IP地址(此次为192.168.1.183),如下:

使用特权

评论回复
55
清风致影| | 2015-8-13 09:16 | 只看该作者
想请教下楼主
1、学习am335x是学习布板画PCB还是直接拿板做软件开发?
2、好像飞思卡尔的i.mx也不错,相比am335x有什么不足么?

使用特权

评论回复
56
阿南|  楼主 | 2015-8-13 11:52 | 只看该作者
清风致影 发表于 2015-8-13 09:16
想请教下楼主
1、学习am335x是学习布板画PCB还是直接拿板做软件开发?
2、好像飞思卡尔的i.mx也不错,相比 ...

最好是直接拿板子学吧,beaglebone,或者找个便宜的带LCD屏的
i.mx也不错,虽然资料不多,但ZLG推了一个开源硬件的板子,很便宜,好像还有教材或视频的

使用特权

评论回复
57
我爱你的吻123| | 2015-8-13 17:52 | 只看该作者
持续关注中。。。

使用特权

评论回复
58
susan133168| | 2015-8-17 14:38 | 只看该作者
学习了

使用特权

评论回复
59
zhangmangui| | 2015-8-17 22:36 | 只看该作者
123654789 发表于 2015-7-16 17:08
现在又冒一个出来AM335

等你把AM335研究透彻了,AM335停产了,然后就冒出AM336

h一直跟着跑啊

使用特权

评论回复
60
zhangmangui| | 2015-8-17 22:39 | 只看该作者
抓紧更新啊

使用特权

评论回复
发新帖 本帖赏金 33.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则