Questions tagged «programming»

有关编程部件(FPGA,闪存等)的问题,应在堆栈溢出上询问许多软件编程问题。

16
C ++是否适合嵌入式系统?
一个普遍的问题,在这里和其他地方。C ++是否适合嵌入式系统? 微控制器?实时操作系统?烤面包机?嵌入式PC? OOP在微控制器上有用吗? C ++是否会将程序员从硬件中移走太远以至于效率不高? Arduino的C ++(没有动态内存管理,模板,异常)是否应被视为“真正的C ++”? (希望这个Wiki将成为包含这场潜在的圣战的地方)


3
FPGA编程,从哪里开始
我是一名软件开发人员(C,C ++,objective-c,java ...),并且对学习编程FPGA感兴趣。现在,这个问题对您来说似乎很简单,但是由于我现在有些困难,请花点时间帮助我解决这个问题。我的公司要求我熟悉该技术并从事晶格产品的研究。我的问题是从哪里开始?经过研究,我发现我可以在VHDL和Verilog之间进行选择,但我从未使用过它们。有专家可以建议我应该从哪里开始吗?学习语言,了解硬件组件,然后了解产品?还是直接从莱迪思产品开始(正如我读到的,FPGA供应商之间的编程方法有很大不同)?
29 fpga  programming 

8
为什么我们需要一个与我们的微控制器应用程序分开的引导程序?
为什么我们需要在微控制器的相同闪存程序存储器(特别是STM32F103,称为引导加载程序)中使用单独的程序? 将其与主应用程序分开有何特殊之处? 一般而言,基于微处理器的系统(例如PowerPC MPC8270)的引导程序是否与微控制器(例如ARM STM32F103)的引导程序完成相同的工作,或者它们在根本上是互不相同的工作,但两者都称为“引导程序” ?

2
什么有点撞
我是微控制器编程的新手。我正在使用ATmega32-A控制器和CodeVisionAVR编译器。我正在使用波形发生器(AD9833)通过SPI通信生成正弦波信号。我能够成功生成正弦波。现在,我将该信号传递给传感器。传感器输出通过多路复用器选择,并发送到ADC。现在,我想使用SPI通信读取ADC值。我已经尝试了很多设置ADC的寄存器。仍然无法正常工作。要查看SPI通信,请看我以前发布的使用spi通信的ADC寄存器设置。我正在使用USART(RS232)通信在PC(PuTTY)上打印值。 有人建议我使用位撞击。我是这个概念的新手。谁能给我提供SPI通信位冲击的示例代码。如何开始该程序?任何人都可以给我提供良好的物资。我需要任何外部硬件吗? 我已经写了这个,包括引脚连接: #define ADC_CS PORTB.3 #define MOSI PORTB.5 #define MISO PINB.6 #define SCK PORTB.7 void send_8bit_serial_data(unsigned char data) { int i; ADC_CS=0; for (i = 0; i < 8; i++) { // consider leftmost bit // set line high if bit is 1, low if bit is 0 if …

10
电子工程师的编程语言
我是一名电子与通信工程专业的学生,​​在上大学之前,我对编程和计算机应用程序很感兴趣。我曾经专注于设计Windows应用程序并学习其技术,但是现在,我觉得这对我的领域毫无用处……我不必学习有关计算机科学和开发软件的所有知识!(我对吗?) 我知道VB .Net,C#和C ++。我的假期有很多时间,所以我想以编程的方式深入研究“电子领域”。那么您会建议学习或专注于什么? 我想要在微控制器和其他集成电路编程中使用的那些语言。C ++是否足够,还是我也应该精通C?请告诉我您的想法。

