embedded相关内容

如何在内存有限的嵌入式系统上使用 AT 读取短信?

我正在开发一款嵌入式软件,该软件还通过 AT 协议与调制解调器进行通信.现在我想阅读消息,但我的内存容量出现问题.可能是有多个消息给我,并且使用 AT 命令集,我将它们一次全部返回.我没有足够的内存来存储它们来处理它们(我只有 1KB 左右). 请参阅此处的示例:http://www.smssolutions.net/tutorials/gsm/receivesmsat/ 我发送AT+CM ..
发布时间:2021-11-30 13:58:31 其他开发

对 AT 命令的响应结束

如何确定发送到 GSM 模块的 AT 命令的结尾是什么? 我需要一些字符或字符串来代表每种情况下 AT 命令的结束,因为我发现何时收到整个响应. 我猜它有一些带有“\r\n"序列的东西,但是,这个序列可能在 AT 命令响应的开头? 解决方案 就像你想象的那样 \r\n. 这定义了一行的结尾. 而且只有处理完整的行才有意义. 有些命令只响应 OK\r\n,有些命令响 ..
发布时间:2021-11-30 13:50:58 其他开发

AOSP 存储库同步时间太长

我正在尝试从同名的书中学习嵌入式 Android.并且作者建议使用 AOSP 姜饼分支.于是我跟着去下载源码: $ repo init -u https://android.googlesource.com/platform/manifest.git-b 姜饼$ 回购同步 但是时间太长了.同样从输出来看,在我看来,它还从其他分支下载源代码(我看到 android-5 .....),这不是我想要 ..
发布时间:2021-11-27 21:36:50 服务器开发

配置 SourceTrail 以接受带有 @ 语法的嵌入式 c/c++ 头文件

