• 四个月的学习心得


      四个月前我还是一个arm盲。刚开始不知道程序从哪里开始读,程序从哪里开始跑,后来在交接人员的指导下,知道了rt-thread中有个main函数,程序从那里开始读。
      后来再读程序的时候,发现很多函数或者宏定义以一种很规范的方式编写在一些.c或者.h文件中,根据自己对代码的敏感性,我感觉这是一种类似库或者标准的形式提供的。因为很多文件的都是stm32f10x_xxxx.h或者stm32f10x_xxxx.c的形式给出的。后来去网上各个论坛查找(给我帮助最大的便是opendev和21Ic电子工程师论坛),各种google搜查,终于知道st官方固件库这一个东西。
      后来便通过学习使用这个固件库来对arm进行编程控制。后来发现使用固件库有一个坏处,那就是自己很机械根据固件库的完成某个工作,固件库说这样是配置gpio口输出,我就这样配置,根本不知道底层到底配置没有,或者是不是按照我的意愿配置的(或许我就是这样一个没有安全感的人,相信自己的眼睛甚过于相信别人的声音)。于是,又求助于网络和论坛,终于还是找到了手动直接操作寄存器的方式。这迫使我去研究cortex-M3的存储空间分配方式,发现arm确实是丰盛,让我这个arm盲对arm产生了前所未有的饥饿感。于是便开始深入的学习。这个学习过程,我接触到了更多与底层相关的东西,发现原来main函数远远不是系统的入口,而是启动程序。
      启动程序,这个东西我早有耳闻,只是未曾谋面,而且心中倾慕已久。便着手研究这一块的东西,发现里面全是arm汇编。于是又是怀着懵懂的冲动投入研究,直到现在。在研究过程发现不同的arm系列,板子搭载的os不同,其启动程序也不尽一样,刚开始只读KEIL-uVersion自动产生的启动代码。很多伪代码和指令都不认识,于是翻出自己本科时候的书一条一条的查,查不明白的就google。最后终于是能够把代码的意思读懂了,但是还是存在很多疑问。不过自己还是很有信心。

  • 相关阅读:
    《数据结构》C++代码 线性表
    《数据结构》C++代码 Splay
    《数据结构》C++代码 前言
    蓝桥杯- 算法提高 最大乘积
    HDU-1241 Oil Deposits
    一个简单的网站计数器
    编写一个jsp页面,输出九九乘法表。
    Sum It Up
    历届试题 剪格子
    历届试题 分糖果
  • 原文地址:https://www.cnblogs.com/ju-an/p/3286813.html
Copyright © 2020-2023  润新知