发布于1年前
发布于4年前
。。。。。
追踪一步步看源码菜才明白,在poll里吧当前的polling_thread给suspend了,所以finsh是不能用的。那么问题来了,这个时候要用finsh咋办,还得再看看代码:)
发布于4年前
现在测试发现一个问题,就是在启动tcpip链接后,tshell线程就无法在进去了,推出tcpip线程后就可以再进tshell线程。tshell线程状态也是运行态,这个问题目前还没找出来,还是再tcpip链接后shell不能输入?
发布于5年前
基本调通了,还是vscode不熟,完后网络配置这块有常见问题说的现象,网卡共享重新开启下就ok了。
发布于5年前
[i=s] 本帖最后由 hgxj_rt 于 2019-12-27 18:37 编辑 [/i]
组件里在POSIX层与C标准库下 使能 Enable libc APIs from toolchain,编译还是报错
发布于5年前
都试过了:’(,换了台电脑,直接运行,天气预报的demo直接就可以跑,显示上海的天气预报,试了下lcd例子,直接在板子上就可以运行。之前用的那台电脑估计是有啥问题,vscode,python都重装了,win7 64位的系统,怎么弄lcd都不显示。目前感觉解决不了这个问题。:L[attach]12649[/attach]
发布于5年前
根据楼主的情况,其实只用 128k 的那块 ram 也并不会出错,只需要在 board.h 里面规定好所使用的那块 ram …
现在还有个问题,看我说清楚了没,
链接脚本如下:
我的理解就是链接脚本这么写后,就指定了系统的运行内存从0x10000000开始,那么这个在实际编译后是怎么实现的,没太明白。
发布于5年前
根据楼主的情况,其实只用 128k 的那块 ram 也并不会出错,只需要在 board.h 里面规定好所使用的那块 ram …
是的,我又重新看了下BSP制作教程 3.2.3 堆内存配置讲解说明了堆分配空间的问题。详细看了BSP中pandora例程,基本明白了,0x10000000 开始的 32k 内存用作系统的运行内存,所以堆分配可以直接用以下代码,
我直接复制这个代码到L451工程下,链接脚本没有改为
所以程序直接就跑飞了。
如果只用 128k ram,那么用
是完全可以的
发布于5年前
[i=s] 本帖最后由 hgxj_rt 于 2019-9-11 23:27 编辑 [/i]
问题找到了:lol
这个是bsp\stm32中board.h对HEAP_BEGIN的定义。
这个是RT-Thread IoT例程对HEAP_BEGIN的定义。
实际仿真RT-Thread IoT例程中HEAP_BEGIN地址为0x20000FF0,rt_system_heap_init((void )HEAP_BEGIN, (void )HEAP_END);执行后。
在分配内存就OK了。
发布于5年前
目前问题暂时解决了,采用了bsp\stm32\stm32l475-atk-pandora\board\linker_scripts里的三个文件覆盖了从templates里考出的文件,然后按手册更改了配置文件,更改了board.h文件。实际再下载程序,可以正常运行了,但是查看了linker_scripts里的文件,理解的还是不太一样,link.sct 定义的是ram2,RW_IRAM2 0x10000000 0x00008000 { ; RW data.ANY (+RW +ZI)。按我的理解,可以改为RAM1 RW_IRAM1 0x20000000 0x00020000。修改后rt_application_init();继续跑飞。
按照BSP教程的说明,这个地方显得比较模糊,新手还是不好容易理解如何修改配置文件。
发布于5年前
除了根据教程中的进行设置之外,是否自己在工程中设置了什么东西
还在找问题,可能是设置了什么。和L475的例程做了对比,L475的例程直接下到板子可以正常运行,自己做的L451的串口显示version后就飞了,还是在初始任务创建后就挂了。我看重新再来一次。
发布于5年前
你的RAM可能是分多段的,可能有一部分是CCM DATA RAM,被你做BSP的时候囊括到整个RAM大小当中去了。做BSP的 …
看数据手册160K的ram分了两个区,一个128k,一个32k。配置的时候只配置了128k的ram区,编译后在分配内存的时候还是报错了。
发布于5年前
mark
发布于5年前
你要点击开始录制,才会启动程序啊 哇哇哇~
点击录制也没有启动,还在找原因
发布于5年前
是添加在 SystemView 工具安装目录下的 Description 目录下了吗
是的 我把bsp下的文件复制到安装文件夹下 了
问 柿饼M3 RTC 模块如何添加