5
单片机高级语言解释器/编译器的调查
我想生成一个用于微控制器的高级语言解释器和编译器的列表(例如,将LISP编译为C代码的东西)。 到目前为止,我已经做了一些研究,在此进行记录: 在微控制器上运行Python的项目列表:http : //web.media.mit.edu/~nvawter/projects/pyMicro/ PyMite:http ://wiki.python.org/moin/PyMite python-on-a-chip:http : //code.google.com/p/python-on-a-chip/ 腋窝计划:http: //armpit.sourceforge.net/ TinyScheme:http : //tinyscheme.sourceforge.net/home.html 最小的LISP解释器:http : //www.sonoma.edu/users/l/luvisi/sl5.c 嵌入式ML:http: //embeddedml.sourceforge.net/Site/Intro.html eLua:http://www.eluaproject.net/ 嵌入式JAVA:http: //en.wikipedia.org/wiki/Embedded_Java amforth:http://amforth.sourceforge.net/ TinyTCL:http://tinytcl.sourceforge.net/ Tiny BASIC:http: //www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm AVR外壳:http: //www.instructables.com/id/AVRSH-A-Command-Interpreter-Shell-for-ArduinoAVR/ Bitlash Shell(AVR):http://bitlash.net/wiki/start Transterpreter(AVR上的occam-pi):http : //www.transterpreter.org/ 礼仪(嵌入Ruby)(将于2011年发布):http: //www.slideshare.net/yukihiro_matz/rubyconf-2010-keynote-by-matz 适用于PIC的Jal(类似pascal),编译器:http : //www.casadeyork.com/jalv2/库:http : //code.google.com/p/jallib/ .NET Micro Framework(C#和VB.NET):http : //netmf.codeplex.com/ 这是一个社区Wiki –请随时添加到列表中。


3
Arduino编程支持哪些编程语言?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我想开始玩Arduino。 我读过C和C ++是官方语言,但我也发现了其他使用Python或Java进行通信的方式。 Arduino编程支持哪些编程语言? 使用Python或Java有什么限制吗?

7
是否可以通过代码绘制电路?
有没有更好的方法,而不是编写网表文件。就像是: Define Battery1 As a Battery Define Resistor1 As a Resistor Connect Battery1 First Terminal to Resistor1 Second Terminal Connect Resistor1 First Terminal to Battery1 Second Terminal 编辑: 我发现答案很有帮助。如果有一种方法可以模拟代码产生的电路,那就太好了。

11
为什么严格嵌入C / C ++
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我不喜欢这个问题,因为这个问题很难回答,但也许我可以改写:“是什么使嵌入式语言无法更改语言?” 例如,我们几乎看到了用于嵌入式的C / C ++(我想我也听说过ADA?如果我错了,请纠正我) 但是究竟是什么使嵌入式世界避免语言的变化呢?仅仅是C太容易使用还是因为C一切都很好,所以真的没有改变的“需求”吗? 这总是让我感到困惑,而不是我在抱怨。由于将其保留为几种语言,因此可以使事情标准化。但是问题仍然存在。 我意识到这是一个主观问题,但是我的主要问题是“为什么”而不是“ IF / WHEN”

5
LTSpice自动化
我有一个电池供电的升压转换器,除了几种电池类型(各种电压/内部电阻)。由于我正在模拟(相对)大量的运行时间,因此模拟文件变得相当可观,更不用说要花一些时间了。我想使LTSpice自动化,以便可以以编程方式更改组件值,并重新运行仿真并捕获数据(电压或电流之类的值)。我知道: WAV文件可用于从程序输入/输出数据 该程序可以从命令行运行 到目前为止,我最好的选择似乎是将两种选择与我自己的代码/脚本结合使用,以达到我的目标的方式,但是我只是想知道是否已经有更好的方法了。 有没有人使LTSpice自动化,或者是否知道有(为制造商还是由第三方)为其编写的任何自动化API? 理想情况下,我希望有一个求解器,以便为它提供所需的参数,并尝试各种组件值,直到找到满足约束条件的“最佳”解决方案为止。

10
电气工程师是否使用微控制器?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 5年前关闭。 我一直很喜欢编程,最近才对电子和微控制器编程产生兴趣。这很有趣,但是我想知道我是否在学习一些有用的东西,这些东西可以在我长大后找到工作。我想知道电气工程师是否使用微控制器。 我知道您需要为房屋的不同部分通电的工作可能不会,但是也许是这样的工作: 您的职责: 设计和开发新的除颤器产品。主要重点将放在模拟和数字设计领域的新产品设计和当前产品支持上。 使用各种仿真工具(例如PSPICE和MATLAB)对模拟电路进行建模。 建立原型并证明设计可行性,功能和性能。 记录设计的所有阶段,包括需求,规格,计划,评审,测试程序和测试报告。 支持现有产品。调查并确定在制造和现场发现产品问题的根本原因。对系统,PCB,电缆和固件进行故障排除。使用测试设备来分析和解决问题。 根据电气技术能力,经验,历史和认证来确定,评估和推荐主要供应商。 在项目开发过程中,促进并保持与关键供应商和内部利益相关者的持续沟通。 代表EE开发小组作为项目的技术团队负责人。这将包括提供技术解决方案以及项目计划和项目跟踪。 记录制造设计(即图纸,示意图,实验,变更,测试结果,数据,PCB布局等)。 与跨职能团队合作,包括:机械工程师,软件工程师,临床应用程序,学习产品,营销,支持工程,质量和法规以及供应链。团队经验丰富,但规模相对较小,成员担任许多开发角色。 这样做的人会使用微控制器或类似的东西吗?

