发 帖  
原厂入驻New
实战多通道高速精密测温仪的全系列设计教程,以实际项目为依托,提升工程师核心竞争力!→点击立即抢购←
[问答] 请问我想用am3352的mmc1连接emmc,读寄存器死机是什么原因?
28 AM335X uboot
分享
      请教各位大神!
      我现在有个am3352的自制板子,采用spIFlash启动。
      现又在mmc1接口上接了一个emmc,我修改uboot程序,现想实现一个最基本的通信
     第一步:mmc dev 1(切换到mmc1)
     第二部:mmcinfo
      现在卡在第一步就死机了
首先修改了mux
static struct module_pin_mux mmc1_pin_mux[] = {
        {OFFSET(gpmc_ad11), (MODE(2) | RXACTIVE | PULLUP_EN)},        /* MMC1_DAT3 */
        {OFFSET(gpmc_ad10), (MODE(2) | RXACTIVE | PULLUP_EN)},        /* MMC1_DAT2 */
        {OFFSET(gpmc_ad9), (MODE(2) | RXACTIVE | PULLUP_EN)},        /* MMC1_DAT1 */
        {OFFSET(gpmc_ad8), (MODE(2) | RXACTIVE | PULLUP_EN)},        /* MMC1_DAT0 */
        {OFFSET(gpmc_csn1), (MODE(2) | RXACTIVE | PULLUP_EN)},        /* MMC1_CLK */
        {OFFSET(gpmc_csn2), (MODE(2) | RXACTIVE | PULLUP_EN)},        /* MMC1_CMD */
        {OFFSET(gpmc_csn0), (MODE(7) | RXACTIVE | PULLUP_EN)},        /* MMC1_WP */
        {OFFSET(gpmc_advn_ale), (MODE(7) | RXACTIVE | PULLUP_EN)},        /* MMC1_CD */
        {OFFSET(mcasp0_aclkx), (MODE(6) | RXACTIVE| PULLUP_EN)},
        {-1},
};(注意这里用的GPMC_AD8-9-10-11引脚不是ad0。。。)



configure_module_pin_mux(mmc1_pin_mux);

定位 现在卡在了
mmc_init_setup这个函数
一到读mmc1的寄存器就挂了
static int mmc_init_setup(struct mmc *mmc)
{
        struct hsmmc *mmc_base = (struct hsmmc *)mmc->priv;
        unsigned int reg_val;
        unsigned int dsor;
        ulong start;
        mmc_board_init(mmc);
            writel(readl(&mmc_base->sysconfig) | MMC_SOFTRESET,
                &mmc_base->sysconfig);
        start = get_timer(0);
        while ((readl(&mmc_base->sysstatus) & RESETDONE) == 0) {
                if (get_timer(0) - start > MAX_RETRY_MS) {
                        printf("%s: timedout waiting for cc2!\n", __func__);
                        return TIMEOUT;
                }
        }。。。。。。。

。。。。。。。。。。。。

就到红色字体就挂了
请问可能是什么原因引起的???
我用的是ti-sdk-am335x-evm-06.00.00.00-Linux-x86-Install.bin

0
5 天前   评论 分享淘帖 邀请回答

只有小组成员才能发言,加入小组>>

659个成员聚集在这个小组

加入小组

创建小组步骤

关闭

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

快速回复 返回顶部 返回列表