我正在尝试使用 Sourcetrail (https://www.sourcetrail.com/) 来快速进入 pic18 系列微控制器的一些旧的嵌入式 c/c++ 源代码. 我在导入硬件包含文件时遇到错误,该文件使用一种奇特的方法来定义位可寻址硬件寄存器的硬件地址,例如 pic18f26k22.h 中的以下内容. typedef union {结构{无符号 ANSA0 :1;无符号 A ..
发布时间:2021-11-27 12:03:46 C/C++开发

从 C 代码设置 ALSA 主音量

我一直在寻找一个简单的 C 代码示例来设置 ALSA 混音器的主音量,但找不到任何简单的东西来处理这个所谓的常见操作. 我完全不熟悉 ALSA,因此制作我自己的最小示例需要时间.如果有人可以提供,我会很高兴. 解决方案 以下对我有用.参数 volume 应在 [0, 100] 范围内给出.当心,没有错误处理! void SetAlsaMasterVolume(长卷){长最小值,最大 ..
发布时间:2021-11-27 08:28:44 服务器开发

如何使用加速度计进行手势识别

我的目标是识别安装在太阳黑子上的加速度计的简单手势.手势可以像旋转设备或以几种不同的动作移动设备一样简单.该设备目前只有加速度计,但我们正在考虑添加陀螺仪,如果它能让它更容易/更准确. 有没有人有关于如何做到这一点的建议?Java 中有哪些可用的库?你推荐我检查的示例项目?您推荐的论文? 太阳点是一个 Java 平台,可帮助您快速制作系统原型.它使用 Java 编程,可以将命令转发回连 ..
发布时间:2021-11-26 18:15:50 Java开发

嵌入 D(编程语言)

我喜欢我读到的关于 D 的很多内容. 统一文档(那将让我的工作更轻松.) 内置测试功能语言. 语言中的调试代码支持. 前向声明.(我总是认为声明是愚蠢的两次相同的功能.) 内置功能可替代预处理器. 模块 Typedef 用于正确的类型检查而不是别名. 嵌套函数.(咳嗽 PASCAL咳嗽) 输入和输出参数.(这是多么明显!) 支持低级编程 -嵌入式系统,噢耶! 然而: ..
发布时间:2021-11-26 14:19:23 其他开发

如何在 32 位体系结构中将 64 位 unsigned long long 分配给 32 位结构

我有 2 个内核,一个是 32 位,另一个是 64 位. 在 64 位机器上,我支持 unsigned long long,我需要将这个值分配给一个可以在 32 位机器上访问的变量,例如:- typedef struct {无符号整数低;无符号整数高;} myint64_t;myint64_t app_sc; 以下是 64 位机器的代码片段: unsigned long long sc ..
发布时间:2021-11-25 07:30:53 C#

嵌入 D(编程语言)

我喜欢我读到的关于 D 的很多内容. 统一文档(那将让我的工作更轻松.) 内置测试功能语言. 语言中的调试代码支持. 前向声明.(我总是认为声明是愚蠢的两次相同的功能.) 内置功能可替代预处理器. 模块 Typedef 用于正确的类型检查而不是别名. 嵌套函数.(咳嗽 PASCAL咳嗽) 输入和输出参数.(这是多么明显!) 支持低级编程 -嵌入式系统,噢耶! 然而: ..
发布时间:2021-11-24 23:04:18 C#

sprintf 重新进入具有中断的 32 位 MCU 中的 64 位操作

参考 SO 问题:52164135 设置: 我有一个函数可以将许多 double 值转换为预定义的字符串.输入是一个 struct 数组,我们从中将两个双精度值连接成一个字符串.double 的大小为 8 字节或 64 位,我的操作 MCU 是 STM32,一个 32 位 ARM 微控制器. 中断也在并行运行. 数据应如下所示: [[[12.11111111,12.11111 ..
发布时间:2021-11-17 22:42:37 其他开发

如何估算ARM平台上的程序消耗的能量?

有没有办法估计一个程序在 ARM CPU 上消耗的能量?在嵌入式系统中,能耗是最重要的参数之一,我想知道程序员是否有可能知道运行程序大约需要多少能量? 例如,由于在多个周期执行的 ARM CPU 除法,我想使用除法的代码会比不使用除法的代码消耗更多的能量.但是这个reasing是很直观的,有没有更好的方法来衡量一个CPU在执行代码时消耗的能量? 解决方案 与现成工具最接近的是类似于 ..
发布时间:2021-11-17 22:42:34 其他开发

从头开始创建 RTOS

我在读大学四年级,决定使用 MSP432 控制器来解决创建我自己的 RTOS 内核的任务.事实证明这很棘手,我希望得到这样做的人的建议.需要什么总体布局?你在做这件事时有什么经验?我知道这似乎是一项艰巨的任务,但我觉得我能做到.明天我将深入研究并尝试扩展我的知识.我知道这是一个广泛的话题,但如果可能的话,我只是寻求一点建议.非常感谢.希望大家都平安. 解决方案 我建议您学习其中一门课程或书 ..
发布时间:2021-11-17 22:42:28 其他开发

手臂皮质 m3 显示器

嗨,我正在研究手臂控制器 lm3s8962,根据我的理解,我无法理解下面的代码,它正在检查字符是否来自数组,这是他使用 ascii 字符创建的{即在 while 循环中:while(*pcStr != 0) },我无法在“构建并显示字符缓冲区"行之后的代码中得到他在做什么,请任何人解释一下 voidRIT128x96x4StringDraw(const char *pcStr, unsigned ..
发布时间:2021-11-17 22:42:19 其他开发

NVIC_SystemReset() 卡在 while 循环中 (STM32F302VB)

我目前正在 STM32F302VB 上进行开发,我需要执行软件重置.在我之前的所有项目(使用 STM32F427 和 STM32F030C8)中,我一直成功地使用了 NVIC_SystemReset() 函数.但由于某种原因,它不适用于该芯片.实现在CMSIS core_cm4.h中,如下: __STATIC_INLINE void NVIC_SystemReset(void){__DSB(); ..
发布时间:2021-11-17 22:40:10 其他开发

如何在没有 jtag、断点、模拟器、模拟器的情况下单步执行目标代码

假设您有一个指向函数的指针,该函数的来源您没有并且“不受信任",因为它可能读/写到不允许的内存区域. 在执行每条汇编指令之前,您需要验证它没有访问不允许的内存区域. 操作系统(几乎)是裸机,即自定义 RTOS(因此没有 Linux 或 QNX). 这适用于不仅在开发期间而且在正常运行时都需要启用的功能. 理想情况下,它会运行如下: void (*fptr)(int);fp ..
发布时间:2021-11-17 22:39:42 其他开发

无法为 ARM 交叉编译 Valgrind

google 上有很多和我类似的问题,我都试过了,但没有一个有效,所以我必须发布这个问题. 我正在尝试使用 Valgrind 检测一些二进制文件的内存泄漏,这些文件是为我的设备编译的(使用处理器:ARM926EJ-S rev 5 (v5l)). 因此,我正在尝试使用适用于我的设备的特定工具链交叉编译 Valgrind. 这是我的过程:我使用的是 Valgrind 3.13.0 和 ..
发布时间:2021-11-17 22:39:36 其他开发

GCC ARM 性能下降

我偶然发现了 GCC 的一个非常奇怪的问题.问题是性能下降了 25%.这是故事. 我有一个 fp32 计算密集型软件(用 TVM 编译的神经网络).我为 ARM(rk3399 设备)编译它,这里是信息: gcc -v 使用内置规范.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/5/lto-wra ..
发布时间:2021-11-17 22:39:06 其他开发

处理嵌入式 Linux ARM9 用户空间中的 GPIO

我必须将我的 GSM 模块与基于 ARM9 的 AM1808 连接起来. 我已将所有 GPIO 引脚分配给 Da850.c 以及 mux.h 文件.我成功创建了一个 uImage 并将该图像插入到我的闪存中. 我需要处理来自用户应用程序的一些 GPIO. 我知道我们可以从 Kerel 空间处理 GPIO,但我需要从用户空间处理. 例如,我为 GSM 模块分配了一个用于电源键 ..
发布时间:2021-11-17 22:39:03 其他开发

对裸机使用 pthread 的交叉编译程序

好吧,这可能是一个非常笼统的问题,但我不熟悉这个话题,很高兴得到任何提示. 我有一个来自 SoucereyCodeBench for ARM 的交叉编译工具链 (arm-xilinx-linux-gnueabi-).我交叉编译了一个使用编译器选项的库:-DSC_INCLUDE_FX -DSC_USE_PTHREADS -pthreads -fPIC -DPIC 所以如果我想将库用于裸机 ..
发布时间:2021-11-17 22:38:55 其他开发

选定的处理器在 ARM 模式下不支持“dmb ish"

我正在使用 crosstool-NG、U-Boot、Kernel (5.5.5) 和 buildroot 在 Beaglebone Black(AM335x 芯片 Cortex-A8 Arm-v7 指令集)上构建嵌入式 linux 发行版.编译内核时,我收到此错误消息: /tmp/ccxFZlyN.s:汇编器消息:/tmp/ccxFZlyN.s:39: 错误:所选处理器在 ARM 模式下不支持“ ..
发布时间:2021-11-17 22:38:19 其他开发