当前位置: 首页 > news >正文

上海市区网站设计制作公司高端网站设计公司名单

上海市区网站设计制作公司,高端网站设计公司名单,百度竞价排名事件,深圳微信网站开发前言:之前的基于单片机的闭环控制步进电机项目其实已经完成了,但很多时间都花在调试和生产上,实在没时间去做总结笔记,现在又开始做新项目了,从单片机到了Linux,想用这个平台来督促自己继续学习&#xff0c…

前言:之前的基于单片机的闭环控制步进电机项目其实已经完成了,但很多时间都花在调试和生产上,实在没时间去做总结笔记,现在又开始做新项目了,从单片机到了Linux,想用这个平台来督促自己继续学习,所以新开一章。之前的单片机项目应该还是会补全的。


Linux到底是什么?
我之前只是听过,并没有深入学习过Linux,我之前会以为它是一个和单片机同级别的概念,现在发现是大错特错且很业余。我现在理解的相关概念是这样的。

- Linux是一个操作系统(OS),和Windows, MACOS, Android, IOS是同级别的概念
- Linux和Android是完全开源的,甚至Android的底层是Linux,但其他几种OS都不是
- 单片机可以说是CPU的一种,之前学习的STM32又是单片机的一种
- 操作系统是运行在CPU之上,例如Windows运行在Intel的CPU上,MACOS运行在苹果的M系列芯片上,IOS运行在A系列芯片上
- Linux操作系统可以运行在很多个CPU上,例如NXP的I.MX6UL(这也是我开发板使用的CPU)
- 之前单片机也学习到了FreeRTOS,是一种轻量化的操作系统,如果需要网络,文件系统,GUI等需要开发者自行移植
- 如果要学习一个功能完善的操作系统,Linux是非常合适的选择
- Linux的多任务管理、存储管理、设备管理、文件管理和网络,都是单片机缺少或者不那么强大的功能

我选择从搞明白Makefile开始Linux的学习

之前学习单片机的时候是有IDE这个东西的,最开始的Keil,后来的Clion,都是很出色的单片机IDE。我们只需要在IDE上写代码,它可以帮我们自动补全代码,加上HAL库CubeMX的支持,单片机的开发难度大大降低。

在Linux中就没有CubeMX这样的神器,至少目前没有,所以系统的初始化需要自己写代码完成。

最重要的是,IDE给我们提供了编译链接的功能,它使我们甚至都不知道编译这件事情的存在,只要点击一个按钮,IDE就会自动给我生成**.hex或者.bin**文件让我们烧写到单片机里。(当然是编译没有错误的情况)

Linux的嵌入式编程情况不太一样:

  • 首先Linux的可执行文件必须在Linux系统中编译,一般是在Windows中用虚拟机建一个Ubuntu系统下使用命令行来做编译和链接(Ubuntu系统和MACOS非常像)
  • 在开发项目的时候,可以先在Windows下的IDE进行代码编写,之后使用FTP(FileZilla)传输到虚拟机中,基于命令行和gcc编译器进行编译、链接
  • 还有种方法是在Ubuntu下直接使用图形化的IDE工具,例如VSCode来做代码编写工具,而且也能进行简单的编译,亲测功能和Windows版本的VSCode基本一致
  • 我看很多文章都说源文件很多的情况下用VSCode编译会有问题,但我目前还没有碰到,用VSCode编译存在的问题用命令行gcc编译一样也会跳出来,可能目前用的源文件还是不够多吧?
    等等,什么是编译?什么又是链接?至少我是一直没有明确概念。

编译是将源文件(C, C++, python等等)转换成中间代码文件,中间代码文件在Windows中是**.obj文件**,在Linux中是**.o文件**,即ObjectFile;编译器需要的是语法的正确,函数与变量声明的正确;
由于一个工程里包含的源文件很多,所以编译得到的ObjectFile也会很多,所以把大量的ObjectFile合成执行文件的动作叫做链接(Link)。链接器会在所有中间文件中找寻函数的实现,如果找不到会报链接错误码。

好了,从这里进入Makefile是一个比较好的时机。上面说了,每一个源文件都需要编译成中间文件,我们当然可以使用合适的IDE实现傻瓜操作,但也可以自己写makefile来证明具备完成大型工程的能力。

makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作。makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

接下来详细的学习Makefile
(未完待续)

http://www.yayakq.cn/news/584781/

相关文章:

  • 怎么做娱乐电玩网站wordpress newsletter 插件
  • 江门网站上排名网络规划设计师正高级任职资格
  • 江苏常州青之峰做网站罗湖网站建设58
  • 农产品电子商务网站建设企业网站建设方案投标书
  • 做空间的网站吗福山区建设工程质量检测站网站
  • 网站seo优化8888网站域名更改
  • 使用iis6搭建网站网络规划设计师可以同时报名吗
  • 网站屏幕自适应桂林象鼻山夜景
  • 上传文档网站开发宣城网站建设价格
  • 网站建设赛车网站建设皖icp
  • 站外引流推广渠道技能培训网
  • 潍坊网站优化公司哪家好营销方案策划书怎么写
  • 那些网站可以做海报搜索引擎网站推广可以自己做吗
  • 元谋县建设局网站住建网查询资质
  • 免费域名做网站化妆品 网站模板
  • 织梦新手网站建设怎么样自己做网站赚钱年入40万
  • 北京电力建设公司网站哪里有微信网站建设
  • 网站搭建php源码网站系统定制
  • 定兴做网站网站被人恶意刷流量
  • 深圳住房和建设局网站预约万户网
  • 无锡画室网站建设设计制作心得体会
  • 如何做不同域名跳转同一个网站南屏网站建设
  • 站内搜索本网站怎么做云服务器 虚拟机
  • 如何建设线报网站医疗器械类网站前置审批材料模板
  • 初中毕业学网站开发工程师做的烂的网站
  • 电子商务网站建设与管理试题及答案wordpress用户留言插件
  • 中端网站建设网站绿标怎么做
  • wordpress连接谷歌地图丽水网站建设seo
  • 企业宣传标语西安网站seo哪家公司好
  • 江苏省水利工程建设局网站营销型和展示型网站