/// <summary>初始化</summary> /// <param name="addlib"></param> /// <returns></returns> public override Boolean Init(Boolean addlib) { var basePath = ToolPath.CombinePath("arm\\bin").GetFullPath(); Complier = basePath.CombinePath("iccarm.exe").GetFullPath(); Asm = basePath.CombinePath("iasmarm.exe"); Link = basePath.CombinePath("ilinkarm.exe"); Ar = basePath.CombinePath("iarchive.exe"); ObjCopy = basePath.CombinePath("ielftool.exe"); IncPath = basePath.CombinePath(@"arm\include").GetFullPath(); LibPath = basePath.CombinePath(@"arm\lib").GetFullPath(); return(base.Init(addlib)); }
/// <summary>初始化</summary> /// <param name="addlib"></param> /// <returns></returns> public override Boolean Init(Boolean addlib) { if (ToolPath != location.ToolPath) { Version = location.GetVer(ToolPath); } var basePath = ToolPath.CombinePath("bin").GetFullPath(); Complier = basePath.CombinePath("arm-none-eabi-gcc.exe").GetFullPath(); //Asm = basePath.CombinePath(@"..\arm-none-eabi\bin\as.exe"); Asm = basePath.CombinePath("arm-none-eabi-as.exe"); //Link = basePath.CombinePath("arm-none-eabi-ld.exe"); Link = basePath.CombinePath("arm-none-eabi-gcc.exe"); Ar = basePath.CombinePath("arm-none-eabi-ar.exe"); ObjCopy = basePath.CombinePath("arm-none-eabi-objcopy.exe"); IncPath = basePath.CombinePath(@"..\arm-none-eabi\include").GetFullPath(); LibPath = basePath.CombinePath(@"..\arm-none-eabi\lib").GetFullPath(); return(base.Init(addlib)); }
/// <summary>初始化</summary> /// <param name="addlib"></param> /// <returns></returns> public override Boolean Init(Boolean addlib) { var basePath = ToolPath; if (CLang) { if (!location.Version2.IsNullOrEmpty()) { Version = location.Version2; } basePath = ToolPath.CombinePath("ARMCLANG\\bin").GetFullPath(); if (!Directory.Exists(basePath)) { basePath = ToolPath.CombinePath("ARMCC\\bin").GetFullPath(); } } else { // CLang编译器用来检查语法非常棒,但是对代码要求很高,我们有很多代码需要改进,暂时不用 basePath = ToolPath.CombinePath("ARMCC\\bin").GetFullPath(); } Complier = basePath.CombinePath("armcc.exe"); if (!File.Exists(Complier)) { Complier = basePath.CombinePath("armclang.exe"); } Asm = basePath.CombinePath("armasm.exe"); Link = basePath.CombinePath("armlink.exe"); Ar = basePath.CombinePath("armar.exe"); ObjCopy = basePath.CombinePath("fromelf.exe"); IncPath = basePath.CombinePath("..\\include").GetFullPath(); LibPath = basePath.CombinePath("..\\lib").GetFullPath(); return(base.Init(addlib)); }