This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
程序:官方闪灯代码《led_ex1_blinky》
电路:硬件原理图VREGENZ接地,采用内部1.2v
1.修改:(1)dcdc使能
//ASysCtl_disableDCDC(); 用这个函数仿真器报错进入低压模式
ASysCtl_enableDCDC();//使用这个函数仿真器通过
(2)配置GPIO24和gpio32,使其能够从flash启动。上电后经过万用表测试GPIO24电压为3V3; GPIO32电压为2V9
//Configure GPIO in Push Pull,Output Mode
GPIO_setPadConfig(24U, GPIO_PIN_TYPE_STD);
GPIO_setPadConfig(32U, GPIO_PIN_TYPE_STD);
GPIO_setPadConfig(24U,GPIO_DIR_MODE_OUT);
GPIO_setPadConfig(32U,GPIO_DIR_MODE_OUT);
2.问题描述:(1)仿真器经过仿真可以闪灯
(2)仿真器下载程序完成后,也可以闪灯
(3)仿真器下载程序后,板子断电,拔掉仿真器,不能闪灯,说明flash启动失败。
作为对比,我用另外一块外部1.2v电源给芯片供电(5v转1.2v),没有经过以上1.1和1.2的修改,也可以正常仿真和下载flash,闪灯也正常。
但是目前我们的板子是经过修改了内部1.2v,这种情况下,工程需要有哪些需要修改的地方?
看起来问题是出在1.2V的VDD电源上。有没有测量一下VDD的电压是多少?
使能内部的VREG生成1.2V的VDD电源,完全是硬件上的事,不需要软件的配置。
//ASysCtl_disableDCDC(); 用这个函数仿真器报错进入低压模式
ASysCtl_enableDCDC();//使用这个函数仿真器通过
这两行代码也只是起检查的作用。
请看一下datasheet的电源相关部分,包括6.3.3 电源和接地,以及7.9.1.2.6 内部 1.2V 开关稳压器(直流/直流),确保相关的硬件设计没有问题。
抱歉,之前焊接晶振能启动属于碰巧。后来再次断电启动又不行了。
我们现在把GPIO24和GPIO32上拉就完全可以了。
所以最终答案是GPIO24和GPIO32需要硬件上拉。
官方参考设计也是如此。
如果GPIO24和GPIO32硬件不上拉,软件是否可以通过配置GPIO24和GPIO32上拉可以启动?
从flash启动就是要上拉的呀,你都没启动咋配置GPIO呢对伐。
这个意思上电启动的时候就是要是高电平,才能是flash启动。程序运行起来以后这两个引脚可以配置为自己想要的功能。
不过我不太明白的是这个sci/can引导启动具体是什么方式。假设配置为sci启动,难道是上电后串口下发了数据到这两个引脚之后才启动?
是的,不能通过软件上拉。上拉在boot的过程中是禁用的:
https://www.ti.com/lit/ds/sprs945g/sprs945g.pdf
就是要通过外部硬件上下拉的方式来选择boot模式。
不过我不太明白的是这个sci/can引导启动具体是什么方式。假设配置为sci启动,难道是上电后串口下发了数据到这两个引脚之后才启动?
这个是用于在线升级的。比如选择sci,升级的代码就会通过sci口传输进来。