嵌入式学习

嵌入式学习-MMU

。_饼干妹妹 提交于 2020-04-03 12:04:12
原文: https://blog.csdn.net/u011003120/article/details/51812188 参考: https://blog.csdn.net/groundhappy/article/details/54889677 MMU 存储器管理单元,在之前因为是操作物理地址,不需要MMU,因此是处于关闭状态的,而这次则是打开MMU并且使用MMU. 一、MMU的作用 1.将虚拟地址转化为物理地址 2.进行访问权限的管理 看上图可以得知,有三个运行的程序,他们的虚拟地址都为0x400000,但是若要使用物理地址,他们的物理地址不能够相同,因此就需要一个机制,使他们的相同的虚拟地址对应不同的物理地址,这个机制就是上图中的Page tables(即页表),虚拟地址通过查表的方式对应到不同的物理地址上。 二、地址转化 首先需要知道的是,以段(Section,1M)的方式进行转换时只用到一级页表,而页(Page)的方式进行转换时用到两级页表,有粗也转换和细页转换两种,页的大小有3种:大页(64KB)、小页(4KB)和极小页(1KB)。 1.地址转化总体分析 整个地址转换的过程分为了两步,为一级转换和二级转换。 虚拟地址的[31:20]位作为一个表的索引,表的名字为translation table,即TTB,如果表的后两位为00,则为无效的转换,如上图,如果后两位为01

2020 年的自己

坚强是说给别人听的谎言 提交于 2020-02-12 16:59:38
2020年,自己也马上24岁了,应该变得勇敢和成熟。 希望自己今年可以在理财投资还有电子嵌入式方面更进一步。 对于理财,我想每天跟着螺丝钉去学习,每天9点钟左右开始学习理财的知识,写理财的感悟和想法。 对于嵌入式来说,我更希望希望自己熟练fpga,arm,还有C语言和各种通信协议。要不断的总结。 改变自己。勇敢起来。希望疫情可以早日结束。 来源: CSDN 作者: dreaman_jyp 链接: https://blog.csdn.net/qq_34244712/article/details/104280354

关于嵌入式学习随笔->12《STM32CubeMX应用3-PWM的配置》

霸气de小男生 提交于 2020-02-01 17:04:23
以蜂鸣器为例,找到自己板子的蜂鸣器。 由电路可知蜂鸣器由PH6控制,在cubemx中查看该引脚含有定时器12通道1,因此,我们可以用这个定时器来做PWM的输出。 STM32CubeMX中的配置 点击generate code生成代码。 HAL库中相关函数 HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim) { uint32_t tmpsmcr; /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) { __HAL_TIM_ENABLE(htim); } /* Change the TIM state*/ htim-

感想

不打扰是莪最后的温柔 提交于 2019-12-04 11:49:44
第一次写博客,本人专业物联网工程,一所普通二本,最近被秋招弄的头皮发麻,迫于压力一开始还选择了一些与本专业所学无关的工作去面试,个人建议还是遵循本心吧,不要着急,专业对口的工作其实是有的,最近在boss网申,于是今天去了上海面了一家嵌入式软件工程师,面试还行,还会有二面,不过更加确定了自己以后要走的路,往嵌入式方向走,偏硬件。 大学没有用心,现在后悔莫急,以后坚持学习,我想成为一名强大的程序猿嘻嘻。以后博客会写关于c/c++、qt、stm32嵌入式的知识总结。共勉。 来源: https://www.cnblogs.com/jkjk/p/11861029.html

嵌入式学习资源汇总及面试题

亡梦爱人 提交于 2019-12-03 06:56:57
学习嵌入式常用的资料(代码) [嵌入式 Linux 知识库 (eLinux.org)] 这里写链接内容 知乎: 如何学习嵌入式? 这里写链接内容 嵌入式面试题1 嵌入式面试题2 嵌入式面试题3 面试题: 1,项目的各个设备驱动框架? 硬件、按键、I2C 2,项目的软件框架 3,ARM芯片和其他芯片(单片机)的区别? ARM的优势:linux 4,项目的未来前景? 智能家居 5,linux和windows的区别? 安全性、开源… 6,底层驱动如何和QT连接? 来源: CSDN 作者: 绿叶清风 链接: https://blog.csdn.net/PZ0605/article/details/54382320

python代写,代写python,python编程代写,代写python编程

匿名 (未验证) 提交于 2019-12-02 22:51:30
介绍 我团队3人毕业于 顶尖计算机院校 ,就职于 一线互联网企业 ,熟悉python编程,一切留学作业、online judge均可顺利完成! 除了Python外,C语言、C++、Java、Golang也接。注意:图像处理、多媒体、深度学习相关不接 联系方式 leechanx 声明 绝不抄袭(道德底线)、绝不使用太高级的语法(防神经大条的professor); code comment、答疑都是免费附带的(授人以渔); 不接深度学习、计算机图形学、嵌入式; 部分成交记录截图 来源:51CTO 作者: LeechanXBlog 链接:https://blog.csdn.net/linkedin_38454662/article/details/89441247

