Questions tagged «compiler»

编译器将以源语言编写的代码转换为(二进制)目标语言。

13
ARM Cortex-M3开发工具?
我正计划迁移到NXP Cortex M3架构,而在现有的开发工具之间有些迷失。 Keil很贵,我不知道是否值得。任何尝试过一些编译器的人都可以提供任何建议吗? 我发现此编译器http://www.code-red-tech.com/red-suite-2.php看起来不错,而且并不昂贵。任何尝试过或知道的人都可以给我更多信息?
36 compiler  arm 

5
Code Sourcery G ++ Lite仍然是可行的项目吗?
当我尝试下载适用于ARM的Code Sourcery G ++ Lite的较新版本时,我注意到我被重定向到另一家公司,并且在该网站上真的找不到有关ARM Sourcery G ++ Lite的任何信息。 有人知道Sourcery G ++ Lite for ARM项目的状态吗?它还活着吗,人们还在使用它吗?将来会上市吗? 更新:他们似乎已将项目重命名为Sourcery CodeBench Lite,所以也许这个问题不重要? 更新:Mentor Graphics正在关闭该项目,它不再是可行的选择。 注意:当前获得ARM gcc的可行地方似乎来自Linaro https://www.linaro.org/about/ https://www.linaro.org/downloads/ https://launchpad.net/gcc-arm-embedded
18 arm  compiler  gcc 

12
您可以在没有计算机的情况下对微控制器进行编程吗?
假设您有一个相当简单和小型的微控制器,没有接口,没有计算机,没有调试器,编译器或汇编器。您能否以汇编形式编写代码,将其(手动)转换为机器代码,然后使用电压源向适当的引脚供电? 我知道您需要适当的I / O和内存才能真正执行任何操作,但是如果您如此倾向于并有时间,可以执行此操作吗?从历史上看,我猜想当没有计算机/编译器/汇编器开始时是如何做到的?随时将我链接到外部资源。谢谢!:)

4
BJT晶体管如何在饱和状态下工作?
这是我对NPN BJT(双极结型晶体管)的了解: 基极-发射极电流在集电极-发射极处被放大了HFE倍,因此 Ice = Ibe * HFE Vbe是基极-发射极之间的电压,并且与任何二极管一样,通常约为0.65V。不过,我不记得了Vec。 如果Vbe低于最小阈值,则晶体管断开,并且没有电流通过其任何触点。(好的,也许有几微安的泄漏电流,但这无关紧要) 但是我仍然有一些问题: 晶体管饱和时如何工作? 除了Vbe低于阈值以外,是否可以在某些条件下使晶体管处于打开状态? 此外,请随时指出(在答案中)我在这个问题上犯的任何错误。 相关问题: 我不在乎晶体管如何工作,如何使它工作?

2
编译代码以从外部RAM运行
我正在考虑基于PIC18F85J5的简约游戏系统的设计。我设计的一部分是可以从SD卡加载游戏,而无需重新编程芯片或刷新程序存储器。我之所以选择该芯片,是因为它具有外部存储器接口,使我可以从外部SRAM运行代码。 基本思想是内部程序存储器将包含用于浏览sd卡的接口,并且一旦用户选择了程序,它将从sd卡复制一个十六进制文件到外部ram,然后将执行跳转到外部ram空间。 内部程序存储器还将具有用于图形,控制器输入和其他各种实用程序的各种库。 我非常有信心,我知道如何使内部固件正常工作。问题是创建要从外部RAM运行的程序。它感觉与以常规图片为目标并不相同,它需要了解内部存储器中可用的库函数,而不是重新编译它们,而仅链接到它们。它还需要在内部闪存的32k之后开始使用地址,而不是从零开始。是否有使用这些类型的约束来编译程序的好方法? 我正在使用MPLab IDE,但对它或如何进行这种自定义并不十分熟悉。
13 pic  compiler  mplab 

2
如何使用带有Keil uVision4(MDK-ARM)的构建服务器,编写构建脚本,使用Makefile?
我想运行每日构建,或签入/提交基于Keil MDK-ARM的项目的触发构建。到目前为止,我已经使用了IDE的批处理文件功能。但这也需要你来构建项目至少一次使用IDE,然后检查,在批处理文件和关联.__i,并._ia通过在IDE中创建的文件。 此外,IDE将许多特定于用户的内容放入批处理文件中,例如Windows PATH变量。这对于多个开发人员可能会成为问题,因为用于构建的批处理文件可以在来自不同开发人员的每次提交时更改。 最终,只需要跟踪armcc,armasm和ArmLink的各种开关即可。 有没有办法使用更标准的makefile来构建Keil uVision项目?有没有一种方法可以将uVision项目文件转换为更易于维护的构建脚本?
13 arm  compiler  keil 


