STM32算法库含使用说明下载

AI100_小助手 2018-03-23 03:28:10
STM32官方算法库包括AES128、AES192、AES256、DES(ECB、CBC)、HASH(MD5、SHA-1、SHA-256)、RSA、ECC。
适用于STM32F0、F1、F2、F4、L0
相关下载链接://download.csdn.net/download/fly_725/10304518?utm_source=bbsseo
...全文
74 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
## 目录 * [项目简介](#项目简介) * [业务代码文件结构](#业务代码文件结构) * [代码框架示意图](#代码框架示意图) * [代码功能添加](#代码编写) --- ## 项目简介 该项目是在 STM32 平台上运行 rt-thread 的一个四旋翼无人机系统,采用模块化的设计方法设计。将整个无人机系统细分为姿态解算、debug 调试、姿态控制、远程遥控四个模块(目前只实现了前三个,远程遥控还没写捏 0.0 ),每一个模块之间的通信采用间接引用的方式。代码风格与 Linux 内核代码风格类似,与 Robomaster 官方步兵代码风格雷同。 配套硬件: ## 业务代码文件结构 \---application \---inc | ahrs_task.h | arm_math.h | blue_tooth_debug_task.h | control_task.h | filter_lib.h | includes.h | pid_algorithm.h | remote_ctr_task.h | \---src | main.c | pid_algorithm.c | \---thread_task ahrs_task.c blue_tooth_debug_task.c control_task.c filter_lib.c remote_ctr_task.c * ahrs_task.c/h :是姿态解算模块的实现。 * blue_tooth_debug_task.c/h :是无人机模块的蓝牙调试和遥控模块 * control_task.c/h:是无人机控制姿态模块的实现 * fliter_lib.c/h:是无人机滤波算法库 * remote_ctr_task.c/h:是无人机远程遥控模块 * pid_algorithm.c/h:是无人机PID控制算法的实现 > 注: 每个模块之间通信是通过 get_xxx_handler_point() 函数返回模块的句柄实现 ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
选型关键: 1. 基本资源(SDRAM,接口,速度)对于完成课题是否够用 2. 系统稳定性(内部晶振是否稳定,要加外部晶振,又会稳定吗?)和是否方便上手(我 们是否有相关软件及模块子程序) 3. IO口等中断及接口外设是否充足 近几年提倡低功耗,所以是要在这个方面下点功夫。我想应该从以下几个方面去考虑这 个问题: 1. 基本资源是否够用?很多学生都很熟悉AT89S系列单片机,常用、比较容易买到的是AT8 9S51/AT89S52,但是这个两个型号的单片机RAM偏少,只有128/256字节(一般不建议在单片 机外部扩展内存,因为其连线太多,外部RAM存取速度也会慢些)。如果在比赛中需要建立 大一点的数组,可能就会受到限制,而比赛期间时间比较紧张,很难写出效率高、占用内存 少的代码,如果遇到RAM溢出,那将是很大的麻烦。而且这两个型号的单片机其他硬件资源 也比较少,只有串口和IO口。如要连接EEPROM则需要通过软件来模拟IIC或SPI总线,速度 慢。而且不带内部AD(有些地方对AD的速度要求不高可以用单片机内部的AD(比如小车上 的AD),因为连线方便),同时还不支持硬件仿真(只能用别的单片机来仿,仿真时占用串口 和一个定时器)。 2. 性能怎么样?这是一个很实际的问题。我们参加电子设计大赛的作品都是由手工焊接出 来的,很多地方就是用线连在万能焊接板上,如果性能不可靠将会出现晶振不起振,数据线 长了传送的数据就不对,而且容易被静电打坏,这些都将直接影响你的比赛进度,有些单片 机速度慢,数据处理能力差,也会影响到赛场的发挥.而且有些地方还需要考虑单片机的功 耗等 3. 开发流程与平台是否简单、容易上手?很多学生学的是51单片机,觉得它速度慢、资源少 ,于是决定在比赛前重新学一款新的控制器,但是有个问题你要首先要考虑:开发平台要 简单,参考资源要多,能否在短期内掌握内部资源的操作.开发工具是否昂贵,比如dsp的开 发工具一般都比较贵,因而很少有学生使用DSP来做开发,而且DSP本身参考资料不是很多 . 经过以上比较,我推荐以下几种CPU并作相关说明: 1. LPC2138 这个CPU比较贵,但是为了比赛准备两片也是值得的,他的RAM很大,比如你做2007年的A题 (音频信号分析仪)就非常需要这个芯片,32K的RAM,带有AD,该题的要求是20Hz的分辨率 ,5S的分析时间,只要多采点数据,做到10Hz的分辨率都没有问题,但是很多学生就是因 为选用了常见的51,M16(网上有这个单片机的FFT代码,但是点数很少,而且是汇编代码 的,很多学生改起来比较困难)等单片机,这些单片机自带的RAM不够,51单片机没有硬件 乘法器。有部分学生用51单片机做,外扩了RAM、AD,还挂了个LCD,连线复杂,可靠性很低 ,到了测试的时候很可能会出现意外(这里要友情提醒一下,你们的比赛作品在上交的时候 ,装到盒子中时一定要垫上一定的海绵,泡沫或者碎纸,以免运输过程中损坏),比如启动不 了了。而选择LPC2138的话 ,它本身自带AD,带大容量的RAM,这样,只要在外部接模拟调理电路和LCD就可以搞定硬件 了,其他就是软件编程,处理速度不需要担心,你可以使用60M的主频,带硬件乘法器。 大容量的RAM和FLASH对于需要移植操作系统和GUI的作品更是适用。该芯片可以用KEIL( 你们应该很熟悉了)开发,用USB接口的调试工具,支持硬件仿真,开发工具便宜(推荐使 用智林的ULINK或者Jlink)。比赛前需要做好最小系统的板子。 2. STM32F103RB 他的好处与LPC2138差不多,但是资料更多些,而且提供了一些算法库(FFT,PID),这个算法 库是很有用的,因为让你用汇编去写这个是不现实的,自己用C语言写的效率也很低,有了 这些你就可以直接调用了,而且STM32F103是Ctecx- M3的内核,速度会比ARM7快,效率也有所提高.带实时时钟、串口、SPI接口、IIC接口、A D等常用外设.但寄存器设置会比LPC2138麻烦点.,其开发工具类型很多(推荐使用智林 的ULINK或者Jlink),一般价格都比较便宜。比赛前也需要做好最小系统的板子。 3. ATMEGA32单片机,在AVR单片机里这个单片机资源适中,2K的RAM,做一般的题目应该是 够的,32K的FLASH也足够了,一般比赛过程中是写不了那么大的代码的,除非之前移植 好了操作系统、GUI等东西在里面。其资源要比普通51单片机多很多,自带的AD,在非高 速数据采集类的题目中一般是够用了,很多业余爱好者很喜欢用AVR单片机,其开发工具 可以自己制作或者购买,仿真器会贵一点。AVR的型号很多,但是只要稍作修改就可以通 用,相关网站和资料很多,自学起来应该比较方便。 4. 有些学生接触单片机比

12,791

社区成员

发帖
与我相关
我的任务
社区描述
CSDN 下载资源悬赏专区
其他 技术论坛(原bbs)
社区管理员
  • 下载资源悬赏专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