工具/软件:Code Composer Studio
您好!
我正在使用C6748开发套件。 我正在使用Code Composer v7从GPIO引脚读取数据并将结果存储在阵列中。 当我尝试运行我的代码时,我收到如下所示的错误:
[C674x_0]写错误:CIO消息中的文件ID (3.0091万)无效!
我一直在查看有关此问题的其他帖子,并遵循了所提出的一些建议,例如增加堆栈和堆大小,以及将.sysmem放入DDR2内存。 基于这些变化,我觉得我应该有足够的空间来存储我收集的数据。 我还在对我的“数组”使用malloc函数,我认为应该将所有内容分配到堆中。 我确实有一个printf语句,我读了它可能会导致问题,但我看不出它有什么问题。
我的代码如下:
/**
主要c
*/
包含"gPIO.h"
#include <stdio.h>
包括"SOC_C6748.h"
包括"lcdkC6748.h"
包括"HW_syscfg0_C6748.h"
#include <stdlib.h>
包含"PSC.h"
包括"HW_Types.h"
#define _SOC_C6748_H_
//#定义EMIFA_READ_SETUP_RESETVAL (0x00)
//#定义EMIFA_READ_STROKE_RESETVAL (0x00)
//#定义EMIFA_READ_HOT_RESETVAL (0x00)
//#定义EMIFA_TA_RESETVAL (0x00)
内部主(无效)
{
PSCModuleControl (SOC_PSC_1_regs,HW_PSC_GPIO,
PSC_POWERDOMAIN_ALUSE_ON,
PSC_MDCTL_NEXT启用);
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (0)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (1))= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (2)= 0x4444.4444万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (3)= 0x4444.4444万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (4)= 0x8888.8844万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (5)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (6)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (7)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (8)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (9)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (10)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (11))= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (12)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (13)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (14))= 0x0.0088万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (16)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (17)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (18)= 0x8888.8888万;
HWREG (SOC_SYSCFG_0_regs + SYSCFG0_PINMUX (19)= 0x8888.8888万;
无符号int i =0;
对于(i = 0;I<= 144;I++){
GPIODIRModeSet (SOC_GPIO _0_regs,I,GPIO _DIR_INPUT);
}
int *数据;
数据=(int *)malloc(sizeof(int)*250万);
无符号int x =0;
用于(x = 0;x<= 250万;x++){
Data[x]=HWREG (SOC_GPIO _0_regs + GPIO _IN_DATA (2));
}
printf("%d\n",sizeof(data/sizeof(datel[0]);
}
我对代码编写器和开发套件相当陌生,所以我可能犯了一个愚蠢的错误。
如果有任何帮助,我们将不胜感激!