是这样的,我想让LED灯上电一直保持高电平点亮,在uboot里面已经实现拉高点亮,然后内核也配置了led子系统,默认拉高。但结果是一上电,进入uboot,LED灯是高电平点亮的,然后一启动到内核,相应IO引脚就被一瞬间拉低,然后加载led gpio驱动后才拉高点亮,就是LED灯启动内核后闪了一下,之后是一直保持拉高点亮的,问题就是在启动到内核的一瞬间,好像对应IO引脚被初始化输出为0了?? 这是被内核哪里给修改或配置了??不知道在哪个地方去修改??还请各位大神指点迷津啊……!!
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.
是这样的,我想让LED灯上电一直保持高电平点亮,在uboot里面已经实现拉高点亮,然后内核也配置了led子系统,默认拉高。但结果是一上电,进入uboot,LED灯是高电平点亮的,然后一启动到内核,相应IO引脚就被一瞬间拉低,然后加载led gpio驱动后才拉高点亮,就是LED灯启动内核后闪了一下,之后是一直保持拉高点亮的,问题就是在启动到内核的一瞬间,好像对应IO引脚被初始化输出为0了?? 这是被内核哪里给修改或配置了??不知道在哪个地方去修改??还请各位大神指点迷津啊……!!
恩 分享是一种美德:
可以修改代码
./arch/arm/mach-omap2/omap_hwmod_33xx_data.c
static struct omap_hwmod am33xx_gpio2_hwmod = {
.name = "gpio3",
.class = &am33xx_gpio_hwmod_class,
.clkdm_name = "l4ls_clkdm",
.mpu_irqs = am33xx_gpio2_irqs,
.main_clk = "gpio2_ick",
.flags = HWMOD_INIT_NO_RESET | HWMOD_CONTROL_OPT_CLKS_IN_RESET,
.prcm = {
.omap4 = {
.clkctrl_offs = AM33XX_CM_PER_GPIO2_CLKCTRL_OFFSET,
.modulemode = MODULEMODE_SWCTRL,
},
},
.opt_clks = gpio2_opt_clks,
.opt_clks_cnt = ARRAY_SIZE(gpio2_opt_clks),
.dev_attr = &gpio_dev_attr,
.slaves = am33xx_gpio2_slaves,
.slaves_cnt = ARRAY_SIZE(am33xx_gpio2_slaves),
};
您好,有问题需要请教!
是这样的,使用am335x sdk包里面的DCAN驱动,驱动移植配置完毕,使用canconfig等工具配置,测试发送接收都是正常的,然后用两块板子对接can总线,写can socket通信的应用层代码进行发送接收测试,然后在调试过程中出现no buffer space available 这个错误信息,是缓冲区的问题?怎么解决这个问题?请各位高手指教……谢谢啊……
你只在 flags 添加了 HWMOD_INIT_NO_RESET 设置是么? 这样就实现,让 IO 口启动的时候,不会存在 一瞬间的 电平拉低的现象?
确实是这样,3Q。我的 LCD 的初始化 RESET 管教,就是每次被复位,这次多亏了你,解决了,