找回密码
 立即注册
楼主: _NCY_

FAT12_Loader:动态加载APP,干掉一切上位机软件!!!

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:381
  • 最近打卡:2025-05-01 07:33:48
已绑定手机

12

主题

43

回帖

698

积分

高级会员

积分
698
发表于 2024-5-17 14:05:30 | 显示全部楼层
_NC*** 发表于 2024-4-20 21:05
可以直接拖拽加载海量AP,同时也不影响正常当优盘用
HEX文件也可直接加载,在Bootloader里带有HEX解码程序 ...

请教一下这个“USB_MSC.BIN”是怎么下载到w25q里面的?在没有msc程序的时候,是需要串口把需要app通过这个bootloader写入到w25q里面吗?然后再像视频中的那样调用?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-5-17 20:31:31 来自手机 | 显示全部楼层
一束光的旅程 发表于 2024-5-17 14:05
请教一下这个“USB_MSC.BIN”是怎么下载到w25q里面的?在没有msc程序的时候,是需要串口把需要app通过这 ...

只需要把原始的 (没有经过上边说过的三项配置,直接由KEIL编译出来的HEX)USB_MSC.HEX程序烧入单片机,然后插上电脑格式化,并把USBMSC.bin拖进优盘就ok了,最后再把FAT12_loader写进单片机就ok了

以操作优盘时候留意别给USBMSC.bin删了,不然还要重复上述步骤。。。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-5-18 18:42:33 来自手机 | 显示全部楼层
加了一个简单的物理模拟器APP,可以模拟单摆及其衍生物(阻尼摆,弹簧摆)。

正在开发别的好玩实用的功能


##FAT12:加入了簇链缓冲(跟znfat学的)极大降低了RAM用量,并支持了多文件机制。正在支持文件写入和删除。
##IO:完成了了数学IO部分(键盘-屏幕),可以像c++那样,一行代码从键盘输入,屏幕输出;同时可以注册注销输入编辑框框
##Graphic:完成了OLED基础2D库,能绘制基本图形。
##外设:正在研究PWM,想搞点事情。预计引
            出一路总线,用来两部机子APP对拷。正
            在考虑要不要换个脚多的封装搞点别的东
            西加上去


API和硬件在摸索中前进,期待后边更加好玩的程序

VID_20240518_182407.mp4

49.99 MB, 下载次数: 63

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-7-5 17:09:42 来自手机 | 显示全部楼层
FAT12写入基本搞好了!
正在测试可靠性和速度。
写入策略目前是   文件外写有簇就用,实时更新。(傻瓜式的,先试试看)
优点:风险最小化,意外断电文件系统崩溃概率较小;难度最小化,不用管不连续空间的大小排序,省RAM
缺点:慢,效率低,频繁写入会产生巨量碎片

接着可以搞录音机了


回复 支持 反对

使用道具 举报 送花

0

主题

2

回帖

16

积分

新手上路

积分
16
发表于 2024-8-9 20:44:40 | 显示全部楼层
请问一下,可以说明一下"FatBufferSize" 设计300的用意吗?
另外 BID  与tmp 的取得. 这段看不是很明白, 谢谢你
FatBufferSize 300.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-8-10 07:57:47 来自手机 | 显示全部楼层
borland 发表于 2024-8-9 20:44
请问一下,可以说明一下"FatBufferSize" 设计300的用意吗?
另外 BID  与tmp 的取得. 这段看不是很明白, 谢谢 ...

300这个取值是表项缓冲区的的大小。
取300(其实任何3的倍数,包括3,也能让他正常工作,而且不怎么影响速度)是为了让缓冲区里有整数个12bit的fat表项

BID是缓冲区的编号,从0号开始
比如想求200号(从0号开始)表项在那个缓冲区里,带入的第一项第一个式子算一下,发现正好是在1号缓冲区
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-8-10 08:12:06 来自手机 | 显示全部楼层
本帖最后由 _NCY_ 于 2024-8-10 08:16 编辑
borland 发表于 2024-8-9 20:44
请问一下,可以说明一下"FatBufferSize" 设计300的用意吗?
另外 BID  与tmp 的取得. 这段看不是很明白, 谢谢 ...


然后每两个fat表项打包成3个字节的组。
tmp是用来计算在缓冲区内的组号(从零开始)
计算完之后根据奇偶性flg判断具体是一个组内的前一个表项还是后一个表项交给转换函数处理
还带入200到第二个式子,发现要求的正好是1号缓冲区的0组,而且是flg是0
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-01 20:16:58
已绑定手机

229

主题

328

回帖

1471

积分

金牌会员

积分
1471
发表于 2024-8-10 11:24:40 | 显示全部楼层
这是把flash中的程序先写到ROM中,在跳转到APP那执行吗?
还有你的程序有HEX转BIN功能的,我在你的程序中怎么没找到转换代码呢?
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看II
  • 打卡总天数:21
  • 最近打卡:2025-04-04 22:11:37
已绑定手机

36

主题

287

回帖

824

积分

高级会员

积分
824
发表于 2024-8-10 12:29:14 来自手机 | 显示全部楼层
本帖最后由 _NCY_ 于 2024-8-10 12:31 编辑
QQ624353765 发表于 2024-8-10 11:24
这是把flash中的程序先写到ROM中,在跳转到APP那执行吗?
还有你的程序有HEX转BIN功能的,我在你的程序中怎 ...


是的,IAP
HEX2BIN的代码就在main.c里啊,第150到180行
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:434
  • 最近打卡:2025-05-01 20:16:58
已绑定手机

229

主题

328

回帖

1471

积分

金牌会员

积分
1471
发表于 2024-8-10 12:58:03 | 显示全部楼层
_NC*** 发表于 2024-8-10 12:29
是的,IAP
HEX2BIN的代码就在main.c里啊,第150到180行

HEX2BIN资料有吗
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 04:11 , Processed in 0.148581 second(s), 112 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表