代码之家  ›  专栏  ›  技术社区  ›  user461112

C语言中的嵌入式程序设计

  •  0
  • user461112  · 技术社区  · 14 年前

    就嵌入式系统编程而言,我是个新手。我必须编写很多简单的C或C++程序 atoi , itoa , oct_to_dec 等等,在普通的C语言中很容易写。

    但是我的硬件单元没有通常的头函数,因此我不能使用标准库函数。:(

    有人能帮我指点一下吗?任何样本或笔记也会有很大的帮助。

    谢谢!

    4 回复  |  直到 14 年前
        1
  •  4
  •   Kevin    14 年前

    编写嵌入式代码比编写库函数更能处理微控制器的体系结构。您可能不会在printf或cout的方式中使用太多,但会做大量的位移位和写入寄存器。所以,把你的位操作符刷上去。也就是说,在学习编写嵌入式软件时,最重要的是 掌握建筑 . 我不能再强调这个了。你会花一个 许多 时间和你的数据表在一起了,所以在你的课上跳一跳,开始为你的微控制器阅读数据表。

    另外,如果这是您的第一个嵌入类,您不应该担心字符串,因为您可能根本不会使用它们。您的大部分工作可能集中在编写代码与硬件接口上。

        2
  •  3
  •   Dipstick    14 年前

    为什么今天和这个年龄的人会写ATOI,ITOA等,除了作为一个学习练习? 几十年来,它们的源代码一直免费提供。

    http://www.uclibc.org/ 对于嵌入式系统C库来说是个不错的去处——比glibc小得多。它也可以用于封闭源代码软件(较低的GPL许可)和源代码可用。 http://git.uclibc.org/uClibc/tree/

        3
  •  1
  •   Alex Hart    14 年前

    查看一个ASCII表,查找模式。例如,转换ATOI包括找出一个字符串中有多少个字符,然后将每个字符转换为它的数字等价物,然后将其乘以10的正确幂。

        4
  •  0
  •   doron    14 年前

    一个简单的可能性是下载 GLibC 编写代码,然后选择所需的函数。请注意,代码是GPL,需要您与应用程序一起分发源代码。

    另一种可能是使用 Android C库,尽管对于memcpy这样的函数有一些ARM汇编程序。(Android有更自由的许可证)

    不幸的是,任何需要系统调用的东西都不能在您的系统上使用,所以您可以自己使用。