2018年4月15日 星期日

Bring up 技巧

1. 用Dstream透過Jtag接口抓住CPU,
1.1 先讓Dstream可停住CPU或free run

2. 調整Baud rate,打印字串
2.1 如無法打印字串,調整程式裡的Baud rate
2.2 可用程式打印0x0505,打出一個正弦波,再用示波器測量一個波型的週期,來推算頻率。

2018年4月12日 星期四

OpenJTAG与JLink的区别比较

OpenJTAG与JLink的区别比较:

相同点:都同时具备USB转JTAG、USB转串口功能

差别:
1. 操作系统:
OpenJTAG可以用在Windows、Linux下;
JLink只能用在Windows下,在Linux下它的调试功能无法使用,只能使用“JLink+USB转串口2合1”中的USB转串口功能

2. 集成开发环境:
OpenJTAG能用在所有支持GDB调试协议的工具上,比如IAR、Eclipse、winarm,不能用在支持RDI协议的工具上,比如ADS。
JLink支持多种调试协议RDI、GDB调试,几乎所有Windows下的工具都支持,比如ADS、Keil MDK、IAR

3. 对Flash的烧写:
OpenJTAG、JLink对FLASH的烧写功能几乎一样强。
但是对于S3C2410、S3C2440来说,OpenJTAG更胜一筹:OpenJTAG可以烧写NAND Flash;JLink理论上也行,但是没人实现这点。

4. 如何选择:
如果是学习Linux,那么OpenJTAG比较适用;
如果比较喜欢ADS、Keil等工具,那么JLink比较适用;
如果你的开发板是S3C2410、S3C2440,那么OpenJTAG绝对适用。


https://blog.csdn.net/fhq1989312/article/details/6791907

使用 OpenOCD 調適 ARM Cortex A9 CPU

http://jamesgodzilla.blogspot.tw/2013/04/openocd-jtag-adaptor-arm-cortex-a9-cpu.html

bootcmd

> printenv

baudrate=115200
bootcmd=run ll
bootdelay=1
bootflash=mmc rescan 0; fatload mmc 0 0x200000 uImage; bootm 0x200000;
boottftp=tftpboot 0x200000 uImage; bootm 0x200000;
ethact=opv5xc_pse
ethaddr=00:11:22:33:55:00
ipaddr=192.168.1.1
linux.img=uImage.0801
ll=mmc rescan;fatload mmc 0 0x200000 ${linux.img};bootm 0x200000
lu=mmc rescan;fatload mmc 0 0x200000 ${u-boot.img}
nandboot=nand read 0x200000 0x400000 0x2800000;bootm 0x200000
nanduu=sf probe 0;sf erase 0 0x80000;sf write 0x200000 0 0x80000
netmask=255.255.0.0
serverip=192.168.1.100
stderr=serial
stdin=serial
stdout=serial
u-boot.img=u-boot.bin
updateNandMloader=nand erase 0 0x200000;mmc rescan 0;fatload mmc 0 0x200000 miniloader_sec.bin;nand write 0x200000 0 0x8000;nand write 0x200000 0x8000 0x8000
updateNandUboot=nand erase 0x200000 0x200000;mmc rescan 0;fatload mmc 0 0x300000 u-boot_sec.bin;nand write 0x300000 0x200000 0x80000;nand write 0x300000 0x300000 0x80000
updateNandUimage=nand erase 0x400000 0x2800000;mmc rescan 0;fatload mmc 0 0x200000 uImage.cpio;nand write 0x200000 0x400000 0x2800000
uu=sf probe 0;sf erase 0 0x40000;sf write 0x200000 0 0x40000

Environment size: 1169/65532 bytes

POP封装还是SCP封装好?

POP封装是把内存和处理器封装到了一起,属于堆叠结构,直接带来的好处是芯片面积变小,大大节省PCB尺寸;
另外三星4412的POP封装内存芯片采用的是LPDDR2,在与DDR3同样速度的情况下能显著降低功耗;
采用POP封装还有一点好处是,产品在LAYOUT的时候不用考虑DDR内存布线的等长等技术要求,
减少工程师在设计过程中的潜在风险,不过,因为考虑到POP封装间距比较小,所以设计的时候需要在芯片的引脚扇出上下一些功夫。
 
采用SCP封装可以灵活配置外围内存的大小(1G或者2G),而且SCP的球间距比较大,这样线路板可以用比较少的成本来完成设计;
4412 SCP的封装芯片在总体成本上也会比POP低一些。

FPGA與CPLD的區別

http://www.oldfriend.url.tw/Quartus/CPLD_FPGA.htm

https://kknews.cc/zh-tw/tech/mgb3q6.html