我想写两个主要的程序P1和P2。P1将与JTAG一起加载到STM32板中,P2编译后生成的二进制文件将写入STM32板外部闪存中。在P1中,在做了一些事情之后,我想将P2加载到内存中并运行它。因此,程序计数器将跳转到P2。
P1:
#include ......
void main(void)
{
printf("Hello, I am program 1 !\n");
//TO DO: load and run P2
}
P2:
#include ......
void main(void)
{
printf("Hello, I am p
我有stm32控制器,并通过linux终端进行调试。在ubuntu中使用ARM -none eabi-gdb进行调试时,我曾尝试从arm控制器读取实时数据,但不幸的是,如果在源代码上应用断点,我只能监控变量数据,所以您能否帮助我在Linux终端上实时查看变量,而不使用源代码中的任何断点(就像IAR live watch一样)
我的主板STM32F446有一个片上调试器(STLINK v2),我试图在Linux环境中调试我的可执行文件(Virtual = Ubuntu,host os = windows 10)。我无法在USB设备列表中看到stlink调试器,即lsusb没有显示任何stlink设备。虽然我确实在Linux中安装了stlink工具,并更新了udev规则2,但无法看到openocd与STM32板进行交互,我想#1是造成这种情况的根本原因。
lsusb输出
$ lsusb
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Devi
我正在使用Ada programming IDE GNAT Programming Studio (全球定位系统,GPL2017版本),当我尝试在STM32F4Disco中使用它时,我遇到了一段艰难的时间。
在Linux (Ubuntu17.10)上,当我试图打开一个STM32项目时,GPS冻结了。无核心转储,无错误消息。在.gsp/log中没有异常消息,但看起来它没有完成加载。
我们将非常感谢您的帮助。谢谢
编辑:我从AdaCore网站安装了GNAT 2017,Spark和arm-elf for Linux。
编辑2:我删除了我在Mac上关于GPS的问题,因为它可能被认为是软硬件问题。
我现在正在将arduino代码移植到stm32(c/c++)。请帮助我使用函数:
constrain(x, a, b)
返回
x:如果x介于a和b之间
a:如果x小于a
b:如果x大于b
示例
sensVal = constrain(sensVal, 10, 150);
// limits range of sensor values to between 10 and 150