This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
ti-sdk-am335x-evm-07.00.00.00-Linux-x86-Install安装后编译出的linux kernel镜像无法运行,请问07.00不支持Beaglebone black吗???
Beaglebone black是AM3359, 512M DDR3的版本
安装之后,
配置
linux-3.12.10-ti2013.12.01# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig
编译
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage
启动的时候,停在Starting kernel ...然后就不动了
## Booting kernel from Legacy Image at 80007fc0 ...
Image Name: Linux-3.12.10-ti2013.12.01
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4117616 Bytes = 3.9 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
1.能用, 它需要DT树,所以要么自己建立自己的DT树,要么把自己的板子当成TI的某一型号板子(如evm,evmsk等),修改对应的DT树, DT树相当于以前的hardware device信息.
2.我在自己的板子已经从6.0过渡到7.0了,除了双网口还有些问题之外,这个问题应该是TI的双网卡在7.0上的BUG.
和之前的SDK06相比:
1.编译kernel的目标由uImage换为zImage.
2.编译dtb.
推荐参考:http://processors.wiki.ti.com/index.php/Linux_Kernel_Users_Guide
你好,请问你是怎么跑起来的呢,我根据上楼的连接编译的,或者用SDK7 预编译的 都一直卡在这里:
Environment size: 4913/131067 bytes
U-Boot# boot
mmc0 is current device
Scanning mmc 0...
4117616 bytes read in 246 ms (16 MiB/s)
34352 bytes read in 22 ms (1.5 MiB/s)
mmc0 is current device
SD/MMC found on device 0
reading uEnv.txt
213 bytes read in 4 ms (51.8 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc ...
4117616 bytes read in 246 ms (16 MiB/s)
34352 bytes read in 22 ms (1.5 MiB/s)
Kernel image @ 0x80200000 [ 0x000000 - 0x3ed470 ]
## Flattened Device Tree blob at 80f80000
Booting using the fdt blob at 0x80f80000
Loading Device Tree to 9f330000, end 9f33b62f ... OK
Starting kernel ...
内核里面打印信息的输出口是UART0,如果你使用SDK默认配置的话。
看你这意思,你是一直使用UART1作为输出口的?UBOOT里面修改了输出口为UART1,但是内核里面没改?是这样吗?
这个是有可能的啊,bootargs这个只是传个参数,kernel能不能从UART1输出,需要看你的kernel中是否初始化了对UART1的配置。如果kernel里面没有初始化对UART1的配置,肯定不行啊。
不知道你使用的是哪个dtb文件,找一下对应的dts吧,看看里面是否有配置了UART1。我刚查了am335x-evmsk.dts,里面就没有初始化UART1的配置,pinmux都没有。
我用的是 SDK7 内核源码里的 这个 am335x-boneblack.dts
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb
看了一下,这个配置中没有使能UART1。
你跟下代码,这个dts中,include了am33xx.dtsi和,am335x-bone-common.dtsi。
am33xx.dtsi中规划了几个串口,但未使能;
am335x-bone-common.dtsi中仅配置了uart0的pinmux,并使能了uart0。所以目前的uart0可以正常使用,uart1不行。你可以在这个文件中进行修改,使能uart1。
这样做了,还是不能启动
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb
主要先修改EEPROM的配置这里,这里主要决定了板子的资源配置。原始的SDK包中会根据EEPROM的ID来决定资源配置的,而在自己的板子上面,多半是没有EEPROM的,所以这里需要处理一下相关逻辑,并根据自己的实际的配置来规划资源。再就是对一些接口的细节性的配置了。