[求助]用ads调试ARM7读写U盘老是出现这样的错误[求助]

Error: L6200E:Symbol _semihosting_swi_guard multiply define(by use_semi.o and use_no_semi.o) 出现这么一个错误,不知怎么修改,程序里找不到_semihosting_swi_guard ,也不知道use_semi.o和use_no_semi.o是哪个文件编译出来的,朋友们碰到过吗?

具体: 用的是贵公司CH374U带HUB的小板,主机用LPC2378,想调试读写U盘 已完成:1、加载程序库CH374HF9.LIB 2、按照CH374LIB.ZIP中的LIB9-EXAM6移植 3、SPI格式查询方式 很是着急,希望得到帮助,谢谢!

参考这个例程UploadImages/201052516205987.rar


SCM 你好!哪个例程呀


点击1楼的UploadImages/201052516205987.rar就可以下载。


已下了, 呵呵,谢谢,再研究研究


多谢SCM老师,我按照老师给我资料修改好了 现在调试通过了,建立新文件也成功了 strcpy( (char *)mCmdParam.Create.mPathName, "/LALA.TXT" ); i = CH374FileCreate( ); 在windows下能看到LALA.TXT 然后往文件下写数据: pCodeStr=(PUINT8)"123456"; while( 1 ) { for ( i=0; i { c = *pCodeStr; mCmdParam.ByteWrite.mByteBuffer[i] = c; if ( c == 0 ) break; pCodeStr++; } //我在ADS-AXD调试中看到mCmdParam.ByteWrite.mByteBuffer[i] 存上了“123456”,i=0x06 if ( i == 0 ) break; mCmdParam.ByteWrite.mByteCount = i;//mCmdParam.ByteWrite.mByteCount=0x06 i = CH374ByteWrite( ); } 最后一句条用库函数,能写上长度为6的“123456”吗?

而实际上写完我再在windows中看到/LALA.TXT里面只要数字“1”,其他数字没写进去,库函数没看懂,不知道哪里出问题了?


写完后需要调用CH374FileClose关闭文件,用于更新文件长度


这么快就回复了,谢谢,好的好的,以后不重复发了,心里一着急就发出去了,那个重复的帖子貌视我删不掉,麻烦工作人员给删了吧


加上CH374FileClose()后好了,心情不错,贵公司老师们辛苦了,明天回来后继续优化程序


想问一下,i = CH374FileCreate( );返回值为0X11可能会是什么原因?


是一个未定义错误,文件名是否大写,且符合8字节主文件+3字节后缀名格式?


没有0x11这个错误代码,创建文件的文件名以及路径名是否正确?确认该返回值是否为库的返回值。


只有登录才能回复,可以选择微信账号登录