18 caimouse

尚未进行身份认证

网名是caimouse

等级
博文 1k+
排名 26

玩转STM32(12)代码存储空间的选择

前面了解了CPU怎么样拥有跳动的心脏,那么它拥有了开启自动化执行的生命之路。如果学习过CPU原理之类的硬件,就知道CPU在每一个脉冲信号之下,就向前运行一步,像168MHz频率的CPU,运行一步是很短的时间。不过CPU运行的原理是很简单的,可以设想纸带上有一些图案,比如圆、三角形、四边形,当这张纸带经过一个机器时,碰到圆就加一,碰到三角形就减一,碰到四边形就输出当前计数,这样简单的机器就是一个计算...

2019-06-13 17:27:32

玩转STM32(11)CPU的心跳历程

前面说CPU怎么样才有脉搏,也就是给CPU装了一个心脏,这样这个由泥沙组成的CPU才能开始拥有像生命的力量了。在前文后面,提到了使用25MHz晶振作为外部的频率来源,但是我们的目标是让CPU工作在168MHz的频率,这样才可以让CPU工作得更快,运行代码更快,效率更高。当然,如果你想让CPU工作在25MHz也是可以的,只是有点不值得,用这么贵的硬件,运行这么低的频率。要想快,就得提高CPU运行的频...

2019-06-06 18:25:12

玩转STM32(10)CPU的脉搏

前面学习了怎么样下载程序到开发板,并且可以运行起来,看到LED灯轮回地亮灭。你也许很好奇为什么LED会轮流地亮灭,像拥有生命一样,具有周期性地工作。要解决这个问题,我们得学习CPU的脉搏,那么什么是CPU的脉搏呢?其实CPU就是一堆泥沙和一些金属组成的,本身是不具备这种生命的特性,那么它周期性地工作的秘密又是什么呢?其实CPU之所以有这种特性,是因为它靠一个振荡电路来实现,这个振荡电路就是CPU...

2019-06-04 13:49:22

重读《一段关于国产芯片和操作系统的往事》

https://mp.weixin.qq.com/s/w63uRu-yT12Pmt9GYiNDvQ昨天又重新读了《一段关于国产芯片和操作系统的往事》,深入地整理一下国产芯片和操作系统的困难之处,大概有以下几点:1.做CPU最难的不是开发。第一步,你不是写不出INTEL那样的设计,而是你打不起官司。由于目前WINTEL的垄断机制,造了桥之后,不能让人再造同样的桥。因此,只能选择别的架构方案...

2019-05-24 10:09:23

国产CPU和OS,四十不惑

随着时间的推移,中兴事件、华为事件之后,中国在IT领域正面临着一个严重的问题。这个问题就是微软的Windows不能使用,Android不能使用,Intel和ARM的CPU不能使用,公司怎么样生存?之前这个问题,大家认为不可能发生的,或者说发生的机率很低,低到可以忽略不计。但是这两个事件发生之后,彻底地教育了我们每一个人,发生的机率还是很大的,并且随时发生的。如果这次还不能彻底地认识到严重性,危机性...

2019-05-23 09:03:08

当前嵌入式芯片的选择

随着当前环境的变化,国际风云变化,各个厂家都需要考虑自己的芯片选择战略了。面对这种环境,这段时间里为了成本考虑,优先选择欧洲厂家的芯片,比如ST公司。这样更有利于成本的降低,以及降低后期的风险。特别今年将要毕业的学生,更加注意这种选择了。因为毕业之后,进入公司主要使用的芯片必然会发生改变,要放弃美国的芯片公司,否则成本翻很多,让公司的产品没有竞争力,就是公司倒闭的前因啊。另外,也需要加...

2019-05-14 11:47:29

玩转STM32(9)下载程序到Flash

前面介绍了怎么样设置JLink调试器,这样就架起了一座开发电脑与开发板之间的桥梁,有了这个桥梁,就可以把程序下载到STM32的CPU里了。那么样在软件上怎么样操作呢?在说软件怎么样操作之前,先强调一下,硬件要按前面的文章那样连接好,也就是JLink的JTAG接口与开发板的JTAG接口相连接,开发板的电源接好,然后JLink的USB接口接到电脑上,这样就把硬件配置好了。当你插入JLink的USB接口...

