Tag: 嵌入式

如何从ARM处理器开始?

是否可以直接从ARM处理器的数据表和用户手册开始为新手或首先了解ARM世界然后继续?

用于音频重采样的库

在嵌入式(Windows CE)C ++项目中,我必须将任意采样率重新采样(或向上)到44100 Hz。 是否有用于音频重采样的免费便携式C / C ++库?

什么是Pic18 micro的最佳c编译器

我们正在开始一个基于微芯片PIC18F252的新项目。 什么是最好的’c’编译器?

如何在程序版本更新时处理不断变化的数据结构?

我做嵌入式软件,但我认为这不是一个嵌入式问题。 我不(不能出于技术原因)使用像MySQL这样的数据库,只是C或C ++结构。 是否存在如何处理从程序版本到版本的这些结构的布局变化的一般原理? 我们来一本地址簿。 从程序版本x到x + 1,如果: 一个字段被删除(看起来很简单)或添加(确定如果所有可以使用一些新的默认值)? 字符串变长还是变短? 一个int从8位到16位有符号/无符号? 也许我将姓氏/名字或分割名称合并为两个字段? 这只是一些简单的例子; 我不是在寻找那些答案,而是寻找通用的解决方案。 显然,我需要一些硬编码逻辑来处理每个变化。 如果有人不从版本x升级到x + 1但等待x + 2怎么办? 我应该尝试组合更改,还是仅应用x – > x + 1后跟x + 1 – > x + 2? 如果版本x + 1有问题并且我们需要回滚到s / w的先前版本但是已经“升级”了数据结构怎么办? 我倾向于TLV( http://en.wikipedia.org/wiki/Type-length-value ),但可以看到很多潜在的麻烦。 这不是什么新鲜事,所以我只是想知道别人怎么做……

sqlite3列类型

我正在开始一个必须将数据从XML转换为db的新项目。 XMLs具有自己的格式,不能用于填充db 。 我选择使用sqlite ,因为它是一个嵌入式平台,我需要一个轻量级的库。 我正在努力使用列类型。 我写了下面的sql: static int callback(void *NotUsed, int argc, char **argv, char **azColName) { int i; for(i=0; i<argc; i++){ printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL"); } printf("\n"); return 0; } static bool exec_sql (sqlite3 *db, char *sql, bool use_callback) { int rc; char *zErrMsg = 0; // Execute […]

哪里可以从可编程硬件开始?

我已经想要在相当一段时间内至少学习一些关于编程硬件的想法,并且我想在这里要求得到一些起点。 我是一个有着Delphi和Objective-c经验的合理成熟的程序员,但从来没有听过设备端口/中断(我甚至不知道术语),更不用说编写一个硬件了。 从我希望能够做的开始, 购买带有2,3或10个按钮的简单套件 通过USB将设备插入我的电脑 按下按钮后,收听设备并编写一些代码以执行某些操作。 我认为这是一个很好的起点,任何人都有指向硬件的指针或我如何开始这个?

有哪些重构方法可以减少编译代码的大小?

我有一个需要新function的传统固件应用程序。 应用程序的大小已经接近设备的有限闪存容量,并且少数新function和变量将其推向了边缘。 打开编译器优化可以解决这个问题,但客户对这样做很谨慎,因为它们过去曾导致过失败。 那么,在重构C代码以产生更小的输出时,需要注意哪些常见的事情?

开始编写除计算机以外的其他东西的最佳方法?

开始在计算机外编程的最佳方法是什么? 我不是指像API这样的手机这样的主流产品。 请假设有C / C ++的工作知识

如何在一系列包装函数调用中正确使用va_list?

我有一个用于微控制器的以太网库(keil rl-tcpnet用于lpc2478)。 库以这种方式在调试输出函数中使用va_list(stdarg.h中定义的arg数组宏的标准指针): void __debug__ (const char *fmt, …) { va_list args; va_start (args,fmt); vprintf (fmt,args); va_end (args); } 但是vprintf将数据发送到不正确的流,我需要将库的调试输出重定向到正确的串行端口。 库有.c cofigure文件,我编写c ++代码,所以我使用包装器函数指针从c代码调用c ++样式代码。 所以我重写了这个函数: extern void (* printDebugMsg)(const char * fmt, …); void __debug__ (const char *fmt, …) { va_list args; printDebugMsg(fmt, args); } 其他cpp文件: void printDebugMsgImplementation(const char * fmt, …) { va_list args; […]

进入嵌入式

我正在努力熟悉嵌入式领域,但在购买时间和设备方面也只有有限的资源。 什么是一种很好的语言来包围嵌入式,而不需要投入太多时间来使用特定于嵌入式的语言? 我最熟悉PHP,Java,Actionscript,但遗憾的是知道很少C.我记得曾经在某处读过有人使用PERL来编程嵌入式系统,但不确定这是否真的可行。 可以在不需要通过模拟器等购买芯片等的情况下完成学习吗? 有人可以推荐一个简化的路线图,以显示一个人如何得到sarted? 我有点不确定从哪里开始。