CrisJay
CrisJay - 认证专家

注册于 1 year ago

回答
17
文章
3
关注者
0

可能是由于是elm-chan 开发的 fatfs ,所以简称elm-fatfs。

我个人倒是没有遇到过这个问题,之前我的问题是直接会失败而不是挂起,可能需要看看其他坛友有没有类似问题的解决方案了

可以做动态网页,对于题主处理session内存的方式我个人认为可以尝试一下。
动态网页方面题主可以参考我的一个业余正在开发的项目:
部署效果,访问不了点下面备用链接
部署效果备用(访问速度慢)
网页源码
后端源码

这个需要根据同一时间的最大连接数来判断,同一时间连接越多,占用内存越大。
下面贴一个RTT 官方的测试结果:
image.png
但是上述消耗并不一定是准确的,不过其计算方法是对的,也就是说会随着连接数量的增加而增加。

题主可以看一下你所框出的下面一行文字,可编程字节为1-256,所以说是可以写入256个字节的,但是这有个前提,正如题主所说写之前应该先擦除对应扇区,其实就是因为flash的写入操作只能是把1写成0,而不能把0写成1,而擦除操作就是把对应区域的0全部变成1,这样就可以开始有效的写入。如果不进行擦除操作,并且写入的区域已经有值的话由于无法将原来存在的0变成1,就会产生写入后读取的值不同于写入的值。

所以如果想要在已写入的区域写入新值,那么就必须先擦除这个区域,而一次擦除最小就是4096字节。

看样子你的板子没有联上网,试试使用 wifi join [SSID] [PASSWIRD] 命令连上网络

进入 rtconfig.h 文件查看一下 main 线程的堆栈定义 RT_MAIN_THREAD_STACK_SIZE 是不是设置的太小了,设置为2048试一下。

感谢@dsl_90s 提醒,在此完善一下:

如果仅仅想关闭 LOG_D 打印的日志,那么可以调整日志级别来禁用对应级别以下的日志打印,具体级别分类点击查看 对应 日志级别 栏目

以下为原回答:

标准的做法应该是在业务逻辑中有明确的宏定义如:

#if ENABLE_DEBUG
    MY_LOG(...);
#endif

然后控制 ENABLE_DEBUG 的值为0或1来启动调试或关闭。

当然如果一开始没有这么设计并且就是想关闭的话这里提供一个比较暴力的方法:

进入 ulog.h 文件夹,以 LOG_D 的关闭为例,找到以下代码:

#define LOG_D(...)                     ulog_d(LOG_TAG, __VA_ARGS__)

去掉后面的函数,如下:

#define LOG_D(...)                    

当然再想开启就改回来。这样能够实现,但是还是推荐在业务中用宏定义去控制。

以BSP方式创建的工程需要配置许多参数以及运行环境,并且需要自行解决许多依赖,如果是想做潘多拉开发板项目的话,推荐首先从官方SDK开始,使用RT-Thread Studio导入官方的例程,这样可以避免各种参数配配置问题和依赖问题。这里提供一个使用RT-Thread Studio建立潘多拉WIFI项目的示例,可以点击这里进入查看

除了加库名字还要加库路径,具体方法可以在这篇文章中找到,进入文章后ctrl+f 搜索 库文件加入后还需加入库文件的路径 即可快速定位到指定位置

楼主具体想要实现什么功能或者解决什么问题呢?感觉问题的描述和调度器上锁没有什么关系

不知开关全局中断是否是楼主想要的功能?


level = rt_hw_interrupt_disable();
rt_hw_interrupt_enable(level);

目前测试看来只要是自己手动添加的头文件路径、库文件路径等这些参数在RT-Thread Studio重新构建以后被删除,只能重新添加。

发布
问题

分享
好友