2019-04-28 17:01:10

玩转STM32(8)配置JLink调试器

前面已经介绍了怎么样编译项目,生成一个HEX文件,但是这个目标文件还是储存在电脑上,这样你辛苦写出来的代码,还是一个没有什么作用的文件,即使已经把开发语言变成了机器语言,也是无济于事的。那么怎么样才能把这个目标文件搬到STM32的CPU里面呢?这是有很多种方法的,比如采用STM32的烧写器;比如把目标文件发送给ST公司,让生产这个CPU时,直接写入去;在我这里采用开发的模式,就是使用前面介绍的JL...

2019-04-27 13:39:43

玩转STM32(7)第一次编译

前面介绍了认识开发环境,当然你学习上面这些知识还不会进行编译一个项目的,那么你也许会急着想知道下一步怎么办?怎么样才可以把这个项目编译出来,或者烧写到开发板里进行测试。下面就来解决编译这个问题,编译原因在前面已经说过,就是把人类理解的语言转换为机器语言。在Keil的集成开发环境里,界面上主要有四个编译选项,如下图所示:下面来从左到右来介绍这四个编译选项的使用和意义,第一个选项是编译一个文件...

2019-04-26 13:08:04

玩转STM32(6)初识编译环境

前面已经介绍了怎么样找到项目的工程文件,只要双击那个文件就可以打开整个项目工程,进入代码开发调试环境。在很多年以前,开发软件还是很困难的事情,因为那时候编译环境非常不友好,不是图形界面,而是基于文本的界面,并且还不是集成开发环境,是分离的。当你在编辑器里写了代码之后,然后再保存成文件,然后退出编辑器,再来到命令行的环境下面,输入调用编译器的命令,才可以编译源码。如果编译有问题,要先把出错的行号和列...

2019-04-25 17:37:55

玩转STM32(5)找到启动文件

前学习了目录分类的重要性,可以看到分为三个目录,那么你选择哪一个目录点击进入去呢?因为我们要打开项目工程,那么就需要找到开发工具的工程文件,因此就需要打开工程的目录Project,就是这个目录命名的原因。在这个目录下面放置所有与目录相关的文件,当你打开这个目录时,就可以看到目录大体如下:在这里一眼看到最醒目的图标那个就是启动工程文件,只要双击这个文件就可以打开工程了。你也许想问其它文件是做...

2019-03-16 20:42:52

玩转STM32(4)学会目录分类

前面已经知道怎么样来得到第一个嵌入式程序了,如果还没有下载相应的文件,请先要下载。下载完成之后,就可以把压缩文件解压出来,就会看到一个LED_001的目录。不过,仔细一些的人,也许会发现这个压缩包有点大,是的,是有12M大小。接着又会问为什么会这么大呢?像STC89C51的单片机工程很小的,才几K。这个工程这么大,其实是有原因的,是因为这个工程里包括了STM32F4XXX系列所有的功能代码,也就是...

2019-03-15 19:48:57

玩转STM32(3)使用模板工程

前面学习了安装什么样的软件,这时就已经具备开发嵌入式软件的基本条件。只要把前面的开发板电源使用USB的电源线插入5V的电源,然后把JLink的USB插头插入到开发的电脑,硬件就已经连接好了。如下图这样连接起来:在这里一定要注意使用电源供电,而不能使用JLink的供电,因为CPU和外围元件的电压会不稳定,导致调试时,CPU可以下载和运行代码,但外围元件工作不正常的现象。这里都是使用USB接头...

2019-03-14 17:09:10

玩转STM32(2)入门软件的基本条件

