问题标签 [keil]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 从 Keil uvision 3.0 推进?
我正在开发一个使用 Keil uvision 3.0 以及带有 arm-uclibc- 前缀的 GNU 编译器和 Cygnus 的旧项目,这些都是带有奇怪错误的非常旧的工具。没有完全错误的语法高亮,没有对象浏览器等等。据我所知,我不能离开 IDE,因为这是我可以使用 JTAG 进行调试并创建与我的 arm 处理器兼容的 Hex 文件的唯一方法
任何人都可以推荐一个现代工具,让我可以使用我的 atmel at91m55800a arm 处理器吗?
或者也许是一个工具,可以让我使用现代功能(如自动完成)进行开发。高级语法高亮、对象浏览器等等?对 JTAG 调试(ulink)的支持将是传奇
我只使用keil来构建和调试?
c - 这个 for() 循环迭代了多少次?
我不确定我是否在这个 for 循环中遗漏了一些东西。我希望它在循环内执行 8 次代码,这将导致它在 LCD 上输出 8 个字符,但它循环了 7 次,我只看到 7 个字符。我为此使用了 Keil 编译器。请问谁能发现我哪里弄错了?
c - 地址空间溢出
我的代码遇到问题。当我编译代码时,我得到错误地址空间溢出。我该如何帮助解决这个问题。我正在使用 keil 编译器和 AT89C51RD2 MCU,这是迄今为止使用的空间 -
程序大小: data=149.0 xdata=594 const=1136 code=8467。
我可能已经用完了整个内存。
错误声明是这样的:
错误 L107:地址空间溢出
空间:内存空间(DATA)
段:段名(Function_name)
长度:000004H
说明:指定的段不能位于指定的地址空间。 该段被忽略。
谢谢
c - 为什么我的位不左移?
我在 Keil 上使用嵌入式 C。我正在尝试编程,使其存储一个位,位移,然后再次存储它并重复,直到存储所有八位。
但是,当我调试(可能调试错误)时,该值仅显示“01 00 00 00 00 00 00 ...”。当它存储逻辑'1'然后左移时,它显示“02 00 00 00 00 00 00...”。当循环重复时,它会一遍又一遍地显示相同的内容。我所期望的是“01 01 01 01 01 01 01 ...”(假设所有输入位都是“1”)。我该如何解决这个问题?
啊,我已经解决了。
c - keil uvision4是否足以替代8051硬件
我想在 8051 MC 上编写一些程序或 Embedded-C。ISR、LED 闪烁、轮询等程序。没有硬件可以吗?只有keil uvision4硬件模拟器就够写程序了?请帮忙。
gcc - 调试器在具有浮点参数的数学函数内停止
我正在使用Keil uVision
编译gcc
器(ARM EABI 的 Sourcery Codebenchlite )对STM32F4 cortex M4
芯片进行编程。
我设置的编译器控制字符串是:
当调试器遇到一些数学函数(例如asinf()
,atan2f()
等)时,它会停止。
我检查过这些函数的参数也是单精度的。
我认为这是因为缺少一些使用VFP
浮点的编译器指令,但无法识别它。
有什么我错过了吗?
我做的一个例子的反汇编代码:
调试器可以评估 atan2f(0.3,0.4),但在评估 atan2f(a,b) 时会在 0x0803B9CA 处停止。不知道为什么数字有效但变量无效。
windows-server-2008 - 如何在 Windows Server 2008 中以管理员身份运行 CruiseControl 任务
我目前正在使用CruiseControl.NET来自动化我的构建。在我的构建环境中,我们有两种不同的方式来构建解决方案——一种是通过Keil uVision4 IDE,另一种是通过 Visual Studio 2008。
我已经成功获得了 Visual Studio 解决方案,可以使用 CruiseControl.NET 正确构建,并创建了一个批处理文件,该文件正确使用 Keil 的 uVision 命令行界面来编译我的 uvproj 项目(此处为编译详细信息)。
问题描述
1)如果我使用管理员权限创建命令提示符,我可以在我的 Windows 2008 服务器上成功执行构建脚本并构建项目(我手动执行此操作 - 开始 -> 运行 -> 使用 ctrl-shift-enter 运行的 cmd作为管理员)。
2) 但是,如果我在没有管理员权限的情况下创建命令提示符并尝试执行批处理文件,则批处理文件将不起作用,除非我接受要求我确认运行批处理脚本需要管理员权限的提示。
如何以管理员身份通过 CruiseControl 自动执行批处理文件?
这是可以使用RunAs命令自动化的吗?
技术细节
1) 正在执行的批处理文件非常简单 - 它删除旧的输出并重新生成输出,在下面的位置创建一个构建日志文件。
2)目前我正在寻找使用 Exec 功能来运行上面的 Keil 构建脚本:
相关问题:
c - 8051 中的代码优化
所以,我必须完成这个挑战,即为一个 8051 微控制器实现一个摄像头监控系统。
这些是规格:
每个摄像机都与一个运动传感器相关联,每次检测到运动时,该摄像机的记录都会被注册并保存。如果传感器超过 5 秒没有捕捉到任何动作,则此摄像机将不再被记录;
如果没有摄像头,录像机必须处于“暂停”状态;
如果打开了多个摄像机,则必须使用多路复用器(mux)以某种方式选择摄像机信号,以便在 3 秒内记录每个摄像机。这样,必须在 3 秒内记录所有活动的摄像机。如果只有一台摄像机处于活动状态,则它的信号必须是多路复用器中唯一的一台。
我已经在下面的代码中完成了这一点。而我们现在要做的就是在没有编译器优化的情况下优化代码的大小。代码现在是 198 字节,但我试图低于 180 字节。
可能吗?我已经尝试进行#define 的计算,但编译器已经为我优化了它。
time - armcc(keil uVision4):如何让 time() 从 RTC 返回时间?
我是一名相当习惯于使用免费工具在 Linux 上使用嵌入式系统的开发人员。现在我发现自己在一个使用 Windows 上的 Keil 编译器的项目中(armcc、uVision4 ......我发现这方面的东西的命名有点令人困惑:)。
使用的硬件上有一个实时时钟,但它总是通过其 I2C 接口直接访问。由于各种原因(主要是代码的可移植性),我想将它连接到标准time()
函数。
我该怎么做呢?
c - 外部中断程序会不会太长而无法正常工作?
我有一个关于外部中断程序的问题要问。如果我使用 DS89C450 的 INT1(外部中断 1 设置为下降沿)并且我的外部中断程序很长,它会正常工作吗?或者会有什么问题吗?我正在使用 Keil 嵌入式 C。