TI论坛
直播中

盛越熊

7年用户 225经验值
私信 关注
[问答]

C6455_EMIFA语句也就跑了一次index=0后就不跑了的原因?

刚学用 EMIFA 不过C6455的库给的例子试跑和调试看映射到板子的内容对不对!不过看例子根本没进行读写。调试后:Sync Read Write is NOT Successful
    Reason:Error in data read.[status = 0x1]
查一下:
    tempData = 0xdeadbeef;
    for (index = 0; index < DATA_CNT; index++) [
        pAsyncData[index] = tempData;
    ]

    tempData = 0x55550000;
    for (index = 0; index < DATA_CNT; index++) [
        pAsyncData[index] = tempData + index;
    ]

根本没有给存储器地址:0xB0000000 赋值。(再说也不懂为什么里面讲前者是无效,后者是有效。————好奇怪)
    /* Verify that the data was indeed written */
    result = DATA_MATCH_SUCCESS;
    for (index = 0; index < DATA_CNT; index++) [
        if (pAsyncData[index] != (tempData + index)) [
            result = DATA_MATCH_FAIL;                     
            break ;
        ]
    ]——————这语句也就跑了一次  index=0 后就不跑了!说明没进行写好?搞不出是什么原因!
请求帮助!谢谢!
(有待程序文件)

回帖(12)

李峰

2020-7-29 08:45:43
你好,你用的CSL中的EMIFA的例子,前面的Asynchronous Read Write is Successful是否成功了呢?
举报

盛越熊

2020-7-29 08:58:44
引用: kingnet_52004 发表于 2020-7-29 12:46
你好,你用的CSL中的EMIFA的例子,前面的Asynchronous Read Write is Successful是否成功了呢?

都没成功!内存没有变化!当 读出来检查也不对:
 for (index = 0; index < DATA_CNT; index++) [
        if (pAsyncData[index] != (tempData + index)) [
            result = DATA_MATCH_FAIL;                     
            break ;
就进行了一次  index=0 就弹出来了!
和这段一直搞不懂为什么:一个有效一个无效
 /* Write 'invalid' values into EMIFA CS2 area. This is to overwrite the
     * previous valid values.
     */
    tempData = 0xdeadbeef;
    for (index = 0; index < DATA_CNT; index++) [
        pAsyncData[index] = tempData;
    ]

    /* Write **valid** values into CS2 area. */
    tempData = 0x55550000;
    for (index = 0; index < DATA_CNT; index++) [
        pAsyncData[index] = tempData + index;
    ]
本来 tempData 只是一个变量,设为多少是多少。。。怎么跟有效和无效有关呢?
谢谢!
举报

李峰

2020-7-29 09:13:08
引用: 个人用户 发表于 2020-7-29 12:59
都没成功!内存没有变化!当 读出来检查也不对:
 for (index = 0; index < DATA_CNT; index++) [
        if (pAsyncData != (tempData + index)) [

你好,我检查了一下,这个CSL的EMIFA的例子和evm板不匹配,在EVM上只有EMIFA的CE3上连接了一个异步器件,这个例子操作的CE2,CE4所以并不能正确的对FLASH操作。
举报

盛越熊

2020-7-29 09:43:20
引用: kingnet_52004 发表于 2020-7-29 13:13
你好,我检查了一下,这个CSL的EMIFA的例子和evm板不匹配,在EVM上只有EMIFA的CE3上连接了一个异步器件,这个例子操作的CE2,CE4所以并不能正确的对FLASH操作。

哦!你这样说那么现在我把配置给了像下面:
hwSetup.asyncWait = &asyncWait;
    hwSetup.ceCfg[0] = NULL;   
    hwSetup.ceCfg[1] = &asyncVal;
    hwSetup.ceCfg[2] = NULL;
    hwSetup.ceCfg[3] = NULL; 
那么按理说该是对了啊!但是还是不行的???结果还没写好?你能不能说一下解决方案啊?我用的是C6455DSK板子!很谢谢了!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分