1、对全局变量的初始化。

2、还没发现的事例。

/*************************************************/

先上连接文件sct

LR_ROM1 0x30000000 0x00010000  {    ; load region size_region
ER_ROM1 0x30000000 0x00010000 { ; load address = execution address
*.o (RESET, +First)
*(InRoot$$Sections)
.ANY (+RO)
}
RW_RAM1 0x30010000 0x02000000 { ; RW data
.ANY (+RW +ZI)
}
RW_IRAM1 0x40000000 0x00001000 {
.ANY (+RW +ZI)
}
}

1、对全局变量的初始化 。

本身MDK对已初始化的全局变量的初始化就不对。

没法用。

代码:

int gr_a =  ;
int gr_b ;
int const gr_c = ;
static int gr_s = ;
void variable_test()
{
Uart_Printf( "int gr_a = 1 ; gr_a = %d\n", gr_a);
Uart_Printf( "int gr_b ; gr_b = %d\n", gr_a);
Uart_Printf( "int const gr_c; gr_c = %d\n", gr_c);
Uart_Printf( "static int gr_s; gr_s = %d\n", gr_s); Uart_Printf( "&gr_a = %08x\n", &gr_a);
Uart_Printf( "&gr_b = %08x\n", &gr_b);
Uart_Printf( "&gr_c = %08x\n", &gr_c);
Uart_Printf( "&gr_s = %08x\n", &gr_s);
}

jlink运行时现象:没有将代码中已初始化的变量正确地赋值。

int gr_a = 1 ; gr_a = 0
int gr_b ; gr_b = 0
int const gr_c; gr_c = 11
static int gr_s; gr_s = 0
&gr_a = 30010038
&gr_b = 30010064
&gr_c = 30009244 //.ro
&gr_s = 3001003c

烧写运行时现象:代码中未初始化、已初始化的全局和静态变量都被设为 ~0 .

int gr_a = 1 ; gr_a = -1
int gr_b ; gr_b = -1 ;init.s的代码中有对bss段清零的操作,在汇编代码中用led调试发现,我的clear bss的代码是已经运行了的。 猜测全局变量完全被编译器玩坏了。
int const gr_c; gr_c = 11
static int gr_s; gr_s = -1
&gr_a = 30010038
&gr_b = 30010064
&gr_c = 30009244
&gr_s = 3001003c

arm:jlink调试和直接烧写运行的不同 [mdk s3c2440]的更多相关文章

  1. Jlink使用技巧之烧写SPI Flash存储芯片

    前言 大多数玩单片机的人都知道Jlink可以烧写Hex文件,作为ARM仿真调试器,但是知道能烧写SPI Flash的人应该不多,本篇文章将介绍如何使用JLink来烧写或者读取SPI Flash存储器, ...

  2. Ubuntu13.04使用Jlink和ST-Link V2烧写STM32F1x和STM32F4x

    近期做研究openpilot和crazyflie2.0,都须要在Linux进行代码的编写和烧录,所以研究了下Linux下如何使用Jlink,还有开源的支持多个仿真器的openocd,可是困难重重.总是 ...

  3. 用jlink在mini2440上烧写uboot

    首先,附上我安装jlink驱动: http://download.csdn.net/detail/zzmno1/3776716#comment 以及我使用的uboot.bin文件下载地址: http: ...

  4. arm上电死机怎么烧写boot

    一般上电到死机还有一段时间,在这段时间完成,已经出现两次了.

  5. 使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  6. JLINK烧写BIN文件到nand、norflash、SDRAM

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  7. Jlink使用技巧之合并烧写文件

    前言 IAP(In-application-programming),即在应用中编程.当产品发布之后,可以通过网络方便的升级固件程序,而不需要拆机下载程序.IAP系统的固件一般由两部分组成,即Boot ...

  8. JLink间接烧写【转自armobbs】

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  9. GD32电压不足时烧写程序导致程序运行异常的解决方法

    一直使用的GD32F450前段时间遇到这样一个问题,当使用J-Link供电给板子烧写程序之后,程序运行缓慢,就像运行在FLASH高速部分之外一样,但是如果使用外部供电烧写,就不会出现这个问题,而且一旦 ...

随机推荐

  1. Minimum Inversion Number(线段树求逆序数)

    Minimum Inversion Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  2. C# MyNewQueue 消息队列

    C# using System; using System.Messaging; using System.Drawing; using System.IO; namespace MyProject ...

  3. C#语言基础之数据类型

    数据类型 1.值类型(1)整型:有符号整型和无符号整型. 区别是无符号整型要比有符号整型的正数范围大.2X+1 有符号整型:sbyte,short,int,long  带有正负数,范围按所写依次增大 ...

  4. React Native-目前最火的前端技术?

    做为一名产品经理,你是否遇到过这样的窘境,“帮我把字体调成 16号呗,颜色变成 #FFFF00FF,老大说这里最好改一下”,作为一名 app 的开发只能无奈但心里窃喜的告诉你,“只能等下个版本了,必须 ...

  5. 0课程介绍(Week1,3月3日)

    一.自我介绍 1.姓名:杨晔 2.办公室:B211-2 3.电子邮件:yangye@zjjy.com.cn 4.QQ:6706892 5.博客:http://www.cnblogs.com/meety ...

  6. 自定义类StyleSheet跨浏览器操作样式表中的规则

    这是群里网友地瓜提供的一个类,不熟悉样式表对象和样式规则对象的浏览器差异的可以看看 /** * Stylesheet.js: utility methods for scripting CSS sty ...

  7. QT学习 之 文本文件读写

    上一章我们介绍了有关二进制文件的读写.二进制文件比较小巧,却不是人可读的格式.而文本文件是一种人可读的文件.为了操作这种文件,我们需要使用QTextStream类.QTextStream和QDataS ...

  8. c++继承构造子类调用父类构造函数的问题及关于容器指针的问题及当容器里储存指针时,记得要手动释放

    看下面的一个问题: class Person { private: string name; public: Person(const string& s=""){ nam ...

  9. 基于visual Studio2013解决C语言竞赛题之0408素数

      题目 解决代码及点评 判断一个数是不是素数的方法,一般是看n是不是能被n以内的某个整数(1除外)整除 为了提高效率,这个整数范围一般缩小到n的平方根 如果在这个范围内的整数都不能整除,那么 ...

  10. ORACLE uuid自己主动生成主键

    -- Create table create table TECHNOLOGYCOMPANY ( ID VARCHAR2(32) default SYS_GUID() not null, FLOWID ...