在例程gpio_c6748x_c6748_evmc6748工程中新添加bl_platform.h头文件,然后将其bl_platform.c文件加到工程中,然后调用BlPlatformConfig();函数。编译后出现以下错误
subdir_rules.mk:9: recipe for target 'bl_platform.obj' failed
"../bl_platform.c", line 133: error: identifier "PLL1_MUL" is undefined
"../bl_platform.c", line 514: error: identifier "VTPIO_CTL_HIGH" is undefined
"../bl_platform.c", line 622: error: identifier "DDR2_SDRCR_CLEAR" is undefined
3 errors detected in the compilation of "../bl_platform.c".
gmake: *** [bl_platform.obj] Error 1
gmake: Target 'all' not remade because of errors.
可是bl_platform.h文件中PLL1_MUL,VTPIO_CTL_HIGH,DDR2_SDRCR_CLEAR已经定义,这个应该如何解决?
Shine:
请问您是想要用starterware bootloader去加载gpio代码?如果是的话,不需要把bootloader代码加到GPIO工程中,请看下面的wiki网站。
processors.wiki.ti.com/…/C6748_StarterWare_Booting_And_Flashing另外,因为AISgen 工具本身就能完成PLL, DDR等初始化操作,所以可以不用starterware bootloader来做二次bootloader。
user5250905:
回复 Shine:
不是,我就想配置一下OCSEL和OCSDIV这俩个寄存器,想观察一下时钟,应该在哪配置?
Shine:
回复 user5250905:
在ccs view memory里找到寄存器地址直接修改里面的值或者用下面的语句修改寄存器。 *(volatile unsigned int*) (reg_addr)= value;
user5250905:
回复 Shine:
在ccsmemory里的寄存器直接修改还是变为原来的值,修改不了,
user5250905:
回复 user5250905:
用* (unsigned int *)(SOC_PLLC_0_REGS + 0x124) = 0x00008001u;这样修改ocsel寄存器的值仿真的时候出现这样的问题,寄存器ocsel的值并没有改变,
ICEPICK_C: Trouble Reading Memory Block at 0x1c10800 on Page 0 of Length 0x4
ICEPICK_C: GEL: Error while executing OnTargetConnect(): Target failed to read 0x01C10800at (*((unsigned int *) ((0x01C10000+0x800)+(4*LPSC_num)))&0x1F) [C6748.gel:849]at PSC0_LPSC_enable(0, 0) [C6748.gel:449]at PSC_All_On_Experimenter() [C6748.gel:238]at OnTargetConnect()
这是什么问题啊?非常感谢
user5250905:
回复 user5250905:
用* (unsigned int *)(SOC_PLLC_0_REGS + 0x124) = 0x00008001u;这样修改ocsel寄存器的值仿真的时候出现这样的问题,寄存器ocsel的值并没有改变,
ICEPICK_C: Trouble Reading Memory Block at 0x1c10800 on Page 0 of Length 0x4
ICEPICK_C: GEL: Error while executing OnTargetConnect(): Target failed to read 0x01C10800at (*((unsigned int *) ((0x01C10000+0x800)+(4*LPSC_num)))&0x1F) [C6748.gel:849]at PSC0_LPSC_enable(0, 0) [C6748.gel:449]at PSC_All_On_Experimenter() [C6748.gel:238]at OnTargetConnect()
这是什么问题啊?非常感谢
Shine:
回复 user5250905:
下面的报错信息是读PSC寄存器,这个报错信息是在执行* (volatile unsigned int *)(SOC_PLLC_0_REGS + 0x124)的时候产生的吗?
user5250905:
回复 Shine:
对啊
Tony Tang:
回复 user5250905:
上面的信息是连接仿真器时执行GEL文件的输出信息,与改PLL寄存器应该没多大联系吧。你的问题是连仿真时有问题,还是用代码改写PLL寄存器有问题?
user5250905:
回复 Tony Tang:
嗯,对,那个错误跟改PLL寄存器无关,但是就是改pll寄存器,仿真时pll寄存器的值没有改变?不知为何