各位大神,看看有没有解决的办法:
问题描述:
在使用keil mdk 5.22, 单片机是 : stm32f217VG. 仿真器:st-link v2.
调试C++ 工程 代码时候,如果调用std 的map库,在进行map类型 变量定义后,
编译和烧录都没有问题。
但是仿真时候就会卡在 “BEAB BKPT 0xab” (好像是所谓的semihost ),直接烧录也跑不起来。
附上源代码: 请参考,估计大家用407的应该也会出现。
到底 keil mdk 能否使用 std:: map 呢? 是否为 std::map 分配堆栈时候出现问题呢,不太明白std 的细节了。
我在ubuntu 下测试这个 std::map是可以的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
发现是可以跑的,能够正确的打印 串口发送信息。
里面有个retarget.c ,可能是来解决这个 std库调用底层的问题。 后面研究了在发上来。
/*----------------------------------------------------------------------------
* Name: Retarget.c
* Purpose: 'Retarget' layer for target-dependent low level functions
* Note(s):
*----------------------------------------------------------------------------
* This file is part of the uVision/ARM development tools.
* This software may only be used under the terms of a valid, current,
* end user licence from KEIL for a compatible version of KEIL software
* development tools. Nothing else gives you the right to use this software.
*
* This software is supplied "AS IS" without warranties of any kind.
*
* Copyright (c) 2012 Keil - An ARM Company. All rights reserved.
*----------------------------------------------------------------------------*/
一周热门 更多>