我正在使用Keil为STM32微控制器编写代码。在main.h文件中,我使用以下代码:
#if defined __has_include //Keil recognizes this preprocessor. If it was unavailable, Keil would have marked it as gray
#if __has_include("Debugg.h")
#include "Debugg.h"
#endif
#endif
这将检查Debugg.h文件是否存在。让我们想象一下,我在Debugg.h文件中有一个Debugg.h:
我在带有keil ide和arm编译器版本6和g++17的stm32f407上使用freeRTOS,我不喜欢使用freeRTOS线程API。相反,我希望使用std::thread c++本机库。但是当我包含#include <thread>时,keil抛出这个错误:error: <thread> is not supported on this single threaded system。 有什么问题吗? 当我使用freeRTOS时,这意味着我的平台不是单线程的,那么为什么keil抛出这个错误呢?
在CubeMX中,我的项目有选项“双核启动模式”=“两个CPU同时启动”。生成代码后,我在Keil中编译它。链接器抱怨:
“
构建目标“新的从头开始Eval_CM7”
链接中...
new from scratch Eval_CM7\new from scratch Eval_CM7.sct(7):错误: L6235E:多个部分与选择器匹配-不能都是第一个/最后一个。
信息不足,无法列出图像符号。
信息不足,无法在图像映射中列出加载地址。
已完成:2条信息,0条警告,1条错误信息。
"new from scratch Eval_CM7\new from scratch Eval_CM
我的应用程序正在读取一个包含以下数据的文件:
MENS HEALTH^\^@ P
而实际文本应该是
MENS HEALTH P
我已经替换了'\u0000‘,但是"^\“仍然保留在字符串中。我不知道这个字符的代码是什么,所以我可以替换它。
当我在intelliJ编辑器中打开文件时,它将显示为FS符号。
请建议我如何消除这个问题。
谢谢,
我使用的是带有Keil4的LPC1788微控制器,当我创建一个项目时,Keil会添加一个名为"startup_LPC177x_8x.s“的文件。在这个文件中,在某个阶段,一个导入命令试图导入SystemInit,但是当我编译时,我得到了如下错误:
compiling main.c...
main.c(6): warning: #1-D: last line of file ends without a newline
linking...
project_1.axf: Error: L6218E: Undefined symbol SystemInit (referred f
正如标题中所说,我正面临着非常好奇(也许不是这样)的行为。虽然我的程序在用Keil编译时工作得很好,但是当使用gcc编译相同的代码时,浮动变量表现得很奇怪。
在我的代码中,我打印了浮点变量:当用Keil编译时,它给出了正确的值(即:float value = 0.15,但是对于gcc,printf返回空白的内容,如:float value =)
有人遇到过这个问题吗?这是类型定义的问题吗?编译器选项?
编辑:正如P__J__所说:-u_printf_float是必需的。这解决了问题,谢谢
class Utility{
public String a = "aaaa huge string";
public void doSomething() {
String b = "bbbb huge string";
.....
}
}
给定类实用程序,下面是我的方法调用。
Step 1) Utility u = new Utility();
Step 2) u.doSomething();
Step 3) u = null;
当对象u在步骤3后被垃圾收集时,字符串b也会从字符串池中删除吗?
可能重复:
据我所知,当声明为null时,字符串引用不会从字符串文字池中删除条目,我想知道如何清除它。
String object="csk";// creates an Object in Java Heap and makes an entry String Literal Pool .
object=null// however make this reference to null object .
//但它不会从字符串文本.I中删除条目,如果从文本池中删除条目,则会产生疑问
在将程序刷新到核心板后,我遇到了一个主要问题,这里我使用的是stm32l053r8t6核心板(编译器: keil MDKV5.0)。
problem: after loading any program(eg:blink problem) from keil into controller
电路板,几秒钟后电路板的连接就会断开(注意: usb没有插上)同时闪存程序也会丢失,因此我必须从头开始编程
如果有人理解这个问题,请及时更新。
希望keil社区能快速响应..