OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2959|回复: 6

mbedtls在STM32平台加载正常,但是在MTK平台加载有问题

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-5-18
在线时间
2 小时
发表于 2018-5-22 15:33:30 | 显示全部楼层 |阅读模式
5金钱
使用keil5,在STM32F103加载了mbedtls的pack,以及core与startup等文件,编译没有错误,也可以正常运行。
这个mbedtls的功能选择是通过mbedtls_config.h而不是config.h这个文件来define选择,随便打开一个pack里面的C文件,都是没有包含mbedtls_config.h文件,
应该是define了MBEDTLS_CONFIG_FILE 并且这个这个define对应的应该就是<mbedtls_config.h>,但是我没有找到这个定义,在整个工程中都没有找到这个定义,
并且在target中C++的选项中define里面也没有看到这个define。


这个define到底是在哪里定义的?
后来在MTK7697的平台加载mbedtls的pack报错(未加载pack之前编译是没有问题的)

有没有遇到过这样的问题,或者提供一下解决方案的?


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10572
金钱
10572
注册时间
2017-2-18
在线时间
1914 小时
发表于 2018-5-22 15:45:55 | 显示全部楼层
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-5-18
在线时间
2 小时
 楼主| 发表于 2018-5-22 15:46:57 | 显示全部楼层
使用keil5在STM32F103中加载MBEDTLS的pack,以及core与startup等文件是可以通过编译并且是可以使用mbedtls中的加密的。
但是把这个pack加载到MTK7697的工程中直接编译报错(未加载这个pack前没有报错的)。

有一点疑问就是在STM32中使用mbedtls是通过mbedtls_config.h这个文件来define选择功能而不是config.h,随便打开一个mbedtls pack里面的C文件 源文件里面
是没有包含mbedtls-config.h这个头文件的,这个文件是在哪里被包含的?

#if !defined(MBEDTLS_CONFIG_FILE)
#include "mbedtls/config.h"
#else
#include MBEDTLS_CONFIG_FILE
#endif
源代码有一段include信息,我猜想MBEDTLS_CONFIG_FILE应该就是被其中<mbedtls-config.h>的define,但是这个
MBEDTLS_CONFIG_FILE在工程中找不到这个定义(define)。并且在keil中target中C++里面的define里面也没有这个信息的。
这个mbedtls_config.h文件是如果被源文件包含的?

在MTK7687的平台加载MBEDTLS的pack 报错就是这里
E:\Keil_v5\ARM\PACK\ARM\mbedTLS\1.3.0\library\aes.c(31): error:  #13: expected a file name
  #include
BEDTLS_CONFIG_FILE



回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-5-18
在线时间
2 小时
 楼主| 发表于 2018-5-22 16:30:57 | 显示全部楼层
之前搞错了,MBEDTLS_CONFIG_FILE应该就是没有定义的,所以include<config.h>,然后在config.h里面
#ifdef _RTE_
#include "mbedTLS_config.h"
#endif
然后在config.h以及mbedtl_config.h里面有相同的防止重复定义define  
#ifndef MBEDTLS_CONFIG_H
#define MBEDTLS_CONFIG_H
#endif
所以如果在config.h文件里面如果mbedtls_config.h文件被包含则config.h后面的一些define都是无效的
所以config.h文件里面包含了mbedtls_config.h文件的,但是_RTE_这个定义也是没有找到的。

还有在MTK平台里面发现在keil里面target  C++里面有MBEDTLS_CONFIG_FILE这个定义(眼瞎了),所以报错了。
所以现在还剩下一个疑问,_RTE_在哪里定义的?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-6-27
在线时间
4 小时
发表于 2018-6-28 15:15:51 | 显示全部楼层
您好,我也在使用STM32移植MbedTls2.3.0
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2018-6-27
在线时间
4 小时
发表于 2018-6-28 15:17:20 | 显示全部楼层
您好,我在Keil4平台上面使用STM32F103ZET6芯片移植MbedTls2.3.0加密库,我在PC(VS2013平台)上面移植发现数据加密与解密都正常。但是当移植到STM32上面发现数据加密与解密都不正常。能不能交流一下,扣扣:1761635834
回复

使用道具 举报

13

主题

83

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2017-8-7
在线时间
40 小时
发表于 2018-11-15 14:08:16 | 显示全部楼层
静心待你 发表于 2018-5-22 16:30
**** 作者被禁止或删除 内容自动屏蔽 ****

有移植成功吗,可以发下代码?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 19:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表