- 2021-02-01
-
回复了主题帖:
【RPi PICO】 圆周率计算测试
这种能跑dhystone类似的跑分么
- 2021-01-28
-
回复了主题帖:
【树莓派Pico测评】- 开始编译程序2
厉害厉害 这种编译都好麻烦啊 还是希望来个傻瓜式的一键
-
回复了主题帖:
小小的104电容,我们搞了2天
电容是加在哪里的电容呢??
- 2021-01-26
-
回复了主题帖:
出手NI任意波形板卡和正版烧录器
这是一个好东西啊
- 2021-01-11
-
回复了主题帖:
下一步怎么处理?
万能的重启 加近一点试试看
- 2020-12-18
-
回复了主题帖:
天啊,现在MUC也太缺货了吧
guanggao广告贴
- 2020-12-04
-
回复了主题帖:
论坛小程序上线!扫码解锁逛坛新姿势啦!!
扫一个 试试看
- 2020-11-27
-
回复了主题帖:
管管又从乐鑫那边申请到好玩的板子拉~~有小伙伴想玩的吗??快进贴一探究竟哦~~
应该是LED+音箱
- 2020-10-25
-
发表了主题帖:
【AT-START-F403A测评】第5篇 F403A 复用和重映射
今天还有点无聊,陪玩娃上课回来,就无意间想看看这个重映射,最近正好在搞意法半导体的M0和M3的复用和重映射部分,正好看下雅特力的
STM32上有很多I/O口,也有很多的内置外设I2C,ADC,ISP,USART等,为了节省引出管脚,这些内置外设基本上是与I/O口共用管脚的,也就是I/O管脚的复用功能。但是STM32还有一特别之处就是:很多复用内置的外设的I/O引脚可以通过重映射功能,从不同的I/O管脚引出,即复用功能的引脚是可通过程序改变的。
我们来看下雅特力的
就拿JTAG举例子吧
作为普通IO口需要重映射
GPIO_PinsRemapConfig(GPIO_Remap_SWJ_AllDisable, ENABLE);
还需要配置下GPIO
GPIO_InitType GPIO_InitStructure;
/* Configure PA.13 (JTMS/SWDAT), PA.14 (JTCK/SWCLK) and PA.15 (JTDI) as
output push-pull */
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_13 | GPIO_Pins_14 | GPIO_Pins_15;
GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
细细来看 雅特力M4的重映射与ST的M3完全相同
下图为意法半导体M3的
从上图可以看出,所有的重映射是针对功能,比如针对定时器1的没有重映射、部分重映射、完全重映射进行,选择好了之后管脚就固定了,不能针对某个固定引脚随意的分配。
不知道为啥M3和M0的方式不太一样
M0翻看手册都是复用,但是这个复用怎么有感觉和重映射差不多,
我有点晕头转向了
看一下M0的配置代码
GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_0);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
M0是针对每个管脚进行,所有管脚独立。所以你可以针对不同的管脚随意配置功能
- 2020-10-21
-
发表了主题帖:
【AT-START-F403A测评】第4篇 F403A 内部FLASH参数比较及测试
本帖最后由 常见泽1 于 2020-10-21 15:52 编辑
FLASH闪存测试
AT这款芯片的闪存,看手册里高达1024K的内存,共使用了两片闪存,前512KB容量在第一片闪存(BanK1)中,其余容量在Bank2中。
一页是2KB
介绍完之后我们直接跳到存储器特性测试
在很多应用中对擦除和写的时间是有要求的,我们大概看一下ST M3和M4的存储器特性
103RC的
可以看出来103的擦除时间和电流都是比较小的
407的
407的擦除时间略长一些 128K擦除最快擦除时间也要1S,按照512K算也就要4S左右,比雅特力的慢了不少。擦除电流方面雅特力则完全处于劣势,72MHZ下竟然要好几十ma
写的电流雅特力的也偏大
下面我们就来测试一下吧
FLASH_Write(TEST_FLASH_ADDRESS_START,BufferWrite,TEST_BUFEER_SIZE); //Write data to flash
FLASH_Unlock();
GPIOD->BSRE=bat[0];
FLASH_EraseBank2AllPages();
// FLASH_ErasePage(TEST_FLASH_ADDRESS_START);//擦除这个扇区
// /* if the previous process is completed, continue to erase the page */
// FLASH->CTRL |= CTRL_PGERS_Set;
// FLASH->ADDR = TEST_FLASH_ADDRESS_START;
// FLASH->CTRL |= CTRL_STRT_Set;
/* Wait for last process to be completed */
FLASH_WaitForBank2Process(ERS_TIMEOUT);
///FLASH_EraseBank2AllPages();
/* Disable the PGERS Bit */
//FLASH->CTRL2 &= CTRL_PGERS_Rst;
GPIOD->BRE=GPIO_Pins_13;
首先我们来擦除一页看看时间,擦除前拉高IO,擦除后拉低IO,粗略计算大约35ms左右,手册里标注的为50ms
其次我们来看擦除整个一个BANK的时间,这个区块的擦除时间再1.396s,手册里标注AVG着一款是每个区块1.4S基本符合
最后我们来测试下擦除的电流,因为很快所以得抓好这个擦除的点
手册里标注擦除的时候在240MHZ下为57.4ma,我这边测试在240MHZ下大约在52ma左右,基本符合
总结:
AT403A芯片的FLASH存储擦除时间和电流基本与手册中完全一致,手册里的值基本正确
407的擦除时间略长一些 128K擦除最快擦除时间也要1S,按照512K算也就要4S左右,比雅特力的慢了不少。擦除电流方面雅特力则完全处于劣势,72MHZ下竟然要好几十ma
-
回复了主题帖:
【AT-START-F403A测评】三、移植RTX操作系统
学习了 回头也移植一个试试看
- 2020-10-17
-
发表了主题帖:
【AT-START-F403A测评】第3篇 F403A STOP模式电流测试
本帖最后由 常见泽1 于 2020-10-17 00:58 编辑
32位MCU基本都是有低功耗模式,不管是休眠模式、停止模式还是待机模式,基本都是会有的。
STOP模式简单介绍,深度睡眠模式基础上结合了外设的时钟控制机制,而在停止模式下一般会分为调压器运行或者低功耗的模式。此时在1.2V供电区域的所有时钟全部停止,systick除外,PLL HIS和HSE RC功能都被禁止,SRAM和寄存器内容保存下来。
在停止模式下,所有IO口维持他们在运行时的状态。
个人还是比较关注一些芯片的性能,一般情况我都会看各个IO口的电压参数、以及运行睡眠等电流参数。无意间翻看手册,看到AT的32单片机的stop参数
这M4的STOP电流也太大了,平时一般用M3比较多,一般也就几个UA-20几个Ua,这个也太夸张了,赶紧去翻ST M4的参数
看来M4的内核是电流会大一点,几百个ua
准备实测一下M4的STOP电流
RCC_APB1PeriphClockCmd(RCC_APB1PERIPH_PWR , ENABLE); ///<Enable PWR and BKP clock
PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);///Request to enter STOP mode with regulator in low power mod
但是开发板上面会有一些LDO直接接是没法测试的,
把R13 OR电阻去掉,直接给VDD供电,另外把U1芯片焊掉
测出来电流远远大于1.4ma,达到3Ma以上
有点不对,比手册里大了很多啊,继续看手册
IO口没有配置
void gpio_set()
{
GPIO_StructInit(&GPIO_InitStructure);
RCC_APB2PeriphClockCmd( RCC_APB2PERIPH_GPIOA|RCC_APB2PERIPH_GPIOB|RCC_APB2PERIPH_GPIOC|RCC_APB2PERIPH_GPIOD|RCC_APB2PERIPH_GPIOE, ENABLE );
/*Configure the LED pin as ouput push-pull*/
GPIO_StructInit(&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_ANALOG
GPIO_Init(GPIOA, &GPIO_InitStructure)
/*Configure the LED pin as ouput push-pull*/
GPIO_StructInit(&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_ANALOG;
GPIO_Init(GPIOB, &GPIO_InitStructure)
/*Configure the LED pin as ouput push-pull*/
GPIO_StructInit(&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_ANALOG
GPIO_Init(GPIOC, &GPIO_InitStructure);
/*Configure the LED pin as ouput push-pull*/
GPIO_StructInit(&GPIO_InitStructure)
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_ANALOG;
GPIO_Init(GPIOD, &GPIO_InitStructure);
/*Configure the LED pin as ouput push-pull*/
GPIO_StructInit(&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_ANALOG;
GPIO_Init(GPIOE, &GPIO_InitStructure);
// GPIO_StructInit(&GPIO_InitStructure);
// GPIO_InitStructure.GPIO_Pins = GPIO_Pins_13|GPIO_Pins_14|GPIO_Pins_15;
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT_PP;
//
// GPIO_Init(GPIOD, &GPIO_InitStructure);
}
RCC->AHBEN = 0
RCC->APB1EN = 0;
RCC->APB2EN = 0;
测试电流 2m
- 2020-10-12
-
回复了主题帖:
颁奖:助力雅特力,说说你与雅特力的故事
个人信息正确 感谢EE
- 2020-10-09
-
发表了主题帖:
【AT-START-F403A测评】第2篇 F403波形输出测试及最大频率测试
时钟波形输出测试
和STM32一样,具有MCO功能STM32的PA.8引脚具有复用功能——时钟输出(MCO), 该功能能将STM32内部的时钟通过PA.8输出.
AT可供MCO输出的波形如下:
执行代码:
void MCO_config(void)
{
GPIO_InitType GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2PERIPH_GPIOA,ENABLE);
GPIO_StructInit(&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pins = GPIO_Pins_8;
GPIO_InitStructure.GPIO_MaxSpeed = GPIO_MaxSpeed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
RCC_CLKOUTConfig(RCC_CLKOUT_SYSCLK, RCC_MCOPRE_1);
}
通过更改参数来更改输出波形
1.系统时钟输出
配置系统时钟30倍频,输出位30*8=240MHz
手册里标注最大240MHZ,我们来测试下最大能跑多少MHZ
改成34倍频 =34*8=272MHZ
改成35倍频 35*8=280MHZ
改成36倍频 =288MHZ
改成37倍频 = 296MHZ 发现波形频率不对了
2.HIS时钟输出
内部时钟8MHZ波形输出
其实AT内部是48M HIS RC
3.LSI时钟输出
看手册里
典型值是40KHZ,ST的类似的我测试过,大概都是40KHZ左右,偏差不是很大,AT的LSI偏差还是有点大的,采用内部时钟RTC应该不会很准
4.PLL时钟输出 PLL/4分频
-
回复了主题帖:
【AT-START-F403A测评】第一篇 认识雅特力及开发环境搭建
damiaa 发表于 2020-9-26 22:58
驱动AT-Link_V1.2.20.zip 安装后
插上有反应
一直安装不成功1.3.7 我换你这个版本看看
- 2020-09-26
-
回复了主题帖:
【AT-START-F403A测评】第一篇 认识雅特力及开发环境搭建
littleshrimp 发表于 2020-9-25 11:39
AT-LINK问题,插上USB设备管理器里有反应没?
这种DAP 应该没有什么反应吧?
- 2020-09-24
-
发表了主题帖:
【AT-START-F403A测评】第一篇 认识雅特力及开发环境搭建
本帖最后由 常见泽1 于 2020-9-24 21:37 编辑
很久之前就知道雅特力,但是一直也没有细细去了解雅特力。
想找点资料,开发板原理图用户手册我发现EEWORLD都木有,于是只能去找雅特力官网了。
先不管吹不吹牛,了解下。
雅特力资料导引还是比较容易找到的
通过对应型号很快找到相应的资料
虽然雅特力的官网完全是抄袭的外国友商的模式,
但是相对于很多国产MCU资料都找不到的
雅特力真的算很不错的了
给雅特力点赞
下载了一些资料后,我开始连接硬件
按照正常步骤我应该到这一步
但是试了插拔好多次 换电脑,始终找不到内核,也识别不了DAP,很奇怪
电都有了 就是无法识别
不知道是ATLINK固件没烧还是咋回事
只能无奈的掏出了JLINK,找到TMS TCK GND接上
于是乎找到了内核
然后还要选下烧录的算法,但是用户手册里又没说烧哪一个,看起来应该是第一个,先选择第一个
然后随便搞了一个程序,点击下载 运行OK
- 2020-09-15
-
回复了主题帖:
【测评入选名单】雅特力AT-START-F403A开发板免费测评试用
有FREE蜀黍和RC在前面 我压力山大 我自卑
- 2020-09-05
-
回复了主题帖:
约饭啦!9月8日晚EEWorld深圳聚餐来不来?
都有谁啊 都有谁啊 都有谁啊
-
回复了主题帖:
投票选出你最爱的TI培训课程活动喊你来抽奖啦!
每次抽奖都是谢谢参与 看来大家中奖率不高啊