怎么在ubuntu下开发stm32

怎么在ubuntu下开发stm32,第1张

环境:

ubuntu 13.10

stm32f103zet6

一、STM 32 GCC 安装

stm32 属于arm cortex-m系列thumb指令集,所以给arm用的arm-none-eabi就可以了,首先是下载

下载地址:

https://launchpad.net/gcc-arm-embedded/+download

下载其中的gcc-arm-none-eabi-version-linux.tar.bz2

解压到目录会产生gcc-arm-none-eabi的文件夹

把该编译器添加到用户的环境中:

在最后一行添加:

因为之前有添加过树莓派的编译器了,所以实际上是这样的:

两个编译器环境中间用冒号隔开

注销后测试:

可以查看到该编译器的版本,就表示可以了。

二、工程环境的建立

新建个工程文件夹及其目录

下载安装官方库:

1、stm32的寄存器不像51 avr等单片机那么少,自己写写库,背背寄存器就可以了,所以ST公司提供了官方的库。为了避免重复造轮子,就直接采用其库,库版本为STM32_USB-FS-Device_Lib_V4.0.0,这个库多了usb支持,下载的话到st官网搜索stm32f10x就有了。

2、解压把解压好的文件夹复制到刚才新建的libs里面.

3、在工程根目录下新建Makefile.common文件,这个为通用makefile。

编译库文件:

进入libs文件夹,新建Makefile:

编译该库:

就会在lib目录下生成libstm32.a,这个就是编译好的静态库了。

建立工程编译ld文件

这个ld文件,为在编译时告诉编译器把代码放到什么地址,根据芯片的内存以及flash容量不同有所调整。

在工程根目录下新建linker.ld文件

根据芯片型号不同,选择相应的RAM FLASH大小。

在工程根目录下新建Makefile文件:

在src里面添加测试源码,主要是startup.c 以及main.c。

然后进入工程主目录下make就好了。

由于最近Bash爆发了一个严重的漏洞,故此影响了市面上几乎所有的Linux系统。处于安全的角度考虑客户要求为每一个受影响的主机都进行漏洞修补。由于公司使用的是红帽系统故此安全也同样受到影响。

(题外话:红帽的补丁需要收费才能下载,作为穷人我表示无奈,问了一下公司也表示没有购买红帽的服务,红帽的服务一般是按着CPU颗数算的,好像是两颗为一组,一组服务(红帽的人管服务叫订阅)5×8服务价格为799美元,7×24的价格为1299美元。)

有漏洞的服务器执行以下命令会有"vulnerable"和"this is a test"的信息提示,如图:

如果没有漏洞或者漏洞已修补则只提示"this is a test"。

由于公司没有购买红帽服务故此从第三方渠道获得了补丁。(花了我好多积分,肉疼)

设计到的服务器有两种,一种是Red Hat Enterprise Linux Server release 5系统是32为的,系统上的bash为bash-3.2-24.el5。

拿到的补丁文件有bash-3.2-33.el5_11.4.i386.rpm这个文件是适合我这个版本使用。

上传到服务器上,开始安装。

顺利安装完成,再次执行测试语句得知漏洞已修补。

另一种为Red Hat Enterprise Linux Server release 6也是32位的,bash的版本为bash-4.1.2-8.el6.i686。这台比较麻烦得到的补丁包为bash-4.1.2-15.el6_5.2.src.rpm。一般来讲这种src的包都是为编译的,需要编译之后生成正常的rpm来进行安装。突然脑子抽筋了直接进行了安装,结果就报错了,如图:

后来想起来未编译的src的包需要进行编译然后才能生成正常的rpm包。

把src的包上传到服务器上,然后如下命令进行编译:

rpmbuild --rebuildbash-4.1.2-15.el6_5.2.src.rpm编译之后看提示在/root/rpmbuild/RPMS/i686/目录下生成了若干个包。

进入/root/rpmbuild/RPMS/i686/在下面找到bash-4.1.2-15.el6.2.i686.rpm这个包进行安装,再次测试漏洞已修复完成,如图:

剩下的就是还剩了几台红帽6的服务器,拿着这个编译好的包,到各个服务器上安装即可。到此为止宣布修复完成。

有需要红帽5和6补丁包的朋友我在这里提供了下载地址,32和64位的都在这里,上传Linux公社1号FTP服务器中了,请需要的朋友可以下载并参考以上步骤安装即可。

------------------------------------------分割线------------------------------------------

FTP地址:ftp://ftp1.linuxidc.com

用户名:ftp1.linuxidc.com

密码:www.linuxidc.com

www.jy18.cn

在 2014年LinuxIDC.com\10月\Bash漏洞最新补丁安装教程【附下载】

下载方法见 http://www.linuxidc.com/Linux/2013-10/91140.htm

------------------------------------------分割线------------------------------------------

Gitlab-shell 受 Bash CVE-2014-6271 漏洞影响 http://www.linuxidc.com/Linux/2014-09/107181.htm

Linux再曝安全漏洞Bash 比心脏出血还严重 http://www.linuxidc.com/Linux/2014-09/107176.htm

解决办法是升级 Bash,请参考这篇文章。http://www.linuxidc.com/Linux/2014-09/107182.htm

Linux Bash安全漏洞修复 http://www.linuxidc.com/Linux/2014-10/107609.htm

更多RedHat相关信息见RedHat 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=10

本文永久更新链接地址:http://www.linuxidc.com/Linux/2014-10/107851.htm

一:获取cacerts.bks文件到你的计算机中,可使用Android模式器,也可USB连接你的手机。>adb pull /system/etc/security/cacerts.bks cacerts.bks二:在PC上安装Java环境,然后下载这个文件 bcprov-jdk16-141.jar,放入java安装目录下的/lib/ext/目录中。bcprov-jdk16-141.jar到Linux公社的1号FTP服务器里,下载地址:FTP地址:www.linuxidc.com" target="_blank">ftp://www.linuxidc.com 用户名:www.linuxidc.com密码:www.muu.cc在 2011年LinuxIDC.com\5月\Android(cacerts.bks)添加根证书下载方法见 http://www.linuxidc.net/thread-1187-1-1.html将第一步中取得的cacerts.bks与你要添加的CA证书放在同一级目录下,CA证书为crt或cer格式。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/6150950.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存