本帖最后由 数码小叶 于 2020-3-31 08:50 编辑
NUCLEO-L552ZE-Q板真的超出我的想象,远远不像之前的nucleo板那样顺利上手。本来以为环境都搭建好了,结果原来各种错了。
本来是要调FMC驱动nand flash的,为了调试方便,想先在程序里实现printf,却报错
../Src/main.c(76): error: '#pragma import' is an ARM Compiler 5 extension, and is not supported by ARM Compiler 6 [-Warmcc-pragma-import]
打开设置,看下参数
确实是不支持5版编译器了,芯片果然是太新了。。。
好吧,换个方式。
#ifdef __GNUC__
/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printf
set to 'Yes') calls __io_putchar() */
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/**
* [url=home.php?mod=space&uid=247401]@brief[/url] Retargets the C library printf function to the USART.
* @param None
* @retval None
*/
PUTCHAR_PROTOTYPE
{
/* Place your implementation of fputc here */
/* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */
HAL_UART_Transmit(&hlpuart1, (uint8_t *)&ch, 1, 0xFFFF);
return ch;
}
编译通过,程序依旧没有任何反应。。。这就bug了吧!!都是在F4通过的程序,L5系列差距这么大么,一顿啃例程和参考手册无果。
printf无果,那就硬件仿真调试一下,结果发现程序卡着不走
打开设置一看,调试器里居然什么都没,空白的。
空白的居然还可以下载程序!!!!,而且也确实一直提示下载成功。点开下拉,ST_LINK居然还没有。
F4一直没问题,莫非keil版本也过低??但是编译下载都没问题,好吧,升到5.28看看。
STLINK是又出现了,不过硬件仿真问题依旧。
并且又出现两个新问题
一是同时打开两个keil界面,在一个界面下载过程序后,了,另一个keil页面就不能直接下载程序了
必须断电,重新插拔一次,才可以下载程序。
二是板子连接上串口助手后,不能断开,否则就无法再次连接上串口助手
试了几个串口助手,都是有这个问题,NUCLEO-L552ZE-Q这块板子果然不一般,想办法解决吧
|