一、linux基础、C语言、数据结构回顾

目录

  • 一、linux基础、C语言、数据结构回顾
    • 1、linux基础:
    • 2、Linux下的C语言
    • 3、面试题
    • 4、linux下数据结构
    • 5、Linux下高级编程
    • 6、结构
    • 7、物联网项目框架
    • 8、现如今物联网技术
    • 9、由表象到里象了解芯片
    • 10、了解芯片
    • 10、ARM公司和ST公司
    • 11、了解STM32F103RBT6芯片

1、linux基础:

熟悉Linux环境、Red Hat centos suse ubuntu …、安装操作系统、命令、服务、权限、vim gcc

2、Linux下的C语言

 printf变量scanf运算符算数  + - * / %关系    > < == >= <= !=逻辑  && || !赋值   = += -= ...位    << >> & | ~ ^条件 ? :下标   []指针    & *分量   . ->强制   (类型)自增自减    ++ --逗号   ,分支结构ifswitch循环结构forwhiledo...while跳转结构breakcontinuegotoreturn指针        数组      函数结构体共用体枚举预处理文件IO(标准IO)文件的操作fopen fclose fread fwrite fseek fflush

3、面试题

(1).把一个.c文件编译成一个可执行文件,需要经历哪些阶段 hello.c -> a.out

源文件      被处理过的源文件    汇编文件    目标文件
hello.c------>hello.i----->hello.s---->hello.o----->预处理    编译         汇编        链接

(2).在预处理阶段会做哪些操作?

文件包含 #include
条件编译
宏定义     #define

(3).文件包含中,"" 和 <> 有啥区别

<> : 从指定的目录中查找头文件(/usr/include),如果找不到,就报错
"" : 从当前目录中查找头文件如果找不到,再从指定的目录中查找头文件

4、linux下数据结构

线性存储顺序表数组一维数组多维数组二维数组链表有头/无头    头节点单向/双向    遍历方向循环/不循环  环状结构普通链表->引入链式存储结构通用性强的链表->通用性强内核链表
=================================
1.可以在PC机中写出通用性强的链表
2.大家可以使用内核链表
3.大家可以在纸上写出链表的增删改查
=================================栈式存储结构先进后出队列存储结构先进先出树状存储结构树二叉树完全二叉树满二叉树--------------平衡二叉树==========================面试题遍历方法先序(根)    根左右中序(根)    左根右后序(根)    左右根1->给了一棵树,写三种遍历方法2->给了中序,任意给一个先序或者后序然后画出这棵树==========================

5、Linux下高级编程

文件IO(系统调用和标准IO)
信号signal(int signum, )
进程
线程
进程间通信
网络套接字TCP/UDP
QT

6、结构

 在硬件上写软件的驱动程序应用程序    微信 QQ 游戏
应用层 图形库 jpg jpeg库文件 lib(静态库 动态库)根文件系统(把硬盘中的二进制数据,识别成)不同格式的文件
底层  kernel  Linux内核 android内核bootloader(BIOS + GRUB)GRUB(引导内核)软件   BIOS(初始化硬件/检测硬件)================================硬件  CPU + 内存 + 硬盘 + 外设(键盘 鼠标 屏幕)

7、物联网项目框架

 华为公司总结的物联网项目框架应用层   http mqtt coap平台层   小米  小米IoT华为 Ocean Connect阿里 AIoT百度  百度天工移动  OneNet联通    中国联网物联网-----------------------很多中小型公司也会有自己公司的物联网云平台ESLink   iot.embsky.com网络层   WiFi模块感知层   STM32F103RBT6芯片的单片机开发板-----------------------------------例子:5G技术(第5代)增强型的移动互联网络 -> 虚拟现实(VR)VR->AR->MR...超高可靠性超低时延的业务   -> 车联网车联网(自动驾驶 无人驾驶)远程医疗海量的物联业务      -> 物联网-----------------------------------

8、现如今物联网技术

 智能终端 : 单片机驱动开发 / 芯片模组开发边缘计算 : 高端ARM芯片的驱动开发有些公司除了使用高端的ARM芯片也是使用高端的单片机芯片===================================例子 :CPU     中央处理器显卡(GPU)    图像处理单元显卡    边缘计算人工智能 -> 英伟达寒武纪 -> 人工智能加速卡===================================中控平板人机交互智能音箱小爱同学天猫精灵

