MSP430使用CH375, 编译报错, 是否版本对不上

IAR FOR MSP430 5.30.1

报错, 不明什么意思 Error[e24]: Segment DATA16_AN (seg part no 1, symbol "_A_PAIN_L" in module "flash", address [200-201]) overlaps segment DATA16_AN (seg part no 22, symbol "DISK_BASE_BUF" in module "main", address [200-3ff])

只要引用以下, 就这样了, 不知是否库文件不适用...能否提供一个支持IAR5.30.1的库文件吗 我邮箱master#skygz.com

/* 以下定义的详细说明请看CH375HFF.H文件 */ #define LIB_CFG_FILE_IO 1 /* 文件读写的数据的复制方式,0为"外部子程序",1为"内部复制" */ #define LIB_CFG_INT_EN 0 /* CH375的INT#引脚连接方式,0为"查询方式",1为"中断方式" */

#define CH375_CMD_PORT_ADDR 0xBDF1 /* CH375命令端口的I/O地址 */ #define CH375_DAT_PORT_ADDR 0xBCF0 /* CH375数据端口的I/O地址 */ /* 单片机的1KB的RAM分为两部分: 0200H-03FFH为磁盘读写缓冲区, 0400H-05FFH为文件数据缓冲区 */ #define DISK_BASE_BUF_ADDR 0x0200 /* 外部RAM的磁盘数据缓冲区的起始地址,从该单元开始的缓冲区长度为SECTOR_SIZE */ #define DISK_BASE_BUF_LEN 512 /* 默认的磁盘数据缓冲区大小为512字节,建议选择为2048甚至4096以支持某些大扇区的U盘,为0则禁止在.H文件中定义缓冲区并由应用程序在pDISK_BASE_BUF中指定 */ #define FILE_DATA_BUF_ADDR 0x0400 /* 外部RAM的文件数据缓冲区的起始地址,缓冲区长度不小于一次读写的数据长度 */ /* 单片机的RAM有限,其中CH375子程序用512字节,所以外部RAM剩余长度为512字节,即使是具有2K容量RAM的单片机,减去堆栈和变量的占用,缓冲区最多为1K字节 */ #define FILE_DATA_BUF_LEN 0x0200 /* 外部RAM的文件数据缓冲区,缓冲区长度不小于一次读写的数据长度 */ /* 如果准备使用双缓冲区交替读写,那么不要定义FILE_DATA_BUF_LEN,而是在参数中指定缓冲区起址,用CH375FileReadX代替CH375FileRead,用CH375FileWriteX代替CH375FileWrite */

#define CH375_INT_WIRE ( P9IN & 0x10 ) /* P9.4, CH375的中断线INT#引脚,连接CH375的INT#引脚,用于查询中断状态 */ #define NO_DEFAULT_CH375_F_ENUM 1 /* 未调用CH375FileEnumer程序故禁止以节约代码 */ #define NO_DEFAULT_CH375_F_QUERY 1 /* 未调用CH375FileQuery程序故禁止以节约代码 */

#pragma language=extended #include "CH375HFF.H" #pragma language=default

在CH375HFF.H中头文件的地方有对版本的说明: TC2.0@PC, IAR_C/EC++_3.20A@MSP430 显然不适合用5.30 目前CH375的库维护相对麻烦,推荐您使用CH376芯片。如果使用并口操作U盘应该是完全可以替换的,PIN to PIN


现在用的是 ** TC2.0@PC, IAR_EW50_C/C++_4.11@MSP430X ** 是什么版本

我也想用CH376, 现在用的样片是CH375的, 可申请样片, 说我第二次, 要自给邮费, 那邮费要25元, 晕, 还不如去买...


这点费用就不用计较了。耽误的时间可能远不止这个费用了。


DISK_BASE_BUF**** FILE_DATA_BUF**** 禁用这些定义后, IAR5.30就可以编译使用了


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