各位工程师好:
我使用的SDK是最新的06.03版本。
我有个问题,我的硬件设计参照ti提供的没有使用RTC来设计,然后需要在SPL阶段禁用RTC,也就是将rtc32k_enable()函数跳过,我需要禁用掉CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC这个宏:
#if defined(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC) static void rtc32k_enable(void) { struct davinci_rtc *rtc = (struct davinci_rtc *)RTC_BASE; rtc32k_unlock(rtc); /* Enable the RTC 32K OSC by setting bits 3 and 6. */ writel((1 << 3) | (1 << 6), &rtc->osc); } #endif
然后我在xxx_defconfig文件中加上
# CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC is not set
但是make之后.config中还是
CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC = y
实际上这个SPL_AM33XX_ENABLE_RTC32K_OSC是在common/spl/Kconfig和/drivers/bootcount/Kconfig中定义的。
我最后在这2个Kconfig中加上限制条件,才将这个宏关闭。
然后我想知道的是xxx_xxx_defconfig和Kconfig中配置的宏如果有冲突的画,以defconfig中的宏为准吗?为什么我在defconfig中关不掉这个宏呢?
user5850447:
晕,帖子编辑的有问题,最后的问题是这样的,我想知道的是xxx_xxx_defconfig和Kconfig中配置的宏如果有冲突的话,不是以defconfig中的宏为准吗?为什么我在defconfig中关不掉这个宏呢?
user5850447:
另外再问一下,想在Kconfig和defconfig中加注释怎么加啊?谢谢
Nancy Wang:
回复 user5850447:
参考以下两个帖子中给出的删除RTC配置的方法。
e2e.ti.com/…/1835530
e2e.ti.com/…/825920
user5850447:
回复 Nancy Wang:
非常感谢,但是你给出的2个帖子对于最新的sdk06.03来说没有借鉴的意义,这个宏在新版本中就是在那两个Kconfig文件中,我加上了如果是我们自己定义的板子名称就不使能这个宏,编译和下载是没问题的,uboot可以起来,linux部分还没有修改!我主要是想知道为什么在defconfig文件中修改没有作用。
user5850447:
回复 Nancy Wang:
好的,看到了,非常感谢!