[公告] 0.4.x中一个比较大的更改

发布于 2010-07-15 07:41:04
因为这个更改涉及的内容有些宽,所以发一个公告。现在还不能确定是否会应用这个补丁到0.3.1版本中(STM32 radio会考虑在这个分支支持超过4G的SDHC卡?)。

更改内容:支持超过4G大小的文件系统,块设备驱动读写接口,偏移和缓冲大小单位更改为块设备中一个块大小的单位。
更改原因:原来的块设备操作方式是以字节为单位的,在32位无符号变量上,当超过4G大小时,这个变量将溢出。

涉及代码:所有块设备驱动。

具体更改:(假设块设备的大小是512字节)
static rt_size_t rt_msd_read(rt_device_t dev, rt_off_t pos, void* buffer, rt_size_t size)
static rt_size_t rt_msd_write (rt_device_t dev, rt_off_t pos, const void* buffer, rt_size_t size)
更改前:pos以字节为单位;size以字节为单位;
更改后:pos以512字节为单位;size以512字节为单位;

在0.4.x各个移植中,块设备相应的驱动都需要进行修改。请涉及到的各个分支维护人自行修改完成(stm3210分支已经修改)。

查看更多

关注者
0
被浏览
2.5k
1 个回答

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览