发 帖  
原厂入驻New
怎么重新编译SYS-BIOS?
549 BIOS FatFs
分享
由于最近开发项目的需求,要求fatfs支持中文长文件名,而原始安装的SYS/BIOS库文件的FATFS是支持日文的。所以必须对SYS/BIOS中的FATFS源码进行修改,然后重编译已获得该特性。



注:以下步骤参考Bios_User_Guide.pdf文件Rebuilding SYS/BIOS章节。根据以下步骤重编译后,不会覆盖原有的SYS/BIOS和库。


0
2019-9-17 04:42:05   评论 分享淘帖 邀请回答
16个回答


Step1.安装SYS/BIOS和XDCtools组件
我的SYS/BIOS安装路径为C:\ti\bios_6_37_03_30
XDCtools安装路径为C:\ti\xdctools_3_25_03_72
注意:XDCtools版本必须兼容SYS/BIOS。查看兼容版本,见C:\ti\bios_6_37_03_30的Release Notes “ Dependencies(相关性)”章节。

对bios_6_37_03_30,XDCtools版本必须是3.24.06.63或更新的版本。





2019-9-17 05:00:59 评论

举报

Step2.安装类Unix shell软件Cygwin
Cygwin是一个在windows平台上运行的类UNIX模拟环境,是cygnus solutions公司开发的自由软件。Cygwin是个不到100M的软件,到网上下载即可。
安装后桌面图标为如下图:



2019-9-17 05:09:58 评论

举报

Step3.拷贝一份SYS/BIOS用于重编译
拷贝后,将文件夹重命名为copybios_6_37_03_30。
其路径即为C:\ti\copybios_6_37_03_30。
如果需要节省空间,可将C:\ti\copybios_6_37_03_30中的docs文件夹删除,里面装的是SYS/BIOS的说明文件。



2019-9-17 05:24:10 评论

举报

Step4.添加gmake工具路径到Windows环境变量
XDCtools提供了gmake工具,路径为C:\ti\xdctools_3_25_03_72





2019-9-17 05:34:08 评论

举报



Step5.修改Makefile文件
用文本编辑器或软件开发IDE打开C:\ti\copybios_6_37_03_30目录下的bios.mak文件。
将XDC_INSTALL_DIR定义的值改为XDCtools的安装路径
改为XDC_INSTALL_DIR ?= C:/ti/xdctools_3_25_03_72
注意“/”的方向,如果此处写成“\”,Cygwin可能无法识别该路径。

添加目标的对应的编译器(compiler)路径

因为我的目标是ti.targets.elf.C674,因此值要填写该行的编译器路径。




2019-9-17 05:59:10 评论

举报

要查看自己的工程目标类型,可在CCS工程的属性框的General->RTSC选项卡查看,如下图

如果要求最终创建的SYS/BIOS库支持其他目标,则在对应的行填写响应的编译器路径。

如要支持C2000系列DSP,则将路径C:\ti\ccsv5\tools\compiler\c2000_6.2.0添加到以下两行代码后面:

ti.targets.C28_large ?=

ti.targets.C28_float ?=



2019-9-17 06:04:31 评论

举报

Step6.修改FATFS源代码
修改C:\ti\copybios_6_37_03_30\packages\ti\sysbios\fatfs中ffconf.h对FATFS的配置。
a.将#define _CODE_PAGE      932  改为  #define _CODE_PAGE      936
b.将#define _USE_STRFUNC    0     改为  #define _USE_STRFUNC    2
c.将#define _USE_LFN        0           改为  #define _USE_LFN        3

2019-9-17 06:23:36 评论

举报



Step7.重编译SYS/BIOS
双击Cygwin桌面图标,运行Cygwin。
输入cd c:/ti/copybios_6_37_03_30回车。
输入gmake -f bios.mak clean回车,清除c:/ti/copybios_6_37_03_30原来的SYS/BIOS库。
输入gmake -f bios.mak回车,重新编译SYS/BIOS。

大概5-6分钟编译完成。


可输入exit回车退出Cygwin,或者点右上角的X。




2019-9-17 06:31:32 评论

举报

.pcb{margin-right:0}Step8.使用重编译的SYS/BIOS库
在自己的SYS/BIOS工程中,点右键,打开弹出的“Properties”菜单。在CCS General属性对话框中,选择RTSC选项卡。在Products and Repositories选项卡中,取消所有SYS/BIOS(包括DSP/BIOS)选择框。这就确保没有任何版本被选中。但要保持SYS/BIOS选项被选中,如下图:

r
2019-9-17 06:38:33 评论

举报

点Products and Repositories选项卡中的Add按钮。
选择Select repository from file-system,然后点Browse浏览重建的SYS/BIOS的“packages”目录。我的是C:\ti\copybios_6_37_03_30\packages。

点OK确认退出,重新编译工程。这样就可以使用自己重编译的SYS/BIOS库了。
在该工程的代码#include <ti/sysbios/xxx.h>上按Ctrl+左键,即可打开

C:\ti\copybios_6_37_03_30\packages\ti\sysbios\xxx.h文件。




r
2019-9-17 06:57:10 评论

举报



以上方法重编译的库,本人已亲自验证,可正常使用。
但要注意的是,支持中文长文件名需要cc936.c源文件的支持。
如有任何错误,请参考Bios_User_Guide.pdf文件Rebuilding SYS/BIOS章节作为指导。


r

嗯长文件名是微软的一个专利 所以默认 SYS/BIOS 不支持长文件名多谢分享 你发了三篇比较有价值的分享 所以我建议公司给你发点奖励 不知道有没有同事联系你? 
2019-9-17 07:17:05 评论

举报

nvywerww 发表于 2019-9-17 09:09
嗯长文件名是微软的一个专利 所以默认 SYS/BIOS 不支持长文件名多谢分享 你发了三篇比较有价值的分享 所以我建议公司给你发点奖励 不知道有没有同事联系你? 



长文件名是微软的一个专利 所以默认 SYS/BIOS 不支持长文件名

多谢分享 你发了三篇比较有价值的分享 所以我建议公司给你发点奖励 不知道有没有同事联系你?r
2019-9-17 07:31:45 评论

举报

好贴 要顶 希望多交流r
2019-9-17 08:07:34 评论

举报

2019-9-17 08:25:38 评论

举报

感谢分享,我自己只是想做一个英文和数字的长文件名,终于搞定了。英文手册看得头疼。
我遇到一些别的问题,#define _CODE_PAGE      932 改为437,在没有添加cc936.c的时候还是会报错,这个文件比较大一些,我只把ff_convert 和ff_wtoupper保留了,并且把函数的内容都注释,就不报错了。r
2019-9-17 08:37:27 评论

举报

只有小组成员才能发言,加入小组>>

52个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

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