Hello_WordN level
获赞
2370
粉丝
1657
关注
23
看过 TA
7323
山东大学
2022
嵌入式软件开发
IP属地:北京
牛客专栏作者
私信
关注
时隔好久再分享一篇嵌入式  STM32的文章1. STM32芯片的基本结构和特性:了解STM32芯片的基本结构和特性是学习STM32的第一步。学习这方面的内容可以首先从官方文档开始入手,理解芯片内部的各个模块和外部接口,掌握不同型号芯片之间的区别,了解不同外设的基本特性和工作原理。2. C语言编程基础:C语言是STM32编程的必备语言。首先需要了解C语言基础语法,包括数据类型、运算符、流程控制、循环等基本概念。然后需要熟悉C语言编程环境和工具,如编译器、调试器等。学习C语言还应该从实际应用出发,常见的代码实例包括数字信号处理、控制器程序、网络通信等。3. STM32编程方法:包括寄存器编程和使用库函数编程。寄存器编程是使用C语言直接访问芯片内部的寄存器进行配置和读写数据。而使用库函数编程可以更快速地完成STM32开发,库函数是封装了底层寄存器操作的高层API函数。这两种编程方法应该都要掌握。4. STM32的各种外设:外设包括多个部分,如GPIO、USART、SPI、I2C、ADC、DAC、PWM等,需要了解它们的不同特性和使用方法,还应该熟悉如何使用这些外设来控制其他外部设备。5.  如何配置和使用各种外设实现不同的功能:了解STM32的外设不仅仅是了解它们的特性和使用方法,还应该了解如何在应用中配置和使用各种外设以实现不同的功能,更快速和更高效地使用外设达到设计目标。6.  中断编程的基本概念和处理方法:中断是STM32应用的重要特征之一。需要熟悉STM32中断编程的基本概念和处理方法,掌握中断向量表📉、NVIC、优先级等概念,了解不同中断源的处理方式与优先级。7.  RTOS(实时操作系统)的基本概念和使用:RTOS是嵌入式系统开发和STM32编程中非常重要的一个方向。了解RTOS的基本概念和使用方法可以让你更好地理解和设计STM32系统。了解RTOS的几个基本概念包括任务、调度、中断处理、信号量等。8. 调试STM32程序的方法和工具:了解STM32程序的调试方法和工具可以更快速地解决程序问题,提高开发效率。常见的调试工具包括st-link、JLink等,调试方法包括断点调试、printf调试等。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
1、Linux系统方面1)进程和线程的区别(不能太书面化)(需要从内存角度,或者其他角度描述)需要用自己理解的方式去回答这个问题,如果你回答了xxx是基本单位,这样子是不行的。技术面试会追问你,需要你用自己的话去理解进程和线程。线程和进程是否是独立的?线程和进程的之间内存空间是否是共享的?进程和进程之间是否是共享的?2)线程之间是如何调度的比如说有两个线程:线程A和线程B,线程B要先于线程A运行,或者是线程B运行了多次之后在启动线程A,如何进行调度?3)非实时操作系统和实时操作系统的区别和选择,以及应用场景。2、C语言方面1)static的作用,函数中变量使用static的作用,它的生命周期会如何。2)extern的作用3)c语言中有哪些宏定义?4)#define和#typedef这两个的区别5)代码编译的四个过程,预处理的阶段做了哪些事情(深入问条件编译里面做了哪些事情)四个过程都生成哪些文件?3、数据结构1)何为数据结构?2)问了队列、栈、链表的概念和特征,队列和栈在项目中的应用场景。什么情况下用栈,什么情况下用队列和链表。4、网络的概念总结:1、简历中有的项目,一定要会,不会的东西不写,写上去的东西保证自己每个细节都懂,也就是确实是自己做的项目,不是捏造的项目。2、大厂面试注重基础,因为大公司会培养你,只要你基础扎实就行,所以基础很重要,整个面试一个多小时,大部分时间在linux系统、编程能力、数据结构、计算机网络基本概念上。3、大厂面试喜欢问你对于某个常见的东西自己的理解,因为书上的名词大家都会说,但是你自己理解的肯定是不一样的。比如富士康的一个面试官问过:你认为OSI七层网络模型和生活中给的什么很像?答案:快递业务。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
投递阿里巴巴等公司10个岗位
0 点赞 评论 收藏
转发
1.在嵌入式系统中,什么是闪存(Flash Memory)?2.嵌入式系统中的I2C通信协议是什么?3.在嵌入式系统中,什么是Bootloader(引导加载程序)?4.嵌入式系统中的PWM(脉宽调制)是什么?5.在嵌入式系统开发中,什么是RTOS调度器(Scheduler)?6.在嵌入式系统中,什么是中断控制器(Interrupt Controller)?7.嵌入式系统中的CAN通信协议是什么?8.在嵌入式系统开发中,什么是裸机编程(Bare Metal Programming)?9.在嵌入式系统中,如何进行实时任务调度和优先级管理?10.请解释一下嵌入式系统中的中断嵌套和中断优先级的概念。11.请解释一下嵌入式系统中的GPIO口、PWM和定时器的概念和应用场景。12.在嵌入式系统开发中,什么是嵌入式Linux?它与传统的裸机系统有什么区别?13.讲一下C语言和C++语言的区别和特点。14.C语言中的指针是什么?请解释一下指针的作用和用法。15.C++中的引用是什么?请解释一下引用和指针的区别。16.什么是C语言中的结构体?请解释一下结构体的定义和使用。17.C++中的类是什么?请解释一下类的定义和面向对象的概念。18.在C语言中,如何动态分配内存?请解释一下malloc和free函数的使用。19.在C++中,如何实现多态性?请解释一下虚函数和纯虚函数的概念。20.C语言中的宏定义是什么?请解释一下宏定义的作用和用法。21.C++中的命名空间是什么?请解释一下命名空间的作用和用法。22.在C语言中,什么是文件操作?请解释一下文件的打开、读写和关闭操作。23.请解释一下操作系统中的进程间通信(IPC)和线程间通信的概念和方式。24.操作系统中的调度算法有哪些?请解释一下常见的调度算法和其特点。25.操作系统中的页表是什么?请解释一下页表的作用和实现方式。26.操作系统中的内核是什么?请解释一下内核的概念和功能。27.请解释一下操作系统中的异常和中断的区别和联系。29.请解释一下操作系统中的同步和互斥的概念和实现方式。30.对于嵌入式开发工程师来说,如何进行持续学习和职业规划?以上问题我整理到我的专栏中,关注我分享更多知识  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
1、线程、进程的区别?最小执行单元是进程还是线程?2、如何计算一个整数是不是2的n次方?3、printf的具体实现?4、什么是大小端?如何区分?有几种方法?5、new与malloc的区别?6、程序链接完毕之后分几部分?7、Linux、Windows与FreeRtos的区别?8、Linux系统中的中断为什么分为上下两个部分?9、会快速排序吗?简要说一下?10、static关键字的作用?11、extern 关键字的作用?12、volatile关键字的作用?13、编译原理分哪几步?14、内存分区?15、freertos启动流程?16、互斥锁与信号量的区别?17、什么是死锁?死锁产生的原因?如何避免?18、什么是内存泄漏?19、系统死机了怎么排查原因?逐一看代码?工程量太大了吧?20、同一类型的结构体定义两个变量能用内存大小来比较判断两者一样吗?(没懂)21、freertos中EventBits_t是干啥的?22、freertos使任务切换的方式有哪些?23、项目中用到网络了吗?24、了解Socket吗?25、c++中set是什么?26、有没有用到C++模板?27、有没有对代码裁剪的经验28、freertos系统是买模块时人家配置好的?还是移植的?29、任务里有两把锁的时候该怎么处理(这个是另一个面试官一直追问的问题)30、熟悉Shell脚本吗?$和#啥意思?31、知道#error吗?32、freertos消息队列的的具体实现?33、堆栈区别?34、程序存放状态和区  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
投递百度等公司10个岗位
0 点赞 评论 收藏
转发
1 简历内容公司内部都是有简历筛选系统的,你的简历会经过内部系统筛选一遍,然后是HR人为筛选一遍,HR阅读一份简历的时间只有十几秒,那么这么短的时间,主要针对简历中的信息作客观评估,主要包括个人信息、教育经历、实习/项目经历,这是最关键的几个点。1 个人信息首先个人信息要全,一般这些要放在最前面的,该有的要有,不该有的就算了。必写的有姓名、联系方式、邮箱、应聘岗位,其次可以选写的:年龄(出生年月)、性别,最后放上自己的照片。2专业技能这一栏是比较重要的内容了,将自己所掌握的专业技能说清楚。对于描述性词语的运用要把握好,常见的有:了解、熟悉、掌握、精通,不是万分确定还是不要写精通了,要不然可能会给自己挖坑。注意要对自己在简历上写的东西负责,不要把自己不明白不了解的东西写上去,如果被问到,结果你不会或者答错了,是很扣分的。3教育经历一般大厂校招最低学历要求本科,如果是社招走内推通道可能会放宽到大专。注意将自己的受教育经历按照受教育程度从高到低叙述,如果你是研究生,那就先写研究生学校,再写本科学校。如果你是专升本,那就先写本科学校再写专科学校。专业排名较好的,也可以写上去排名,不好的就别写了。4实习/项目经历如果有实习经历要记得把实习经历写上去,包括实习公司、担任的职位、起始时间,一般都会在实习经历后写上自己在实习期间的主要工作,要写清楚自己在实习期间干了什么事,采用哪些方法取得了什么样的成果。对于项目经历也是的,项目描述要清晰列出在项目中使用的技术点。如果是个人的项目,可以选择性的把相关 github 链接或者博客贴上去。一般会把自己最拿手的放在项目经历的第一个。5校园经历校园经历如果拿得出手,也建议写上去。如果比赛或者社团比较有意义可以适当展开,比如获得国家级比赛/省级比赛,也可以考虑把比赛的过程叙述一下,毕竟国奖还是挺有含金量的。6其余在该模块中可以说一下自己的英语水平或者对自身的评价,记得要简要概括,评价需要真正思考一下,不要写那种性格开朗、积极学习之类的话。如果有实力证明那就更加好啦。有写博客的习惯就把博客贴上去,有github就把github贴上去。  c++/嵌入式面经专栏-牛客网 https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
0 点赞 评论 收藏
转发
牛客网
牛客企业服务