Thread 中讨论的其他器件:C2000WARE、 SysBIOS
您好!
我正在尝试将闪存 API 集成到我们的项目中、alreaqday 包含 driverlib 库和位字段编程库。 我不知道该怎么做,也不知道该怎么做。 错误如下:
编译器输出如下:
>>编译失败
sys/subdir_rules.mk:9:目标"sys/FlashMgr.obj"的配方失败
"C:\ti\c2000\c2000_SDK_4_00_00_00\c2000ware\device_support\f28003x\headers\f28003x_sysctrl.h" Ware_Motor、第484行:错误#41:需要一个标识符
"C:\ti\c2000\c2000_SDK_4_00_00_00\c2000ware\device_support\f28003x\headers\f28003x_sysctrl.h" Ware_Motor、第484行:错误#80:预计是一个类型指定符
"C:\ti\c2000\c2000_SDK_4_00_00_00\c2000ware\device_support\f28003x\headers\f28003x_sysctrl.h" Ware_Motor、第484行:错误#170:此处不允许使用函数类型
"C:\ti\c2000\c2000_SDK_4_00_00_00\c2000ware\device_support\f28003x\headers\f28003x_sysctrl.h" Ware_Motor、第724行:错误#41:预期的标识符
"C:\ti\c2000\c2000_SDK_4_00_00_00\c2000ware\device_support\f28003x\headers\f28003x_sysctrl.h" Ware_Motor、第724行:错误#80:预期的类型指定符
"C:\ti\c2000\c2000_SDK_4_00_00_00\c2000ware\device_support\f28003x\headers\f28003x_sysctrl.h" Ware_Motor、第724行:错误#170:此处不允许函数类型
"C:\Git_work\FW_MotorController\Development\Motor Controller\Sys/Inc/svm.h"、第34行:警告#303-D:typedef 名称已声明(同类型)
"..\Sys\Inc\Controller.h"、第132行:警告#303-D:typedef 名称已声明(同类型)
"..\Sys\Inc\ADCMgr.h"第138行:警告#303-D:typedef 名称已声明(同类型)
"../../Sys/FlashMgr.c "、第17行:警告#1181-D:#warning 指令:"Plantar mover al .h"
".../Sys/FlashMgr.c ",第27行:警告#1181-D:#warning 指令:"hacer que peticion de lectura sea comprobendando el Estado de flash por si no está escribiendo ni en error"
"....glas"/Sys/FlashMgr.c,第 escribirá 行:警告#1181-D:#warning 指令:"POR ahora no se ha movido a ram las variables que se escribiran en flash porque a prieral no hace falta,se e dare tamente en sector que no se USA seguro"
"..las /Sys/FlashMgr.c variables"第31行:警告#1181-D:#warning 指令:"meto las variables en sector 0 bank 1. TODO reservar esas directciones en el debugger"
"...LED"/Sys/FlashMgr.c、第32行:警告#1181-D:#warning 指令:"cambiar 变量 de error 示例 POR unified errorReaction y eleir un color de LED"
".../Sys/FlashMgr.c "、第66行:警告#1181-D:#warning 指令:"Plantar mover variables a RAM"
"../Sys/FlashMgr.c ",第116行:WARNING #1181-D:#WARNING DIRECTION:"Pensar en cómo ó n se gestionará ó n el Dato para leer. Dejarlo en Estado de que esta ocupado la flash escribiendo y que espere el maestro"
".../Sys/FlashMgr.c ",第159行: WARNING #1181-D:#WARNING CO令:" Se podría mejorar usando una cola de conflags para cada mensaje, siresto para avechar las escrituras de flash ordenando las peticiones de flash según ó n la direction que queires atacar para de un bubes de la mieltecles positories。 Es es utils para casos donde se escriben muchas veces en flash, coasa que dudo que sea util ahroa mismo"
".../Sys/FlashMgr.c "第185行:警告#1181-D:#WARNING 指令:añadir 令牌 aqui
"...ErrorRecovery"/Sys/FlashMgr.c、第243行:警告#1181-D:#warning 指令:"Reiniciar en unifiedErrorRecovery"
"...d"/Sys/FlashMgr.c,第339行:WARNING #1181-D:#WARNING 指令:añadir funcion de check de si está escrita la dirección è re de flash para retornar algo y que actue en snevencia "
"...>"/Sys/FlashMgr.c、第355行:警告#1181-D:#warning 指令:"para hacer lectrura de los datos:dataLow =*(uint64 *)(u32Index);"
编译"../Sys/FlashMgr.c 时检测到6个错误。
gmake:***[Sys/FlashMgr.obj]错误1
Sys/FlashMgr 是使用 FLASHAPI 库的.c 文件。 错误出现在一个来自 C2000安装的文件中、该文件根本没有修改、我不知道如何能够获取该错误。 我在添加文件 F021_F28003x_C28x.h 时会遇到这些错误。
我正在使用的.cmd 如下所示:
内存
{
begin :origin = 0x00080000、length = 0x00000002
BOOT_RSVD :origin = 0x00000002、length = 0x00000126
RAMM0 :origin = 0x00000128、length = 0x000002D8
RAMM1 :origin = 0x00000400,length = 0x00000380 /*片上 RAM 块 M1 */
BOOT_RSVD_SYSBIOS:origin = 0x00000780、length = 0x00000080
/* RAMLS0 :origin = 0x00008000、length = 0x00000800
RAMLS1 :origin = 0x00008800、length = 0x00000800
RAMLS2 :origin = 0x00009000、length = 0x00000800
RAMLS3 :origin = 0x00009800、length = 0x00000800
RAMLS4 :origin = 0x0000A000、length = 0x00000800 */
RAMLS04 :origin = 0x00008000、length = 0x00002800
RAMLS5 :origin = 0x0000A800、length = 0x00000800
RAMLS6 :origin = 0x0000B000、length = 0x00000800
RAMLS7 :origin = 0x0000B800、length = 0x00000800
RAMGS0 :origin = 0x0000C000、length = 0x00001000
RAMGS1 :origin = 0x0000D000、length = 0x00001000
RAMGS2 :origin = 0x0000E000、length = 0x00001000
RAMGS3 :origin = 0x0000F000、length = 0x00001000
BootROM :origin = 0x003F8000、length = 0x00007FC0
SECURE_ROM :origin = 0x003F2000、length = 0x00006000
复位 :origin = 0x003FFFC0、length = 0x00000002
/*闪存扇区*/
/*组0 */
FLASH_BANK0_SEC0 :origin = 0x080002、length = 0x000FFE
FLASH_BANK0_SEC1 :origin = 0x081000、length = 0x001000
FLASH_BANK0_sec2 :origin = 0x082000、length = 0x001000
FLASH_BANK0_SEC3 :origin = 0x083000、length = 0x001000
FLASH_BANK0_SEC4 :origin = 0x084000、length = 0x001000
FLASH_BANK0_SEC5 :origin = 0x085000、length = 0x001000
FLASH_BANK0_SEC6 :origin = 0x086000、length = 0x001000
FLASH_BANK0_sec7 :origin = 0x087000、length = 0x001000
FLASH_BANK0_SEC8 :origin = 0x088000、length = 0x001000
FLASH_BANK0_SEC9 :origin = 0x089000、length = 0x001000
FLASH_BANK0_SEC10:origin = 0x08A000、length = 0x001000
FLASH_BANK0_SEC11:origin = 0x08B000、length = 0x001000
FLASH_BANK0_SEC12:origin = 0x08C000、length = 0x001000
FLASH_BANK0_SEC13:origin = 0x08D000、length = 0x001000
FLASH_BANK0_SEC14:origin = 0x08E000、length = 0x001000
FLASH_BANK0_SEC15:origin = 0x08F000、length = 0x001000
/*组1 */
FLASH_BANK1_SEC0 :origin = 0x090000、length = 0x001000
FLASH_BANK1_SEC1 :origin = 0x091000、length = 0x001000
FLASH_BANK1_SEC2 :origin = 0x092000、length = 0x001000
FLASH_BANK1_SEC3 :origin = 0x093000、length = 0x001000
FLASH_BANK1_SEC4 :origin = 0x094000、length = 0x001000
FLASH_BANK1_SEC5_6 :origin = 0x095000、length = 0x002000
//FLASH_BANK1_SEC5 :origin = 0x095000、length = 0x001000
//FLASH_BANK1_SEC6 :origin = 0x096000、length = 0x001000
FLASH_BANK1_SEC7 :origin = 0x097000、length = 0x001000
FLASH_BANK1_SEC8 :origin = 0x098000、length = 0x001000
FLASH_BANK1_SEC9 :origin = 0x099000、length = 0x001000
FLASH_BANK1_SEC10:origin = 0x09A000、length = 0x001000
FLASH_BANK1_SEC11:origin = 0x09B000、length = 0x001000
FLASH_BANK1_SEC12:origin = 0x09C000、length = 0x001000
FLASH_BANK1_SEC13:origin = 0x09D000、length = 0x001000
FLASH_BANK1_SEC14:origin = 0x09E000、length = 0x001000
FLASH_BANK1_SEC15:origin = 0x09F000、length = 0x001000
/*组2 */
FLASH_BANK2_SEC0 :origin = 0x0A0000、length = 0x001000
FLASH_BANK2_SEC1 :origin = 0x0A1000、length = 0x001000
FLASH_BANK2_sec2 :origin = 0x0A2000、length = 0x001000
FLASH_BANK2_SEC3 :origin = 0x0A3000、length = 0x001000
FLASH_BANK2_SEC4 :origin = 0x0A4000、length = 0x001000
FLASH_BANK2_SEC5 :origin = 0x0A5000、length = 0x001000
FLASH_BANK2_SEC6 :origin = 0x0A6000、length = 0x001000
FLASH_BANK2_sec7 :origin = 0x0A7000、length = 0x001000
FLASH_BANK2_SEC8 :origin = 0x0A8000、length = 0x001000
FLASH_BANK2_SEC9 :origin = 0x0A9000、length = 0x001000
FLASH_BANK2_SEC10:origin = 0x0AA000、length = 0x001000
FLASH_BANK2_SEC11:origin = 0x0AB000、length = 0x001000
FLASH_BANK2_SEC12:origin = 0x0AC000、length = 0x001000
FLASH_BANK2_SEC13:origin = 0x0AD000、length = 0x001000
FLASH_BANK2_SEC14:origin = 0x0AE000、length = 0x001000
FLASH_BANK2_SEC15:origin = 0x0AF000、length = 0x001000
}
部分
{
codestart :> beging, align (8)
.text :>> FLASH_BANK0_sec2 | FLASH_BANK0_SEC3 | FLASH_BANK0_SEC4 | FLASH_BANK0_SEC5 | FLASH_BANK0_SEC6 | FLASH_BANK0_SEC7 | FLASH_BANK0_SEC8、ALIGN (8)
.cinit :> FLASH_BANK0_SEC1、 align (8)
.switch :> FLASH_BANK0_SEC1、ALIGN (8)
.reset :> reset, type = DSECT /*未使用,*/
.stack :> RAMM1
#if defined (__TI_EABI __)
.init_array :> FLASH_BANK0_SEC1、ALIGN (8)
.bss :> RAMLS5
.bss:输出: > RAMLS04
bss:CIO: > RAMLS04
.data :> RAMLS5
.sysmem :> RAMLS5
.const :> FLASH_BANK1_SEC5_6、ALIGN (8)
#else
.pinit :> FLASH_BANK0_SEC1、ALIGN (8)
.ebss :>> RAMLS5 | RAMLS6
.esysmem :> RAMLS5
CIO :> RAMLS04
econst :> FLASH_BANK0_SEC9、ALIGN (8)
#endif
ramgs0:> RAMGS0
ramgs1 :> rammGS0
/* 分配 IQ 数学领域:*/
IQMath :> FLASH_BANK0_SEC1、ALIGN (8)
IQmathTables :> FLASH_BANK0_sec2, ALIGN (8)
组
{
.TI.ramfunc
{-l FAPI_F28003x_COFF_v1.58.01.lib}
} LOAD = FLASH_BANK0_SEC1、
RUN = RAMLS04、
Load_start (_RamfuncsLoadStart)、
Load_Size (_RamfuncsLoadSize)、
Load_End (_RamfuncsLoadEnd)、
RUN_START (_RamfuncsRunStart)、
RUN_SIZE (_RamfuncsRunSize)、
RUN_END (_RamfuncsRunEnd)、
对齐(8)
/* TBD las variables que se usaran */
DataBufferSection :> RAMM1, ALIGN(8)
}
库和链接器的包含选项:
最后、我包含了此运算产生的.map。
此致、
大卫