前面说了硬件的入门条件,现在就来学习一下软件的入门基本条件。我们知道要想跟外国人打交道,必须学习一门外语,才可以跟他们对话,进行沟通。同理,我们要跟STM32的CPU进行沟通,也需要学会一门外语,这门外语有很多选择,至于选择那一门外语,就在于你自己的喜欢和需要跟那一个国家进行沟通了。在外语方面有英语、德语等等,同样对于CPU来说,也是一样有汇编语言、C语言、C++语言或者Python语言等等。在你...

2019-03-08 17:30:54

如何避免成为码渣?

首先,我们来看一下什么是“码渣”?要理解“码渣”,先要从码农,而要理解码农,又得从什么是”泡茶型公司“来理解。所谓的“泡茶型公司”,大家喝茶时,都是把茶泡一遍或两遍之后就倒掉了茶叶,喝着茶叶的精华。如果一个公司是把员工像茶叶一样,扔到公司里,然后把员工的精华都泡走,等到像茶叶渣一样的时候再扔掉。因此,在泡茶型公司里做码农,再到35岁被扔掉,就是“码渣”。我们每个人晚上躺在床上,...

2019-03-03 15:52:07

玩转STM32(1)入门硬件的基本条件

2019年又快过去两个月了,大批大批的人员又出外寻找工作,大批大批的公司又在网上不断地招人,一个基本的嵌入式工程都能拿到万元的月薪,说明嵌入式开发的市场还在高速地发展,嵌入式的软件市场也在飞速地状大。由于嵌入式软件都是在设备里,相对PC软件来说更容易实现价值,即使软件非常简单,比如万行级别的软件就可以实现很好的功能了,如果这样万行级别的PC软件,很难卖出一个价钱来的,现在PC上的软件都是几十万行,...

2019-03-02 13:30:44

平面(Plane)和四方形(Quad)

平面(Plane)这是一个10个单位长度的正方形平面,坐标是XZ轴平面里,可以使用整个四方形的纹理来贴图。平面常用来表示地面和墙,也可以在GUI用来显示一些图片或者视频,或者一些特别的效果,不过使用quad四方形来做这些事情更加方便、合理。四方形(Quad)四方形跟平面有点像,但它四个边组成,只有两个三角形,平面是两百个三角形组成,因此从效率上来说,四方形比平面更好。比如要在游戏里...

2019-02-20 11:26:14

胶囊体(Capsule)和圆柱体

胶囊体(Capsule)胶囊体是由一个单位长度的圆柱和两个半单位的半球组成。纹理是从两个极点边缘线开始贴图。不过在实际环境里使用这个外形的物体不多见,经常使用它来做碰撞测试,比如一个游戏里人物就可以使用它来代替测试地图里碰撞是否合理,是否会卡住人物出不来。它比使用立方体来测试要好很多,并且更加接近人体的结构。圆柱体这是一个简单的圆柱体,它的直径是一个单位,高是两个单位。它的纹理包括...

2019-02-20 10:32:29

Unity基本物体和临时对象

我们知道unity可以使用任何建模软件构造的3D模型,但是有一些简单的模型,或者临时测试对象,就不必要使用建模软件来构造了,因为那样效率非常低下。比如你正在测试一个算法,只需要一个物体就可以代表一辆汽车在运动了。因此,unity提供了一些基本的模型创建,命名为Cube(立方体),Sphere(球体),Capsule(胶囊体),Cylinder(圆柱体),Plane(平面)和Quad(四方形...

2019-02-20 10:00:10

Unity资源的基本类型

资源的基本类型图片文件Unity支持大多数图片文件类型,比如BMP、TIF、TGA、JPG和PSD。如果你直接保存分层的Photoshop的PSD文件到Assets目录下面,unity会把这些文件当作简单的文件处理,并不会处理透明通道的属性,如果要使用alpha特性,需要使用别的方法进行导入。FBX和模型文件由于unity支持FBX的文件格式,可以从任何3D建模软件导出FBX的格式,这...

2019-02-16 15:47:23
CSDN身份
  • 博客专家
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024超级勋章
    1024超级勋章
    授予原创文章总数达到1024篇的博主,感谢你对CSDN社区的贡献,CSDN与你一起成长。
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周上午根据用户上周的博文发布情况由系统自动颁发。