1
PIC18F4550 C编译器是开放源代码和跨平台的吗?
我是AVR的长期用户。我非常喜欢AVR-GCC可在我使用的两个主要操作系统(Mac OS X和Linux)上运行,是开源的,并受Atmel支持。我想回到PIC编程中(在90年代使用它们),因为那里有一些相当不错的PIC,例如PIC18F4550级芯片。 不幸的是,大多数用于PIC18的编译器似乎都是Windows付费的。而且他们几乎总是有我不需要的IDE。我更喜欢命令行编译器和Makefile,因此我可以通过看一个文件来了解代码是如何构建的。(而不是走过对话框的曲折迷宫) 我在SDCC上闲逛,但似乎没有PIC18F4550支持,即使有,它在网上的抱怨也听起来像是它的PIC18支持很弱,或者充其量让用户感到困惑。 那么,哪里有PIC18F4550支持的好的跨平台命令行C编译器呢? 如果失败,PIC18F4550最好的C编译器是什么?如何将其与Makefile一起使用?
11 pic  c  compiler 

3
如何在Arduino C代码中发现内存溢出错误?
在将代码上传到Arduino之后,有几次我在串行监视器上有一些可疑的输出:例如,空白的永恒输出或突然截断字符串或​​混乱的字符串。 因为Arduino IDE中没有编译错误或警告,所以我认为Arduino已损坏,但是经过一些测试,我发现Arduino IDE编译器无法捕获所有类型的错误-尤其是在为数组结构循环分配变量时。这似乎在短时间内使Arduino崩溃。 如何发现Arduino IDE未显示的错误?

3
在没有Arduino IDE的情况下为Arduino编程..但提供了库?
我最近使用Arduino开始了一个新项目,该项目已经收集了一段时间的灰尘。除了收集灰尘的物理电路板之外,我的avr-gcc和Arduino库的副本也是如此。我可以管理更新avr-gcc,但是我不记得如何编译Arduino库。在Arduino源代码中,列出了源文件等,但没有用于实际构建库的makefile(我可以看到)。我不在乎构建IDE,我只想要二进制格式的库和所需的头文件。是否有任何相关文件或资料? 我不想使用Arduino IDE,我更喜欢使用自己的文本编辑器和makefile。

5
PIC 16F初学者..使用不同编译器时程序语法的差异
如前所述,我刚刚开始编写pic16f877a。我现在可以使用7段显示器。目前,我正在使用ccs编译器。没有错。但是我更喜欢成为一个独立于编译器的程序员。所以我同时想在其他编译器(如IAR或Hitechc)中工作。我想知道ccs以外的“编译器中的程序声明声明”是否会有所不同?请指导我如何处理这个问题。我欢迎所有形式的建议。提前致谢。
9 pic  compiler 

5
ATTiny13 — avr-gcc Hello World使用超过100个字节吗?
我正在尝试为ATTiny13编写程序。我的问题是它具有巨大的尺寸约束。好了,制作我的第一个Hello World程序时,只花了100个字节的程序空间就可以打开和关闭灯!我可以给avr-gcc提供任何选择来缩小此大小吗?另外,crt0中包含什么?我不太喜欢AVR组装,所以我不太了解。 我不想为这个项目而去组装。

8
在Linux机器上安装arm-elf-gcc的最佳方法
大家好,我正在使用arm-elf-gcc来为MakeingThings原型板编译代码的设备上工作。我的开发机器是运行Ubuntu 9.10的Linux机器。在3或4次尝试后,在使用Ubuntu的其他Linux机器上,通过手动构建和安装gcc,我得到了arm-elf-gcc运行正常。 我正在尝试选择安装工具链的最佳方法,但AFAIK似乎并不是最佳方法。在9.08和9.10上进行设置,似乎都失败了,除了手动构建和安装环境时。 我已经尝试了Emdebian软件包和CodeSourery,但两者都效果不佳。 在Linux机器上进行arm-elf-gcc设置时,还有其他人有其他好的建议吗?
9 linux  compiler  arm 

5
我需要将我的代码放入微控制器吗?
我学习了有关编码控制器的知识,但从未真正将代码放在物理设备上。我试图弄清楚开始开发基本的嵌入式系统所需的条件。 例如,如果我有PIC18F1330,则我有MPLAB IDE和XC8编译器。太好了,所以我已经编译了代码,现在可以将其放到控制器上了。将PC上已编译的代码传输到控制器上,我需要做什么? 我看过诸如在线调试器和PIC套件之类的东西。我现在迷路了。

1
在AVR中断期间,调用堆栈如何操作?
(特定于Arduino Uno ...) 当AVR微控制器上发生中断并调用函数时,堆栈会发生什么?编译器是否内联代码?它是否将堆栈缓存在某个地方,然后重置堆栈指针?它是否仅具有用于中断的辅助堆栈? 据我了解,中断的向量是汇编中的直接GOTO命令。另外,我不认为微控制器会自动弄乱堆栈,因此它可能一个人呆着。但是,这仍然不能解释功能在ISR期间如何工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.