1. CC3200的内存地址划分非常特殊,如果没测试的话,很容易懵逼.我们先看芯片手册里面的内存地址.芯片的RAM是256KB,下图的0x2000 0000-0x2003 FFFF,正好是256KB. 2. 首先明确一个概念,CC3200是没有内部FLASH的,所以在运行的时候需要把程序全部拷贝到RAM里面.也就是IAR编译的.bin文件不能超过RAM的空间.启动地址是0x2000 0000,当然第一个启动的程序是芯片内部固化在ROM的bootloader(我们称之为一级BOOT),这个主要作用…
1. 首先启动内部ROM固化的BOOT,然后这个ROM启动需要使用内存空间0X2000 0000 --- 0X2000 4000共16K的空间.一级BOOT的作用是串口升级和驱动库. 2. 然后是二级BOOT,主要用途是OTA升级.二级BOOT有2个工程application_bootloader,relocator(在application_bootloader工程的里面),首先启动relocator工程,然后在relocator工程里面修改程序PC指针,启动application_bootl…
本文转载自:http://blog.csdn.net/fang_first/article/details/49615631 ====================基本知识======================= LK是(L)ittle (K)ernel的缩写. 高通平台android普遍采用LK作为其bootloader,LK是一个开源项目.但是,LK只是整个系统的引导部分,所以它不是独立存在.LK是一个功能及其强大的bootloader,但现在只支持arm和x86平台. LK的一个显…
@ 目录 Bootloader启动流程分析 Bootloader第一阶段的功能 硬件设备初始化 为加载 Bootloader的第二阶段代码准备RAM空间(初始化内存空间) 复制 Bootloader的第二阶段代码到SDRAM空间中(重定位) 设置好栈 跳转到第二阶段代码的C入口点 Bootloader第二阶段的功能 初始化本阶段要使用到的硬件设备 检测系统内存映射( memory map) 将内核映象和根文件系统映象从 Flash上读到SDRAM空间中 为内核设置启动参数 调用内核 uboot启…
一.内存 只是从大体上介绍,并没有涉及寄存器的操作 6410的系统资源为:256MB DDR .2GB NANDFlash 如下图所示: ROM是只读存储器,RAM是随机存储器. 区别: 1.ROM(Read Only Memory)掉电数据不丢失,但存储读取速度慢,所以常用作存放程序,存放bootloader,存放内核,存放文件系统. 2.RAM(Random Access Memory)掉电数据丢失,但存取速度快,常用作内存 3.RAM还分为SRAM静态随机存储器(不用不断刷新就可以读取数据…
最近看了<深入理解虚拟机>的内存分配与管理这部分的内容,这里做一个的总结,以加深我对知识点的理解,如有错误的地方,还望大神们指出,我及时更正:  内存区域划分 首先是下面这幅图: 图 1.0 这幅图是网上download下来的,但是它可以很直观告诉我们Java虚拟机所管理的几个内存区域(包括方法区.堆.虚拟机栈.本地方法栈.程序计数器五个区域),以及线程作用在这些内存区域时的数据访问方式(虚拟机栈.本地方法栈.程序计数器三个区域是线程独有:方法区.堆两个区域是线程间共享): 1.我们首先看看灰…
1. 本次采用利尔达的CC3200模块,CC3200主时钟80M,内部没有flash,必须外接SPI Flash.本次测试采用利尔达科技的CC3200的底板和模块(左边).烧写连接VCC, GND, RXD, TXD, SOP2, RST这6根线即可完成下载.串口下载的时候SOP2需要上拉,正常运行的时候SOP2留空. 2. 使用IAR工具打开工程,看下main代码,其中VStartSimpleLinkSpawnTask这个函数搞不明白是什么?SimpleLink是TI注册的一个商标,CC320…
1. 硬件使用利尔达的CC3200模块,仿真下载器使用利尔达的FTDI仿真器,硬件完全兼容官方的仿真器.仿真器支持IAR的调试,单步运行等操作. 2. 硬件连接接线说明: RXD, TXD, GNG, VCC, RESET, SOP2,下载的时候SOP2引脚需要拉高,正常运行悬空.在左边的板子,上面焊接了复位按键和一个电阻,所以RESET引脚可以不练. 3. 驱动安装,理论上使用其他的USB转串口也可以,但是有些山寨版的USB转串口芯片烧写会失败,推荐使用FT232.上图的板子是同时具有仿真器和…
一.内存管理 1.垃圾回收机制 不能被程序访问到的数据,就称之为垃圾. 1.1.引用计数 引用计数是用来记录值的内存地址被记录的次数的. 每一次对值地址的引用都使该值的引用计数+1:每一次对值地址的释放都使其引用计数-1:当一个值的引用计数为0时,就会被系统的垃圾回收机制回收. 1.2.循环导入: # 循环引用,内存泄漏 ls1 = [666] ls2 = [888] ls1.append(ls2) ls2.append(ls1) print(ls1) # [666, [888, [...]]]…
Java虚拟机在执行Java程序过程中会把它所管理的内存区域划分为若干个不同的数据区域. Java虚拟机所管理的内存包括以下几个运行时区域: 1.程序计数器(Program Couter Register)   程序计数器是一块较小的内存空间,作用是当前线程所执行的字节码的行号指示器.字节码指示器就是通过改变程序计数器的值来选取下一条需要执行的字节码指令,分支.循环.跳转.异常处理.线程恢复等基础功能都需要依靠程序计数器来完成. 2.Java虚拟机栈(Java Virtual Machine S…