9、由表象到里象了解芯片

公司 : 结果
学习 : 过程
通过开发板俯视图,了解开发板上焊接的设备

10、了解芯片

 无论是SOC(高端芯片)还是MCU(单片机芯片),都是可以自己组成一个微型的计算机系统STM32F103RBT6 = CPU + 内存 + 硬盘 + 外设CPU    ARM-CORTEX-M3(72MHz)内存  用来支援运行的程序硬盘 存储的是烧写的程序外设 程序员通过外设来操作芯片S5P6818 = CPU + 内存 + 硬盘 + 外设CPU ARM-CORTEX-A53内存    用来执行硬盘中的程序硬盘    存储的是三星公司出产芯片时写入的程序外设    比单片机外设多很多

10、ARM公司和ST公司

 ARM是一家公司,在英国剑桥成立,在2016年底ARM公司被日本软银收购了(234亿英镑)从ARM11之后,重新命名ARM-CORTEX-A  高精尖的应用产品(手机 安卓电视)ARM-CORTEX-A57ARM-CORTEX-R 实时操作系统军工 高端医疗 航空航天ARM-CORTEX-M  工业控制(工控领域)ST公司,意法半导体公司,全球比较大的半导体厂商公司研发半导体芯片STM32    32位芯片STM8   8位芯片=================================使用8位的芯片,计算两个16位数据的和低8位计算一次,高8位计算一次=================================

11、了解STM32F103RBT6芯片

 打开<STM32RBT6\DataSheet\STM32>目录下<ST_MCU最新选型手册.pdf>      P22STM32F103RBT6FLASH SIZE(硬盘)      128KbRAM SIZE(内存)       20KbPackage(封装形式)   64管脚的封装Timer functions(定时器) 4×16bit普通2×看门狗RTC24bit定时器ADC(模数转换器)     16×12bit16个转换通道12bit量化位DAC(数码转换器)       无I/Os(输入输出的接口)  51Serial interface(串口)  2个SPI2个I²C3个USART/UART1个USB1个CAN总线打开<STM32RBT6\DataSheet\STM32>目录下<STM32F103RB.pdf> P19         CPU是通过三总线来访问外设的             (数据总线 地址总线 控制总线)-------------------------想要把十进制整数100存储到0x12345678地址中01100100   通过 数据总线 进行传输0x12345678 通过 地址总线 进行传输控制总线需要产生写的时序-------------------------在STM32芯片中AHB AHB1 AHB2都是三总线,叫做高速总线APB1 APB2也是三总线,叫做外设总线顾名思义,高速总线上的工作频率基本上和CPU一样外设总线上连接的都是外设资源当程序员想要驱动芯片中的外设时首先需要使能这个外设的时钟需要查看该外设连接了哪个总线,需要通过总线打开时钟------------------------------例如:想要驱动GPIOA外设,已知GPIOA连接了APB2总线所以在驱动之前需要通过APB2总线使能GPIOA的时钟(除非操作的外设有自己的时钟源)------------------------------在STM32F103RBT6芯片中所有GPIO外设连接到了APB2总线但是不一定所有的ST芯片都是一样的(不同的芯片看不同的手册)基本上每一组GPIO都会有16个管脚[0 - 15]GPIOXYX = A B C DY = 0 1 2 3 ... 15PA10 : GPIOA组的第10个管脚PC0  : GPIOC组的第0个管脚在STM32F103RBT6芯片中PA0 - PA15PB0 - PB15PC0 - PC15PD0 PD1 PD2一共是51个I/O管脚芯片的管脚是多功能复用型的管脚输入功能上拉输入下拉输入浮空输入输出功能推挽输出开漏输出复用功能推挽复用开漏复用模拟功能模拟输入