5
使用现代CPU(例如ARM)进行周期计数
在许多应用中,其指令执行与预期的输入激励具有已知时序关系的CPU可以处理如果该关系未知则需要更快CPU的任务。例如,在我使用PSOC生成视频的项目中,我使用代码每16个CPU时钟输出一个字节的视频数据。由于测试SPI设备是否准备就绪,如果不进行分支转移,则IIRC将花费13个时钟,加载和存储输出数据将花费11个时钟,因此无法测试该设备在字节之间的准备情况;取而代之的是,我只是安排让处理器在第一个字节之后的每个字节上精确执行价值16个周期的代码(我相信我使用了实际索引加载,虚拟索引加载和存储)。每行的第一次SPI写操作发生在视频开始之前,对于随后的每次写操作,都有一个16周期的窗口,在该窗口中可以进行写操作而不会导致缓冲区溢出或欠载。分支循环生成了一个13周期的不确定性窗口,但是可预测的16周期执行意味着所有后续字节的不确定性都将适合相同的13周期窗口(又适合于当写入可接受时的16周期窗口内)发生)。 对于较旧的CPU,指令时序信息是清晰,可用且明确的。对于较新的ARM,时序信息似乎更加模糊。我了解从闪存执行代码时,缓存行为会使事情难以预测,因此我希望应该从RAM执行任何周期计数的代码。即使从RAM执行代码,规范也有些含糊。使用循环计数代码仍然是一个好主意吗?如果是这样,使它可靠工作的最佳技术是什么?可以安全地假设某个芯片供应商不会在某种程度上悄无声息地使用“新改进的”芯片,从而在某些情况下缩短了某些指令的执行周期的程度? 假设以下循环在一个字边界上开始,那么如何根据规范精确地确定将花费多长时间(假设具有零等待状态内存的Cortex-M3;对于该示例,与系统无关的其他内容)。 myloop: mov r0,r0; 简短的简单说明,可以预取更多说明 mov r0,r0; 简短的简单说明,可以预取更多说明 mov r0,r0; 简短的简单说明,可以预取更多说明 mov r0,r0; 简短的简单说明,可以预取更多说明 mov r0,r0; 简短的简单说明,可以预取更多说明 mov r0,r0; 简短的简单说明,可以预取更多说明 加r2,r1,#0x12000000; 2字指令 ; 重复以下操作,可能使用不同的操作数 ; 将继续增加价值直到发生进位 itcc addcc r2,r2,#0x12000000; 2字指令,加上itcc的额外“字” itcc addcc r2,r2,#0x12000000; 2字指令,加上itcc的额外“字” itcc addcc r2,r2,#0x12000000; 2字指令,加上itcc的额外“字” itcc addcc r2,r2,#0x12000000; 2字指令,加上itcc的额外“字” ; ... etc,带有更多条件的两个单词的指令 子R8,R8,#1 bpl myloop …

7
STM32&ST-LINK-成功编程后无法连接到MCU
我已经用STM32F7-45VGT6构建了自己的开发板。我已经使用ST-LINK v2(不是原始版本)成功地对其进行了编程,现在我什至无法连接MCU。 我从ST和SWD界面使用ST-Link Utility。可能是我将SWD引脚用作输出,并在代码中将它们设置为GPIO输出的情况。可以吗? 但是,我将复位引脚连接到GND,并在ST-Link Utility中设置了“在复位下连接”选项,但是它不起作用...我该怎么办? 在Internet上,我发现了一些有关使用BOOT0引脚的信息,但我不完全知道...

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.