玩了几天的T113, gpio, uart, timer... 算是整的有点头续了,
想上个屏, 更进一步, 内置的DDR3是必须用到的, 一看资料傻眼了,
官方的DS里没有一点点DDR配置信息, 更别想设置的Reg信息了, 这个大意了,玩前没留意.
离线
翻了下xboot, 也是傻眼了, 同样没有SDRAM的配置Reg信息,
唯一有的信息就是sys-dram.c这个文件,里面有个24k大的数组ddr_bin[],
琢磨发现, 这竟然是一个有固定运行地址的,完整的,可在SRAM独立运行程序,不是初始化函数.
估计是启动后,再运行这个程序来初始化DDR, 这做法NB的一塌糊涂, (以前没玩过,)
小有收成, 有空再玩.
离线
哪位要是有T113配置DDR的资料, 能分享一个就好了;-)
离线
离线
离线
好的,谢谢,有空学习一下。
离线
发现 上面的 是F133 的芯片,DDRAM的地址和T113 是一样的吗?
离线
理论上是一样的控制器,寄存器信息可以参考这个文件,但两者ddr.bin不一样,毕竟一个riscv,一个是arm,这些bin文件都是从原厂sdk里扣出来的,细节就很难深究了,能用就行了,用了些高级技巧来处理这种问题,全得益于之前研究V831芯片时总结出的DDR初始化方法。可以翻翻那些帖子,应该能有所收获。
离线
@xboot
在电脑上打开mctl_hal.S, 这个更厉害, 500k的汇编, 都是下面这种格式,
可读性为0, 水平有限看不出ddr信息 ;-)
这位兄弟, 您是xBoot的作者?
离线
我能在网上找到的全志TRM都把关于dram、video等外设全砍掉了,关于这点我不是很明白,芯片做出来却不想让人用起来的原因到底是什么?怕被抄?还是有版权方面的问题?出了个T113,果然又是一大坑。。。
离线
我能在网上找到的全志TRM都把关于dram、video等外设全砍掉了,关于这点我不是很明白,芯片做出来却不想让人用起来的原因到底是什么?怕被抄?还是有版权方面的问题?出了个T113,果然又是一大坑。。。
不能和自家的其他产品线冲突,否则就是用自己的左手打自己的右脸。
离线
我能在网上找到的全志TRM都把关于dram、video等外设全砍掉了,关于这点我不是很明白,芯片做出来却不想让人用起来的原因到底是什么?怕被抄?还是有版权方面的问题?出了个T113,果然又是一大坑。。。
确实,非常可惜。 不过,其它家,好像也差不多。
离线
You can look my awboot, I reverse engineered the DDR3 init based on the D1 SPL, It can initialize the DDR3 from pure C code:
https://github.com/szemzoa/awboot
Allwinner T113-loader
boot device: mmc0
DRAM SIZE = 128M
DRAM simple test OK.
CPU freq=1200 MHz
SD/MMC card at 'sdhci0' controller found
SD/MMC: Image: Read file zImage addr=45000000
SD/MMC: dt blob: Read file sun8i-mangopi-mq-dual-linux.dtb addr=41800000
booting linux...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.61 (root@devel) (arm-linux-gnueabi-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011, GNU ld (Linaro_Binutils-2017.11) 2.28.2.20170706) #4 SMP PREEMPT Tue Jun 14 15:19:48 CEST 2022
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: sun8iw20
[ 0.000000] printk: bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 8 MiB at 0x47800000
[ 0.000000] On node 0 totalpages: 32512
[ 0.000000] Normal zone: 256 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
离线
@szemzoa
又是一个高人,继续学习,谢谢。
这么看来,DDR 的初始方法多种多样啊。厉害。
离线
哇塞 这个niubility
离线
国内硬件IP,估计都是在新思(synopsys,开放源码)上裁剪的吧!
离线
#12楼大佬提供的DDR初始化程序可以用,我下载了他的工程测试了一下
离线
T113能用JLINK在IAR上调试,以后调试裸机程序就简单多了。
离线
IAR在sdram调试除了加入.mac脚本之外,需要在iar里面设置什么吗?
离线
楼主测试过吗,jlink是怎么和T113连接的
离线