Closed jlmhkzj closed 3 years ago
朱工,您好,再次的打扰您一下! 我再移植FlashDB的时候发现一个问题,您看看 是不是真正存在。 1、我在Env 环境中加载Flash DB 组件;然后需要定义两个全局变量,直接定义就好了。 2、但是在git hub 上提交的例程是 基于裸机的,Lock 和 unlock 是关闭和打开中断。这时候就有两个问题 (1)我再写的过程中发现,SPI TX RX DMA 开启,是无法运行的程序会执行不下去。将SPI DMA 关闭之后,程序可以运行,但是关闭之后又出现如下(2)问题。 (2)在shell中出现了,thread:heap stack overflow,程序无法继续运行。 (3)我是在main函数中,第一个线程之前 创建的,顺序是
取代 disable_irq 为 mutex 试试
朱工,您好,再次的打扰您一下! 我再移植FlashDB的时候发现一个问题,您看看 是不是真正存在。 1、我在Env 环境中加载Flash DB 组件;然后需要定义两个全局变量,直接定义就好了。 2、但是在git hub 上提交的例程是 基于裸机的,Lock 和 unlock 是关闭和打开中断。这时候就有两个问题 (1)我再写的过程中发现,SPI TX RX DMA 开启,是无法运行的程序会执行不下去。将SPI DMA 关闭之后,程序可以运行,但是关闭之后又出现如下(2)问题。 (2)在shell中出现了,thread:heap stack overflow,程序无法继续运行。 (3)我是在main函数中,第一个线程之前 创建的,顺序是
<1>led <2>SPIflash <3>wdt <4>fal <5>falsh db <6>通过rt_thread_create 创建第一个 LED 闪烁线程。 (4)这时候我将Lock 和 unlock 中的 两个函数__disable_irq(); __enable_irq();屏蔽掉,留下空的函数体,程序可以执行。 公司刚刚有个项目,选一个实时操作系统,可能我理解的还不够,有问题麻烦您指点一下。 谢谢 Email: zhujie@sdpmjd.com