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)
  • 相关阅读:
    WPF中ListBoxItem绑定一个UserControl的学习
    Server.Transfer和Response.Redirect的区别
    4个程序员的一天
    (转)让ADO.NET Entity Framework支持Oracle数据库
    IIS操作类
    HttpHandler与HttpModule区别
    网站性能优化的34条黄金法则
    oracle9i/10g/11g各种下载
    WCF简要介绍
    软件系统的稳定性
  • 原文地址:https://www.cnblogs.com/sunniflyer/p/4399396.html
Copyright © 2011-2022 走看看