WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (哇酷网/挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-08-05 23:39:17

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

AM335x-BeagleBoneBlack别样玩法

感谢矿难,咸鱼有不少二三十块钱的阉割版BeagleBoneBlack


AM335x采用的是TI的JTAG接口,但是xds系列仿真器虽然开源但是很贵:
xds100 150左右 速度很慢
xds510 一万多元(有幸在上家公司使用过)
2019-08-05-23-30-36.png

既然是JTAG接口,可以尝试用JLink(当然是山货)的JTAG接口进行调试,我尝试了,是成功的!

我对比了一下JLink和XDS510仿真器的优缺点:
2019-08-05-23-37-34.png

离线

#2 2019-08-05 23:57:18

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

JTAG接口是在背面:
AS.png

TI的JTAG标准:
TI-14-PIN-JTAG-header-300x197.jpg

JLink与TI-JTAG连接方式:
2019-08-05-23-54-16.png

实物图:
A.jpg
b.jpg

离线

#3 2019-08-06 00:09:11

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

因为要对AM335x进行仿真,需要先对其进行初始化(PMIC等),所以如果先要测试是否连接JTAG成功,可以利用现有的sd卡linux系统镜像,在uboot阶段对JTAG进行测试(因为进入Linux后,JTAG所使用的GPIO已经被复用到别的功能了)。

插入sd卡,上电过程中,在命令行输入运行JLink命令:
JLinkEXE

然后输入:
device am335x

然后输入halt命令:
h

c.jpg

可以看到am335x寄存器当前的值
然后串口输出启动过程停止
说明JTAG调试成功

离线

#5 2019-08-06 10:16:02

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

选择AM335x处理器所属系列:
2019-08-06-10-14-59.png

选择JLink仿真安装:
2019-08-06-10-15-18.png

离线

#6 2019-08-06 10:35:15

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

离线

#7 2019-08-06 10:51:59

达克罗德
会员
注册时间: 2018-04-10
累计积分: 644

Re: AM335x-BeagleBoneBlack别样玩法

我也有快BBB,期待楼主分享

离线

#8 2019-08-06 10:53:20

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

打开CCS:
2019-08-06-10-45-09.png

开始导入AM335X的SDK到CCS:
QQ20190806104905.jpg

点击右边ADD添加刚才安装的SDK的路径:
20190806105147.png

点击下面Rediscover,然后安装发现的所有包:
2019-08-06-10-52-39.png

重启CCS加载

离线

#9 2019-08-06 10:58:57

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

SYS/BIOS 实时内核 资料:
http://www.ti.com.cn/tool/cn/SYSBIOS

新建一个SYSBIOS工程:
20190806105433.png
2019-08-06-10-55-59.png

阉割版是AM3352,选择JLink调试,选择CortexA核,选择SYSBIOS:
2019-08-06-10-57-03.png

选择ti.platforms.beaglebone平台,主要作用是内存分布,给工程的lds提供数据:
2019-08-06-10-58-52.png

离线

#10 2019-08-06 11:04:28

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

20190806110018.png
配置仿真的初始化脚本gel文件,类似JLink脚本,完成PMIC、时钟等初始化,其实是比JLink脚本更高一个级别的脚本

选择【CCS】安装目录/ccs/ccs_base/emulation/boards/beaglebone/gel/beagleboneblack.gel
20190806110419.png

离线

#11 2019-08-06 11:12:56

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

建了交流群
QQ20190806111244.jpg

离线

#12 2019-08-06 11:21:03

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

启动仿真:
IMG_20190806_111531.jpg

启动仿真后,出现AM3352的两个核:
2019-08-06-11-16-27.png

右键A8核,然后Connect:
2019-08-06-11-20-28.png

经过测试V8连接几分钟后会自动断开,V9正常仿真。

离线

#13 2019-08-06 11:22:45

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

对SYSBIOS工程进行编译:
20190806112158.png
2019-08-06-11-22-43.png

离线

#14 2019-08-06 11:25:51

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

加载SYSBIOS到A8

选择A8核,选择load:
IMG_20190806_112337.jpg
20190806112448.png

离线

#15 2019-08-06 11:29:17

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

2019-08-06-11-29-03.png
加载成功,可以进行单步调试

离线

#16 2019-08-06 11:30:04

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

这是GEL初始化脚本的输出信息:
2019-08-06-11-29-58.png

离线

#17 2019-08-06 11:35:39

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

离线

#18 2019-08-06 12:35:32

达克罗德
会员
注册时间: 2018-04-10
累计积分: 644

Re: AM335x-BeagleBoneBlack别样玩法

BIOS驱动全不全

离线

#19 2019-08-06 14:37:48

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

达克罗德 说:

BIOS驱动全不全

驱动在PDK里面 BIOS内核 区分开来
2019-08-06-14-36-03.png

UIA负责收集操作系统信息,在CCS进行可视化分析。
NDK是网络

驱动基本挺全的:
2019-08-06-14-36-25.png

2019-08-06-14-38-57.png

最近编辑记录 Jin劲 (2019-08-06 14:38:59)

离线

#20 2019-08-06 20:38:31

ZhouJin
会员
注册时间: 2019-06-14
累计积分: 2

Re: AM335x-BeagleBoneBlack别样玩法

可以直接在linux下装sdk编译linux和uboot镜像,但是编译uboot要把对板载的eeprom的识别注释掉,不然识别不到ID不能正常启动

离线

#21 2019-08-06 22:17:25

Jin劲
会员
注册时间: 2018-04-06
累计积分: 214

Re: AM335x-BeagleBoneBlack别样玩法

ZhouJin 说:

可以直接在linux下装sdk编译linux和uboot镜像,但是编译uboot要把对板载的eeprom的识别注释掉,不然识别不到ID不能正常启动

这里不跑Linux 跑TI自己的实时内核SYSBIOS

离线

页脚