完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-21 11:06 编辑
使用starterware函数HSMMCSDBusWidthSet(SOC_MMCHS_1_REGS,HS_MMCSD_BUS_WIDTH_8BIT);//8位宽度 当第一个参数为SOC_MMCHS_0_REGS时能够执行函数,当为SOC_MMCHS_1_REGS,出现 No source available for "0x4030fc10" 请问这是什么原因?emmc是用MMC1管脚。 |
|
相关推荐
9个回答
|
|
SOC_MMCHS_1_REGS的地址是0x481D8000,不能对这个寄存器进行访问,这是什么原因?
|
|
|
|
在前面的配置中,有使能MMC1相关的时钟域吗? |
|
|
|
GPMCClkConfig(); //PinMux Configuration //MMC1_D0~D7 pull_up mode2 HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(8)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(9)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(10)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(11)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(12)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(13)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(14)) =0x00000012; HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(15)) =0x00000012; //MMC1_CLK no_pull mode2 HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_CSN(1)) =0x0000000A; //MMC1_CMD pull_up mode2 HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_CSN(2)) =0x00000012; HSMMCSDModuleClkConfig(); HSMMCSDBusPower(SOC_MMCHS_1_REGS, HS_MMCSD_BUS_POWER_ON);//emmc power on HSMMCSDBusVoltSet(SOC_MMCHS_1_REGS,HS_MMCSD_BUS_VOLT_3P3);//power 3.3v //clock 400kHZ or less HSMMCSDIntClock(SOC_MMCHS_1_REGS, HS_MMCSD_INTCLOCK_ON); SysDelayTimerSetup();//系统延时时钟开启,定时器7 Sysdelay(1);//delay 1ms for (i=0; i<74; i++);//wait for 74 more clock cycles HSMMCSDCommandSend(SOC_MMCHS_1_REGS, HS_MMCSD_CMD(MMCHS_CMD_INDX_CMD0, HS_MMCSD_CMD_TYPE_NORMAL, HS_MMCSD_NO_RESPONSE, HS_MMCSD_CMD_DIR_WRITE) ,0x00000000,NULL,MMCHS_BLK_BLEN_SHIFT,0);//send CMD0 ->IDLE State Sysdelay(10);//延时 HSMMCSDCommandSend(SOC_MMCHS_1_REGS, HS_MMCSD_CMD(MMCHS_CMD_INDX_CMD1, HS_MMCSD_CMD_TYPE_NORMAL, HS_MMCSD_48BITS_BUSY_RESPONSE, HS_MMCSD_CMD_DIR_WRITE) ,0x00FF8000,NULL,MMCHS_BLK_BLEN_SHIFT,0);//send CMD1 Idle State->Ready State HSMMCSDResponseGet(SOC_MMCHS_1_REGS,Response);//Receive R3 正确返回: 0x80FF8080和0x80FF8000 两种情况 while (Response[0]>>31 != 0x1)//busy [ Emmc_Cmd1Send(); ] |
|
|
|
MMC1相关的时钟域是用哪个函数打开的?是需要在boot启动的时候进行操作吗? |
|
|
|
chexiaohuo 发表于 2018-6-21 00:46 你不是在调试MMC1的APP么,看截图的状态有些问题,截图里的指针是停在了内部的internal ram地址中? 你load完.out的程序后,指针能够停止在main函数处吗?可以单步跟踪debug吗? MMC1clock的使能在CM_PER中,偏移量为0xF4h. |
|
|
|
hwjj940056201 发表于 2018-6-21 01:09 我在调试MMC1读写emmc的程序。可以进入main()函数进行单步调试,但是在访问函数 HSMMCSDBusPower(SOC_MMCHS_1_REGS, HS_MMCSD_BUS_POWER_ON);//emmc power on的时候,进入函数内部,到 HWREG(baseAddr + MMCHS_HCTL) = (HWREG(baseAddr + MMCHS_HCTL) & ~MMCHS_HCTL_SDBP) | pwr; 这一个语句后,出现截图状态。 下面是单步调试的图 最后停在了这里 |
|
|
|
hwjj940056201 发表于 2018-6-21 01:09 HWREG(0x44E00000 + 0xF4) = 0x00000002; 打开时钟后,可以对MMC1进行访问和操作。多谢Steven帮忙 |
|
|
|
hwjj940056201 发表于 2018-6-21 01:09 HWREG(0x44E00000 + 0xF4) = 0x00000002; 打开mmc1时钟后。可以对MMC1进行访问和函数操作。多谢Steven帮忙 |
|
|
|
chexiaohuo 发表于 2018-6-21 01:54 你好,请问你用starterware调好了你的MMC了么?我现在也在做这块,能不能请教几个问题呢?能不能给个联系方式 |
|
|
|
只有小组成员才能发言,加入小组>>
321 浏览 1 评论
523 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
762 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
643 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1119 浏览 1 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
15浏览 28评论
29浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
234浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
191浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
51浏览 13评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 00:08 , Processed in 1.100228 second(s), Total 95, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号