前天正琢磨着换个编译器呢,今天,就是今天,也就是刚才!
鬼使神差般想起了 NEC 的话,这个编译器不支持中文(我晕),仔细想想可能是我太冒进了,的确应该从底层的底层起步,随下决心进行最后一次测试。
特此详细记录一下我的过程,以供大家检查没有造假:
1. 很无奈的再次安装了PM和 ra78k0_w380_e 与 cc78k0_w370_e,一律默认路径按照缺省值安装;
2. 进入PM 后,建立一个“数字目录下的工程”,因为我考虑PM要是有这个BUG,不支持英文,干脆也别整English了,直接按数字建立目录和工程 例如我按日期建立了 0708 目录和070801 工作空间。
3. 然后凭借着自己还有点编程功底,写下了就是打死也不回错的C程序,例如 我建了个 07080101.c文件。空的main(){},
4. 再把07080101.c文件导入到 070801中。至此,从存储目录到程序代码注释没有一个汉字!编译链接DEBUG全下了,就会发现关键所在,原来头疼的“RA78K0 error F2004: Illegal file name 'ORG.PRA'”非法文件名报错不存在了,我认为这就是最最最最好的说明,以前怎么编译都不过就是中文这里不合适!
5. 那好,一鼓作气,用APPLITET 生成个代码看看,注意保险起见,同样不出现任何中文,由于只是验证是不是我掌握了解决问题的方法,所以建立的APPLITET并不复杂如下:
#include "macrodriver.h"
#include "system.h"
#include "port.h"
/*
*******************************************************************************
** MacroDefine
*******************************************************************************
*/
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** main function
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void main( void )
{
IMS = MEMORY_IMS_SET;
IXS = MEMORY_IXS_SET;
/* TODO. add user code */
P6 = 0xFF;
while(1){
P6 != P6 ;
}
}
其中 P6取反是我加的。
6. 把APP生成的代码文件拷到0708文件夹中,按照4讲的调试,令人欣喜结果出现了,完全证明了 NEC 所说,PM的确排斥中文,排斥的可怕………………………
7. 同时你还可以SM+仿真,前面耽误的时间太多了,这个SM+还没学会呢,惭愧ing。简单观察寄存器状态的一种方式是点击“watch”按照,添加“P6”端口,’“GO”你就发现P6确实在变化。
好了,这条简单而又漫长的调试之路就此算是铺好了,明天计划下剩下的时间干些什么呢。
我要说的是:PM这么关键这么致命的BUG怎么早点说啊!还有别的BUG吗,这里的水很深啊……………
休息了 再见