[问答] uboot从SD卡启动内核运行了但是运行程序出问题了

  我想要在SD中来启动Linux内核,我用的板子是beaglebone black的系统是自带的Debian 。我是这么做的,先把SD卡分了两个分区一个FAT分区一个EXT4分区,然后我从网上下载了一个uboot源码编译好后我将MLO、uboot.img文件放在了FAT分区里,然后我从beaglebone black 上挂载mmcblk0p2,将这个分区里的文件全部拷贝到我的SD卡的EXT4分区里。
   这些都弄好后,将SD卡插入板子。上电按下boot按键,接着系统正常从SD卡启动了,我也可以正常的登陆进去,然后我将之前搞好的LCD显示程序拷贝过来运行发现程序运行了但是LCD没有反应,但是SPI设备树文件我都配置了,并且/dev下也可以找到spidev1这个设备文件。但是就是没有显示,关键是这个程序我之前在从emmc启动的情况下可以正常的显示,我就搞不懂为什么我在SD里运行就不行呢?是哪里出了问题啊?

  谁给我解决解决呀,我刚弄这个不是很懂。图片是我运行程序时的信息,没有报错。但是就是LCD没显示。
奖励20积分
lcd_spi.png
lcd_spi.png

6个回复

为了让生活美好 发表于 2018-1-20 23:26:07
大神帮帮忙呀

补充内容 (2018-1-22 15:31):
这几天检查发现SPI DTS文件没有挂载成功,内核错误提示“pinctrl-single 44e10800.pinmux: pin 44e10990 already requested by 48038000.mcasp; cannot claim for 481a0000.spi” 但是为什么会复用不了这个引脚呢?
关键是这个设备树文件我之前使用都是正常的呀

补充内容 (2018-1-22 15:36):
slots :
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPI1-01 //有这个设备只是没用

引脚配置情况:
pin 100 (44e10990) 00000000 pinctrl-single
pin 101 (44e10994) 00000010 pinctrl-single
pin 102 (44e10998) 00000027 pinctrl-single
pin 103 (44e1099c) 00000002 pinctrl-single
这个引脚复用有问题,没有配置为SPI1.

不知道为什么没有配置成功?

我的设备树文件写的对的呀!
fragment@0 {
        target = <&am33xx_pinmux>;
        __overlay__ {
            spi1_pins_s0: spi1_pins_s0 {
                        pinctrl-single,pins = <
                                0x190 0x33      /* mcasp0_aclkx.spi1_sclk, INPUT
_PULLUP | MODE0 */
                                0x194 0x33      /* mcasp0_fsx.spi1_d0, INPUT_PUL
LUP | MODE0 */
                                0x198 0x13      /* mcasp0_axr0.spi1_d1, OUTPUT_P
ULLUP | MODE0 */
                                0x19c 0x13      /* mcasp0_ahclkr.spi1_cs0, OUTPU
T_PULLUP | MODE0 */
                >;
            };
        };
    };

回复

举报 使用道具

为了让生活美好 发表于 2018-1-23 22:22:48
解决问题了,内核正常启动时会将HDMIN这个cape使能,这样就不会占用SPI的IO口然后就可以正常复用了内核启动的环境配置文件uEnv.txt中将这一句“capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN”加上就可以了。内核确实太复杂了,搞不清楚整个过程出了问题都不知道怎么去找,这次是我反复分析从uboot->内核启动整个过程串口终端打印的一些信息中发现的。
回复

举报 使用道具

为了让生活美好 发表于 2018-1-22 15:38:22
没有人看吗?
回复

举报 使用道具

为了让生活美好 发表于 2018-1-23 22:24:48
                        
回复

举报 使用道具

为了让生活美好 发表于 2018-1-23 22:25:42
                    
回复

举报 使用道具

头像被屏蔽
提示: 作者被禁止或删除 内容自动屏蔽
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-9-21 18:03 , Processed in 1.941361 second(s), 25 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表