美文网首页
21.硬件 - 简介

21.硬件 - 简介

作者: 柏666 | 来源:发表于2019-07-18 22:42 被阅读0次

    一、引脚接法:

        1、模块与板子上的寄存器通过引脚相连,不同bit位的芯片引脚接法不同。


    二、时序图:

        1、根据时序图的标注搜索芯片手册并配置相应寄存器,寄存器中的参数要参照硬件的相关手册设置。


    三、寄存器配置:

        1、根据芯片手册,注意寄存器读写的位数。8位用 (volatile unsigned char *) 类型指针,16位用 (volatile unsigned short *) 类型指针,以此类推。


    四、函数移植:

        1、去uboot中查找

        2、去内核源码中查找

        3、去库函数中查找(一般来说编译器自带有很多库)

                ①、输入命令arm-linux-gcc -v,查看当前使用的交叉编译工具链。

                ②、输入命令echo $PATH,在环境变量中找到当前使用的交叉编译工具链所在的路径。

                ③、进入交叉编译工具链所在目录搜索相关函数,例如grep “__floatsisf” * -nR。

                ④、提取出其中的静态库(.a后缀文件),复制文件到代码文件。

                ⑤、修改Makefile,依次尝试加入的每个静态库,直至编译成功。

        注:

                ①、如果更换了编译器,需要自己去编译器目录里找出对应的库,并逐个尝试。

                ②、ARM是精简指令集,对求余和除法操作基本上不支持,需要添加linux内核源码linux/arch/arm/lib/lib1funcs.S实现支持除法、求模操作等操作的库函数。


    附:常识

        1、Flash 编程原理都是只能将 1 写为 0,而不能将 0 写为 1。所以在 Flash 编程之前,必须将对应的块擦除,即把所有位写为 1 (块内的所有字节变为 0xff)。

        2、常见缩写:

            VDD:电源电压(单极器件)。        VCC:电源电压(双极器件)。        VSS:地或负极。        VEE:负电压供电。

            GND:接地。

        3、有些中断触发之后不会自动清除,需要手动清除。具体参考芯片手册。

    相关文章

      网友评论

          本文标题:21.硬件 - 简介

          本文链接:https://www.haomeiwen.com/subject/cxlelctx.html