-
貌似找到了,开始时dsp2812读取四个GPIOF的值,确定为从GPIOB中加载程序,但在这个模式下,如果没有读取到有效值0x08AA或者0x10AA时,它会把地址指向FLASH_ENTRY_POINT(0x3F7FF6),这个地址就是Flash程序的入口地址,所以再次复位的时候,程序就从这个地址开始加载,DSP能够正常运行。这个是在手册spru095的第39页,帮我确认下对不对?多谢啦!:)
-
DSP2812的上电复位和热复位有没有什么区别啊,会不会是热复位的时候不检测GPIOF4引脚,而直接从flash中加载。
-
检测了那个信号,我把示波器调到每隔500ms,同时检测复位信号和GPIOF4,刚上电的时候,GPIOF4的电平是1.2v(下拉电阻为10K)。之后复位信号变高,复位时间是满足时序要求的,此时DSP未正常工作,按下复位之后,GPIOF4在复位结束之后变成了低电平,复位期间一直保持1.2v的电平。复位完成之后就开始工作了。现在我把电阻换成了0,直接拉低,按下复位之后DSP能正常工作。
我想不通DSP怎么就能检测到GPIO为高电平,然后正常工作的。
-
GPIOF4是确定boot加载模式的,高电平才能从Flash中加载程序。如果拉到了低电平,那么dsp检测GPIOF4的时候是检测到了低,应该不能正常工作。但是,我现在按下复位按键之后,GPIOF4依然是低,但DSP却正常工作。很是费解啊!:Sad:
-
确实是下拉电阻的事情,把下拉电阻去掉就一直是高电平了。但是老师让我解释为什么加个下拉电阻GPIOF4就能在按下复位之后变成0,正常应该是高啊,内部有上拉,外部有下拉,不至于是0.
-
我现在正在调DSP2812,我把GPIOF4在外部下拉了,这个GPIO本来在内部就有上拉,上电之后GPIOF4的电平是1.2V左右,按下复位之后变成了低,这个现象和应该输出高矛盾,不知道哪出错了
-
那如果设置的是输出呢,在程序中没有定义GPIO口的初始值,那输出的该是什么电平?
-
问题已解决
-
我使用的DSP是2812,DSP中有个闪灯程序,现在有个问题,就是上电之后,DSP不能正常工作,灯不闪,必须得手动按下复位之后才好使。复位电路采用的是10uF电容和10K电阻组合的RC电路,复位时间应该是够的。复位信号又经过了一个74LVC14整流之后,将复位信号输入DSP。试过好多种方法了,最近将复位电路的电阻换成68K的,好使了一阵,现在又不行了。求高手指点啊!!!!