在之前的学习中,初步掌握了对文件系统的使用和配置,并将AP6126作为WiFi网卡上网。SD卡和flash作为文件的存储载体,若想向其中置入文件,SD卡通常采用读卡器的方式向其中置入文件,而flash需要通过更为复杂些烧写算法才能向flash里置入文件。rtthread提供了FTP服务器功能的软件包,可以在嵌入式平台上开启一个FTP服务器,电脑端通过网络和FTP工具向板子上已经挂载到文件系统的SD卡和flash上烧写文件。
同时本文还将记录RT-Thread Git工具的使用
在实验过程中也借鉴了不少大佬博客里的操作,在这里感谢他们的分享
Art_Pi学习笔记3:学习驱动wifi模块AP6212
【STM32H750】玩转ART-Pi(六)——添加FTP服务器
本文演示代码:https://download.csdn.net/download/weixin_42487906/21110783?spm=1001.2014.3001.5503
创建基于开发板的项目,BSP版本为1.2.1,基于art-pi-wifi示例创建项目,这样就不用手动配置wifi模块了,并且示例项目带自动重连功能
编译进开发板后串口持续显示没有找到wifi,并且阻碍finsh的输入,下面分析原因
这块开发板我再其他地方使用过,链接的是当时那个地方的wifi,wifi帐号和密码已经被记录在flash里面,为了重新链接我现在位置的wifi,我使用另外一个串口输入输出不冲突的串口终端链接新的wifi如下图
新的wifi链接成功
使能sdcard和flash文件系统
软件包中多出了littlefs这个文件系统,他是用来挂载板子上16MB的NOR Flash的其中一个分区的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V6XJ7qxn-1629124217841)(https://raw.githubusercontent.com/FranHawk/blogpic/main/image-20210815111054164.png)]
16MB的NOR FLASH分区如下图,其中easyflash也管理着其中的一个分区,可以用来保存wifi密码等一些参数
而fliesystem分区就是被littlefs文件系统管理,最后将这个分区挂载到\flash这个文件夹中
编译并烧写程序
mount to ‘/flash’ success,现在是没插sd卡,虽然ls发现根文件系统中有两个目录,但是只有flash实现了挂载,没有插sd卡所以sdcard是不能用的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RyUw90yZ-1629124217843)(https://raw.githubusercontent.com/FranHawk/blogpic/main/image-20210815112146462.png)]
若sd卡插上了串口终端会显示上面的信息
使能FTP Library
FTP库 github仓库
使用说明如下图
根据使用说明,在mian.c中添加如下代码
#include
#ifdef ART_PI_USING_FTP_LIB
int ftp_server()
{
ftp_init(2048,27,100);
return 0;
}
MSH_CMD_EXPORT(ftp_server,start ftp server)
#endif
编译并烧写进板子
命令行输入ftp_server启动FTP服务器,看到板子连上wifi,ip地址为192.168.1.103
电脑和开发板连接同一个wifi
打开xftp或者类似的ftp工具,输入开发板的ip地址,输入用户名,密码,默认都是loogg
记得不要勾选 使用被动模式,点击连接,就可以访问开发板上的文件系统了,可以相互传输文件
参考博客
git工具可以便捷地向管理软件版本,这里记录git工具的使用过程
在工程右键打开小组,选择共享项目
创建代码仓库
然后点击完成,这时候小组下就出现了git的相关操作
点击提交
输入落实消息,点击commit提交到本地仓库,若配置了远程仓库如github,可以点击commit and push 提交到远端仓库
在Show in history中可以看到提交记录
在github上创建一个代码仓库,clone这个仓库的git地址
在rtt studio的git 存储库右键远程仓库,点击create remote
将github仓库地址复制进去,要注意最近github不再允许采用邮箱和密码的方式访问,要申请一个token或ssl密钥,这个要各位再去查下该怎么操作
设置完成后点击保存,完成与远程仓库的连接
可以看到已经创建成功
在小组中点击push,代码上传到github上
点击Preview
点击推送
完成后进入github可以看到已经上传成功