微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 Port 2 导致固件崩溃

CC2541 Port 2 导致固件崩溃

时间:10-02 整理:3721RD 点击:

大家好,

我做了个自制板子,借鉴的CC2541 Keyfob的设计加了外部电源和DC/AC通道,固件根据BLEperipheral加了功能包。

我用的芯片的P2.0作为外部通道电源的开关,就是ADC读电压的时候是high,其他时候保持low。

但是现在发现在init方程里,只要一设置P2的初始状态,固件在运行的时候就会崩溃,直接卡到FFFFFF不动了。

init里我是这么设置的:

P0SEL = 0xFF; // Configure Port 0 as Periferal Function
P1SEL = 0x3C; // Configure Port 1 as SPI Alt2 else GPIO
P2SEL = 0;        // Configure Port 2 as GPIO

P0DIR = 0x00; // Port 0 pins as inputs (ADC)
P1DIR = 0x23; // All port 1 pins (P1.0,P1.1,P1.5) as input else output
P2DIR = 0x1F; // All port 2 pins (P2.0-P2.4) as output

P0 = 0x00;        // P0 is for ADC channels
P1 = 0x00;        // All pins on port 1 to low
// P2 = 0;            // Blows up the stack 这里做任何设置不管是1还是0,固件就跑不了了

请大家帮忙看看是我哪里设置错了?还是硬件设计的问题?

非常感谢!

如果你使用原始的SimpleBLEPeripheral的代码的设置会出现什么情况呢?

检查一下是不是软件里面的硬件映射已经根据您的硬件修改好了

直接套用原始SimpleBLEPeripheral的话固件一运行就直接crash到FFFFF,我尝试了TI给的各种Simple Project的代码,发现但凡有触及到port 2.0的改动都会导致固件运行崩溃,非常的奇怪。

因为我在做这张板子的时候,硬件的PCB设计几乎完全是按照Development Kit围绕CC2541芯片进行布局的,除此之外只是加了供电和每个analog port的外接AC/DC,DC/DC的转换,之前用DK测试的时候一切都运转正常,可是一到自己的板子上port 2.0就完全失控了。

难道是需要到hal等一些源文件里对硬件映射一一修改?

谢谢你的回复!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top