Linux嵌入式学习——嵌入式Linux环境搭建

人盡茶涼 提交于 2019-11-30 06:15:50
Linux嵌入式学习——Ubuntu环境搭建 本来昨天想继续写嵌入式笔记的,但是很久没碰的虚拟机崩掉了,各种搜索无果决定重装,环境重新搭建,虽然很简单,但是还是要花点时间的,所以还是记录一下吧。 Vmware 以前一直用的是Virtual Box,后来听说Vmware好用就转了,个人感觉使用体验区别不大,也可能是没有深入使用吧。 VMware-player-15.5.0: https://www.vmware.com/go/getplayer-win 莫名其妙,安装时提示缺少某东东,按提示重启无果,就自己上网下载了一个。 Microsoft Visual C++ 2017 Redistributable: https://social.msdn.microsoft.com/Forums/vstudio/en-US/e653a57a-bc32-4134-87bf-df33058f0531/download-microsoft-visual-c-2017-redistributable 安装后一切顺利。 arm-linux-gcc 一路来到虚拟机Ubuntu,因为没有用百问网官方给的Ubuntu,自己的Linux上面并没有arm-linux-gcc,于是乎开展了一系列的安装卸载追逐战。 来源: https://blog.csdn.net/weixin_36778746/article

韦东山嵌入式学习心得

旧城冷巷雨未停 提交于 2019-11-28 01:47:22
对于只学过51单片机的人来说,刚开始接触嵌入式,感觉非常的不适应,因为它牵扯到操作系统。而且重点在于它的环境搭建就足够让人头痛一段时间。 不过庆幸的是,对于新手遇到的问题韦老师在视频里都有提及。因此,对于一个什么基础都没有的人,韦老师的学前班必须看,因为,我们需要在脑海中搭建起对于嵌入式,对于jz2440这款开发版的一个概念。最开始就算是不能很好的理解它,但你至少要让自己不再惧怕它,我一开始接触的时候,我心里还是有点恐惧的。环境搭建的时候,主机,虚拟机linux,开发版三者ping不通这个问题就让我头疼了不止一个礼拜。更何况,对于初学者而言linux操作系统还是非常陌生的,它虽然类似于Windows,但对于命令的操作还是让人一开始摸不着头脑。 学习时遇到问题常的,重点是在于你解决问题的态度。对于我而言,遇到问题时,百度和谷粉成为了我的心灵支柱,一般的问题在百度上都可以找到。此时我建议每个人最好建一个文本文档,然后把自己遇到的问题都记录在里面,这就相当于一个属于你自己的笔记。这样学习一段时间后,你就会发现,关于linux的基本操作你已经全会了,即使不会或者忘了,你也可以在你的笔记或者百度上找到。 接下来说说如何学习韦老师的视频,我觉得,对于初学者,尤其还未在脑好中建立起嵌入式系统概念的初学者,第一期的视频每一集如有不懂的地方应该反复看

嵌入式学习8--模拟PWM与呼吸灯

谁说胖子不能爱 提交于 2019-11-27 13:02:38
最近看了看PWM,但是我手上的板子4路PWM只接出来2路,还都占用了,没有办法,就想试试软件模拟pwm,本身模拟PWM是比较简单的事,但是在做了以后我又想做做呼吸灯,在呼吸灯上卡了挺久了,不过经过调试,也算勉强实现了 1.PWM概念 其实PWM的概念比较简单,无非就是在固定的周期内,设置高电平占用的时间长短,简单的说一秒一个周期,这个周期的占空比是50%。说明高电平的时间和低电平的时间是一样的,如果控制灯的话,就会看到灯在1S内会亮一次然后灭一次。 虽说PWM的概念很简单,但是要用好想当困难,对我而言是这样,特别是在肉眼可见的情况下,你需要考虑到肉眼每秒能接受多少次动作,所以需要设置PWM的频率,我就是在这个地方卡了很久,待会代码里面会解释。 PWM 用于背光、呼吸灯、舵机等器件之上,大部分PWM的实现是依赖硬件的,通过配置相应的寄存器来达到目的。硬件PWM的精度和稳定性会比软件PWM更稳定,所以在板子上一般会自带PWM。 2.PWM与hrtimer 为了使PWM更精确,所以使用了hetimer来控制,hrtimer可以做到ns级别的控制,相对来说会更加精确 对于hrtimer主要使用的是注册、定时器中断、启动、重置触发时间、注销 注册:hrtimer_init(&pwm_dev->mytimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); 定时器中断