问答

汇集网友智慧,解决技术难题

21ic问答首页 - AT32F407VGT7芯片能识别和下载,但复位无任何反应.

编译 keil STM ST AT32F407VGT7 芯片

AT32F407VGT7芯片能识别和下载,但复位无任何反应.

zhjb12023-03-03
大家好!
就近做一些用国产代替STM同类芯片的测试,第一款就来个下马威,问题如下:
1.用JLINK可以识别和连接芯片,测试速度也支持,但无法下程序,一写就报错自动断开.
2.在keil中可以编译改过来的代码,可以用ST-LINK或JTAG识别,下载校验都正常,但无法运行-----按重启键无反应.
是芯片的问题吗?但可以识别(用AT型号或STM对应型号都通过)?
如果芯片没有问题,那么我的操作哪里有问题?
开发平台:
64位win7旗舰版,KEIL5.25
工程是STM32移植过来的,将内容减到只剩配置GPIO和驱动两颗LCD闪烁都没有任何动静.
强调一下,编译,下载,校验都正常!!!
先谢谢了.
回答 +关注 16
7325人浏览 27人回答问题 分享 举报
27 个回答
  • 请问你外挂的晶振是8M吗?
    AT32 BSP的案例是基于AT START 电路8M外部晶振的。
  • 最后总结一下:
    主因是BSP工程2.1.4版(包括以前下载的老版本)的时钟函数有问题,我采用的方法:
    1.先将远工程中的main.c拷贝出来;
    2.用厂家提供的时钟生成程序在此工程中生成新的时钟设置
    3.打开新的工程,用老的main.c,但里面的时钟用新生成的就OK了.
    注意:有的新生成的工程覆盖老的同名函数时,需要用原工程函数选择恢复过来!!!
  • 我好像有测试过407,运行正常
  • 本帖最后由 zhjb1 于 2023-3-5 20:36 编辑

    还是忽略了一些细节,最终解决了.
    问题是BSP自带的延时函数delay_ms()和delay_us()两个都没有运行,采样断点跟踪才发现,代码停留在延时函数,自己写了一个延时函数,led就闪了起来,将器件换回VGT7,一切ok.回头找找这两个函数为什么**?!
    以后就可以开始测试了
    谢谢老师朋友们!
  • 本帖最后由 zhjb1 于 2023-3-5 15:12 编辑

    现在结果好点:用BSP2.1.4的io工程,将他的LEDx的口改成我的板子上的PC1,11,12,运行他的GPIO初始化,三个等都亮了,但程序不进入循环.
    采用晶振的时钟控制,或内部RC振荡器,结果依旧.但有进步的是LED亮了------主函数初始化管用,以后的关断,循环都没有动作,可以理解为没有进入while(1)中.实际上在主函数中初始化LED后,运行关断led都无效.
    哪位老师能解答一下,谢谢
  • 现在结果好点:用BSP2.1.4的io工程,将他的LEDx的口改成我的板子上的PC1,11,12,运行他的GPIO初始化,三个等都亮了,但程序不进入循环.
    采用晶振的时钟控制,或内部RC振荡器,结果依旧.但有进步的是LED亮了------主函数初始化管用,以后的关断,循环都没有动作,可以理解为没有进入while(1)中.
    哪位老师能解答一下,谢谢
  • 谢谢各位老师好友!
    测试了所有下载的BSP和Sxx32F4xx的工程都不行,只有且仅仅将芯片设定为sxx32F103VET6(居然DG同型号也可以)的512Flash可以完成GPIO的LED闪烁或较复杂的LCD驱显等,一旦换成其他的,比如Sxx32F103VGT6或AT32F4xx的任意或DG32F4xx都不行.在Keil下都一样,用mbed结果同样.
    示波器看晶振引脚没有波形,GPIO处于低电平.
    PCB几乎与厂家提供的案例相近,作为测试用PCB除了将FSMC和一路串口引到LCD控制外,PC11,PC12作为测试LED.
    没有招了,歇菜,明天咨询官方看有什么解决方案,再次谢谢各位.
  • sagade 谢谢您!
    以前下载的版本可能老了点,今天下载了2.1.4这个试试.keil的pack已经安装了.
    昨晚测试的结果:jinjin Sxx103VET6的工程可以运行,结果串口打出的全是乱码-----可能是主頻升高了,波特率设置照旧.源代码是测试LCD的,有些LCD已经奔溃啦,有些显示正常,可以区分出LCD的芯片速度.
    再次感谢.

  • 这个MDK5的PACK也要安装一下
123下一页

您需要登录后才可以回复 登录 | 注册