一、【回顾篇】linux基础、C语言、数据结构回顾相关推荐

  1. Linux基础——“C语言高级编程” C语言中的细节你真的知道吗?

    文章目录 GCC简介 一.GCC编译的过程 1. 预处理: 2.编译: 3.汇编处理 4. 链接 二.GDB调试工具 1. 调试器--GDB调试流程 2. GDB的使用切记点: 3. 条件编译 三.结 ...

  2. java回顾:Linux基础

    目录 一.Linux的安装 1.创建虚拟机 2. 安装CentOS7 二. Linux客户端连接工具 2.1. root用户登录和退出 2.2.与IP有关的命令 2.3.VMnet1和VMnet8 2 ...

  3. 《求职》第四部分 - 操作系统篇 - Linux基础

    常用命令 编辑相关 awk:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将 ...

  4. 查看linux文件工具,Linux基础命令-文本文件查看工具

    文本文件查看工具 cat concatenate 文本文件查看工具 cat /etc/fstab cat [OPTION]... [FILE]... -n:给显示的文本行编行 -E:显示行结束符 ta ...

  5. linux命令的添加用户,Linux基础命令---添加用户useradd

    useradd 创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在"/etc/passwd"文件中.当不加-D参数,useradd指令使用命令列来指定新帐号 ...

  6. linux c语言常见面试题及答案,Linux下C语言的几道经典面试题小结(分享)

    Linux下C语言的几道经典面试题小结(分享) 本篇文章整理了几道Linux下C语言的经典面试题,相信对大家更好的理解Linux下的C语言会有很大的帮助,欢迎大家探讨指正. 1.如果在Linux下使用 ...

  7. c语言移动通信功率计算,《移动通信软件编程基础—C语言》第3章_运算符.ppt

    <移动通信软件编程基础-C语言>第3章_运算符.ppt 移动通信软件编程基础 C语言,知识回顾3,运算符,第,章,本章目标理解表达式,掌握赋值运算符和赋值表达式,掌握关系运算符和关系表达式 ...

  8. linux提高程序优先级,Linux基础命令---调整程序优先级renice

    renice renice指令可以重新调整程序运行的优先级,可以通过进程id.用户id.组id来修改优先级.修改组的等级,影响组内所有用户的所有进程优先级:修改用户等级,影响该用户的所有进程优先级.除 ...

  9. python 全栈开发,Day32(知识回顾,网络编程基础)

    python 全栈开发,Day32(知识回顾,网络编程基础) 一.知识回顾 正则模块 正则表达式 元字符 :. 匹配除了回车以外的所有字符\w 数字字母下划线\d 数字\n \s \t 回车 空格 和 ...

最新文章

  1. 32位计算机能玩什么游戏,系统32位操作能玩什么游戏?
  2. 计算机原理及应用第三版pdf,计算机原理及运用.pdf
  3. 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
  4. 灯的开关 Bulb Switcher II
  5. id 的选择器为什么要这么写 li#first?
  6. Autoware安装和快速使用
  7. 为Drupal7.22添加富编辑器 on Ubuntu 12.04
  8. linux添加以太网头部函数,linux – 在内核模块中创建一个以太网数据包并发送它...
  9. react router4 需要配置2遍BrowserRouter
  10. CodeForces - 1301E 1-Trees and Queries(LCA)
  11. 2021年中国电子学习课程市场趋势报告、技术动态创新及2027年市场预测
  12. sift计算效率优化_【计算机视觉】9. 小结
  13. 一款经典的 jQuery Lightbox 灯箱效果
  14. adb设置代理与取消代理
  15. 趣题:等腰直角三角形与勾股定理形式的条件
  16. python绘制三维曲线图_机器学习的绘图库有哪些?如何运用python绘制机器学习常见曲线?...
  17. Python 模拟登录AUSU路由器获取在线用户列表
  18. 如何将GitHub上的项目或代码文件下载到本地,并且上传自己的代码
  19. 【数据结构】第15-16周练习题 查找排序
  20. 改变PPT导出图片分辨率

热门文章

  1. 脊髓损伤水肿一般几天消肿脊髓损伤如何消肿
  2. 算法小结--动态规划(一)
  3. databinding找不到符号
  4. 【力扣刷题总结】数据库题目按知识点分类总结
  5. Redis进阶——发布订阅详解
  6. 谷歌浏览器常用的快捷键
  7. Android中图片的左右滑动(带小点点)
  8. 安全系列之——主流 Hash 散列算法介绍和使用
  9. edger多组差异性分析_edgeR之配对检验分析差异基因的使用教程
  10. 如何让代码看起来有万佛朝宗的气势