zoukankan      html  css  js  c++  java
  • 嵌入式编程 复习笔记

    最近准备找些嵌入式公司的实习机会,所以复习了一下嵌入式编程的一些内容。先搜了一些嵌入式公司的面试题,才发现虽然自己

    进行嵌入式开发已经有几个年头了,但是水平还只能算的上是下下等。所做的内容主要就是看看别人的代码,然后根据特定芯片的

    datasheet移植修改一些寄存器的值;要么是自己写代码,只求功能达到,不求程序的规范性、效率、安全性、健壮性和可移植性。

    这样做出来的东西是不能够作为一个可靠的产品进行使用的。痛定思痛,遂决定努力刷刷题好好恶补一下。

    这类题目网上有很多:

    这份面试题感觉挺好的:http://blog.csdn.net/haiwil/article/details/7067284

    大致总结了一下,pc上的c程序开发人员和嵌入式c开发人员在关注焦点和主要的遇到的问题还是不一样的。

    嵌入式的资源有限:

    尽可能的减少不必要的函数调用开销--》#define的使用

    机器字长不确定--》数据类型、直接使用十六进制数赋初值的时候不可以自己默认字长

    寄存器 变量 的更改 一方面是程序中的显式更改   另一方面是硬件寄存器在外被更改  --》定义好变量的类型const volatile (根据系统实际的使用情况)

    数据的强制类型转换、运算中的类型提升、运算符的优先级

    中断服务程序--》尽量精简、变量的刷新、浮点型 不能重用(寄存器资源有限)

    注意事项:

    加括号 的重要作用

    有些常数值 最好写出规律 具体的值让编译器自己去算 这样在不同的平台上有更好的适应性

    使用const 、volatile增加程序的健壮性

    熟悉和正确的运用各种指针

    ////==========================

    公共的启动配置文件(系统级的)
    /etc/bashrc 存有整个系统的别名和功能(发现Ubuntu是/etc/bash.bashrc)
    /etc/profile 存有整个系统的环境参数和启动程序
    个人的启动配置文件(用户级的)
    决定用户自己所独有的一些配置
    $HOME/.bashrc 存有用户别名和功能
    $HOME/.bash_profile 存有用户环境参数和启动程序(Ubuntu是~/.profile)
    $HOME/.bash_logout 存有退出系统时的结束方式
    $HOME /.inputrc 存有主要绑定数值和其他位元数值(Ubuntu默认只有/etc/inputrc)
  • 相关阅读:
    python文本处理
    转 Deep Learning for NLP 文章列举
    backpropagation
    开发者必备的6款源码搜索引擎 转
    转【面向代码】学习 Deep Learning(二)Deep Belief Nets(DBNs)
    Sampling
    各种形式的熵函数,KL距离
    [转] 如何在ie11里使用a连接创建动态下载文件流
    修改chrome背景色
    [转] 使用 Spring 5 的 WebFlux 开发反应式 Web 应用
  • 原文地址:https://www.cnblogs.com/sunniflyer/p/4399396.html
Copyright © 2011-2022 走看看