草庐IT

EMBEDDED

全部标签

c++ - 使用 QueryPerformanceCounter() 倒计时

我在thispost中找到了有关使用QueryPerformanceCounter的有用信息但我面临一个我还没有找到答案的问题。我正在为WindowsCE6.0开发一个应用程序,需要GetTickCount可以提供的更好的分辨率。这就是我选择QueryPerformanceCounter函数的原因。我观察到我得到的计数器值来回变化。虽然这不是最终的应用程序,但这个小例子说明了问题:inti;BOOLbRet;LARGE_INTEGERliCounter;for(i=0;i它打印一系列100个计数器值,这些值预计是递增的。然而,有一些计数器值相对于先前的值递减。例如:...计数器值:65

c++ - Qt : send Key_Return and Key_Delete events

我正在使用QtEmbedded开发虚拟键盘,但遇到了一个小问题。事实上,我使用SignalMappers将键映射到键盘事件,以便在QTextEdit小部件中显示文本。一切正常,除了两个事件:Key_Return和Key_Delete;我不知道我做错了什么,也许你会有想法。这是一个经典的代码,发送字符:voidVirtualKeyboard::SendChar(intindex){QCharcharToSend(letters_.at(index)->text().at(0));//Getcharserver_->sendKeyEvent(charToSend.unicode(),QEv

c++ - 对 `kill' 的 undefined reference

我用C为ARM7嵌入式系统开发了一个应用程序。现在我想用C++编译和链接它,以便使用一些C++功能。为此,我使用mipsel-elf-g++而不是mipsel-elf-gcc。我可以使用mipsel-elf-g++成功编译我的代码,但在链接步骤中出现错误:/opt/mipsel/lib/gcc/mipsel-elf/3.4.6/../../../../mipsel-elf/lib/libc.a(lib_a-abort.o):Infunction```abort':/cygdrive/d/Files/cross/mips/newlib-1.15.0/newlib/libc/stdlib/

c++ - 嵌入式系统的 map 文件解释教程

上下文:我正在为我的微Controller编写C++代码,想知道每个类/函数/STL对代码大小的贡献有多大。为了查看此信息,我在map文件的.text部分进行了搜索。我还看到了一些.objdump文件。我有点不知道从哪里开始。问题:关于如何解释map文件的任何微Controller的任何教程/示例,有关如何理解map文件符号的任何通用示例,它们是否是一个通用文件(如.map),我可以将其用于任何可用于分析堆栈大小、代码大小等的Controller/编译器...PS:我也在从这样的链接学习编译过程http://www.tenouk.com/ModuleW.html谢谢

c++ - 用于在已编译程序中进行数据操作的嵌入式 C++ 解释器

我有一个C++程序,它创建大量存储在标准C++容器中的数据。我希望能够从我的二进制程序中启动C++解释器并打开REPLsession来操作该数据。我最好使用现代C++11语法。可行吗?在VisualStudio环境下开发是否可行?我听说过Ch,但它似乎只实现了C++98语法的一小部分。我听说过Cling,但如果我没记错的话,Cling的一位顶级开发人员在2012年GoogleTechTalks中对这个问题的回答是否定的。这是否准确? 最佳答案 虽然不是解释器,Console来自RuntimeCompiledC++可能会满足您的需求(

c++ - 远程读写结构

我目前正在构建一个附有一些传感器的机器人。机器人上的控制单元是ARMCortex-M3,所有传感器都附在上面,并通过以太网连接到“地面站”。现在我想通过地面站读写机器人的设置。于是我想到了在机器人上实现一个可以被地面站操控的“虚拟寄存器”。它可以由结构组成,看起来像这样://accelerometerregisterstructaccel_reg{//accelerationsint32_taccelX;int32_taccelY;int32_taccelZ;};//infrareddistancesensorregisterstructir_reg{uint16_tdist;//di

Qt Installation and Setup in Linux with OpenCV||Embedded Object Detection Project (Part 2)

QtInstallationandSetupinLinuxwithOpenCV||QtwithOpenCV-EmbeddedObjectDetectionProjectusingHikvisionIndustrialCamera(Part2)ReadmeHi!ThisismysecondpostonQtdevelopmentabouthowtosetupQtwithopencvinLinuxSystem,comparedwiththelastblogtalkingaboutWindowsenvironment.Thanksforursupportanddon’tforgettoclickthe

c++ - 嵌入式应用程序从 std::string 切换到 std::wstring?

到目前为止,我一直在我的嵌入式系统(路由器、交换机、电信设备等)的C++应用程序中使用std::string。对于下一个项目,我正在考虑从std::string切换到std::wstring以获得Unicode支持。例如,这将允许最终用户在命令行界面(CLI)中使用中文字符。我应该期待什么并发症/头痛/惊喜?例如,如果我使用仍然使用std::string的第三方库怎么办?由于对国际字符串的支持对我所从事的嵌入式系统类型的要求并不是那么强烈,所以我只会在不会引起严重问题的情况下才这样做。 最佳答案 请注意,许多通信协议(protoco

c++ - 单字分割算法

我为嵌入式平台开发软件,需要一个单字分割算法。问题如下:给定一个由32位字序列(可以很多)表示的大整数,我们需要将它除以另一个32位字,即计算商(也是大整数)和余数(32位)。当然,如果我在x86上开发这个算法,我可以简单地使用GNUMP但是这个库对于嵌入式平台来说太大了。此外,我们的处理器没有硬件整数除法器(整数除法在软件中进行)。然而,处理器具有相当快的FPU,因此诀窍是尽可能使用浮点运算。有什么想法可以实现吗? 最佳答案 听起来像是一个经典的优化。不要除以D,而是乘以0x100000000/D,然后除以0x100000000。

C++ 禁用静态变量的析构函数

我有一个在不同上下文中使用的通用类-有时作为静态变量,有时作为堆栈/堆上的普通变量。当它作为普通变量使用时,必须调用析构函数超出范围-正常。可执行文件用于嵌入式目标,其中闪存是一种有限的资源,永远不会退出,为此我想此“退出”代码将被禁用。下面是一个例子来说明这个问题。A是类正常情况需要析构函数,但静态不需要变量。structAbstract{virtual~Abstract(){}};structA:publicAbstract{inti=0;};staticAa;staticAb;以下是生成的汇编代码(用-Os-std=c++11编译-fno-exceptions-fno-rtti)