打造windows下的嵌入式开发工具(8):让codeblocks调用bfin交叉编译
来源:互联网 发布:手机淘宝贷款怎么贷 编辑:程序博客网 时间:2024/04/29 22:01
快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
ADI Blackfin系列DSP
gcc-
binutils-2.18
codeblocks-8.02
Skyeye-
bfin-uclinux-2008r1-rc8
Cygwin gcc
Visual studio 2005
Visual DSP++ 5.0
欢迎转载,但请保留作者信息
Codeblocks支持许多不同的编译器,这种支持是由compilerGCC这个plugin来完成的。我们所需要做的就是在这个plugin中添加对bfin-uclinux-gcc的支持。在此之前,首先将已经生成的交叉编译程序都放在codeblocks/arch/bfin/compiler/uclinux/bin目录下。
在compilergcc这个plugin中,整个框架由CompilerGCC这个类来完成,然后为每个不同的编译器定义了不同的类,我们找一个最相近的类进行修改,比如CompilerGNUARM这个类,直接把它复制为CompilerBfinUclinux:
class CompilerBfinUclinux : public Compiler
{
public:
CompilerBfinUclinux();
virtual ~CompilerBfinUclinux();
virtual void Reset();
virtual void LoadDefaultRegExArray();
virtual AutoDetectResult AutoDetectInstallationDir();
protected:
virtual Compiler* CreateCopy();
private:
};
够简单了吧!
接下来在构造函数里面要指定这个编译器的名称:
CompilerBfinUclinux::CompilerBfinUclinux()
: Compiler(_("GNU BFIN UCLINUX GCC Compiler"),_T("bfin-uclinux-gcc"))
{
Reset();
}
接下来指定编译程序的名称:
void CompilerBfinUclinux::Reset()
{
if (platform::windows)
{
m_Programs.C = _T("xgcc.exe");
m_Programs.CPP = _T("xgcc.exe");
m_Programs.LD = _T("ld.exe");
m_Programs.DBG = _T("gdb.exe");
m_Programs.LIB = _T("ar.exe");
m_Programs.WINDRES = _T("");
m_Programs.MAKE = _T("make.exe");
}
………………………………………..
} // end of Reset
下一步指定编译器所在的路径:
AutoDetectResult CompilerBfinUclinux::AutoDetectInstallationDir()
{
wxString sep = wxFileName::GetPathSeparator();
if (platform::windows)
{
m_MasterPath = wxGetCWD() + "/arch/bfin/compiler/uclinux/";
}
else
m_MasterPath = _T("/usr");
AutoDetectResult ret = wxFileExists(m_MasterPath + “bin/” m_Programs.C) ? adrDetected : adrGuessed;
return ret;
} // end of AutoDetectInstallationDir
最后在CompilerGCC里面注册这个编译器:
void CompilerGCC::OnAttach()
{
…………………………………..
CompilerFactory::RegisterCompiler(new CompilerBfinUclinux);
……………………………………
}
经过这样处理后,就可以在codeblocks的IDE中对单个文件进行编译了,当然,仅仅是对单个文件进行编译,至于链接还得进一步处理。
参考资料
host-i686-pc-cygwin/libiberty/Makefile解析(
host-i686-pc-cygwin/fixincludes/Makefile分析(
host-i686-pc-cygwin/zlib/Makefile分析(
host-i686-pc-cygwin/libcpp/Makefile分析(
host-i686-pc-cygwin/libdecnumber/Makefile分析(
bfin-xxx-gcc中cc1.exe的生成(
bfin-xxx-gcc中cc1plus.exe的生成(
bfin-xxx-gcc中fortran目标的生成(
bfin-xxx-gcc中java目标的生成(
bfin-xxx-gcc中objc目标的生成(
bfin-xxx-gcc中collect2目标的生成(
打造windows下的嵌入式开发工具(1):目标(
打造windows下的嵌入式开发工具(2):binutils-2.18(
打造windows下的嵌入式开发工具(3):gmp-4.2.3(
打造windows下的嵌入式开发工具(4):mpfr-2.3.1(
打造windows下的嵌入式开发工具(5):gcc-4.3.1(
打造windows下的嵌入式开发工具(6):wxWidgets-2.8.8(
打造windows下的嵌入式开发工具(7):codeblocks-8.02(
- 打造windows下的嵌入式开发工具(8):让codeblocks调用bfin交叉编译
- 打造windows下的嵌入式开发工具(7):codeblocks-8.02
- 打造windows下的嵌入式开发工具(1):目标
- 打造windows下的嵌入式开发工具(2):binutils-2.18
- 打造windows下的嵌入式开发工具(6):wxWidgets-2.8.8
- Linux下CodeBlocks的交叉编译
- 打造windows下的嵌入式开发工具(3):gmp-4.2.3
- 打造windows下的嵌入式开发工具(4):mpfr-2.3.1
- 打造windows下的嵌入式开发工具(5):gcc-4.3.1
- 嵌入式Linux下常用的交叉编译制作工具
- 嵌入式交叉编译工具的安装
- 嵌入式交叉编译工具ELDK的安装
- 嵌入式开发环境搭建之安装交叉编译工具链
- 嵌入式LINUX ---ARM交叉编译工具链的编译
- Windows下Linux开发环境设置(二)--安装Cygwin及交叉编译工具链
- Windows下Linux开发环境设置--安装Cygwin及交叉编译工具链
- (转)Windows下Linux开发环境设置(二)--安装Cygwin及交叉编译工具链
- 嵌入式开发和交叉编译
- 生活就像是一棵如意树
- C++指针探讨 (一)数据指针
- C++指针探讨 (二) 函数指针
- C++指针探讨 (三) 成员函数指针
- 嵌入式系统概述
- 打造windows下的嵌入式开发工具(8):让codeblocks调用bfin交叉编译
- 中国奥运在线流量的数据所做的总结性结案报告
- Queue-c数组
- C#编程点滴之基础编程1:第1个程序Hello World
- Google云计算的战略部署是Chrome
- 若水给的建议
- Life is short 人生苦短
- 一个吃过禁果的女人的故事
- 一个小镇的姑娘到了大城市,你一定听过这故事