现在位置: 首页 > 技术文章 > 裸机开发 > 文章
2017年06月03日 裸机开发 ⁄ 共 254字 STM32中malloc 分配内存失败解决已关闭评论 ⁄ 阅读 162 次
在一个项目中,使用了STM32,数据结构比较复杂,采用动态内存分配,一开始程序运行老是异常,调试查找原因,发现是使用malloc分配内存空间时不成功造成的,经分析原因在于Startup_stm32fxx.s文件中定义的堆空间太小导致的,如下图: malloc 因为malloc是在堆空间中分配内存,设置的大小小于需要分配的空间是肯定是要失败的,我把堆大小改为10K就OK了。
阅读全文
2015年08月18日 裸机开发 ⁄ 共 5872字 评论 1 条 ⁄ 阅读 311 次
转自http://blog.csdn.net/gwl11/article/details/6364336   上面在说到安装中断的时候说过,调用request_irq()时的参数中irq的确定是个难题,为什么? 你如果到网络上查一下关于linux的资料,十有八九是关于i386体系结构上的,但linux是可以运行在多种cpu上的,比如采用arm内核的s3c2410,在i386体系上的经验在这里可以用么?我们试验一下:硬件准备,使用s3c2410的EINT0引脚作中断测试,为它编写一个中断驱动程序,最后将...
阅读全文
2014年04月18日 裸机开发 ⁄ 共 8129字 ARM MMU工作原理剖析已关闭评论 ⁄ 阅读 422 次
一、MMU的产生       许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(o...
阅读全文
2014年04月11日 裸机开发 ⁄ 共 906字 dsp中eallow edis是什么意思已关闭评论 ⁄ 阅读 213 次
DSP 28335中有一些配置寄存器是受保护的,无法直接操作。也就是说在对这些寄存器进行修改之前,需要先去掉保护功能 而保护状态是由状态寄存器中EALLOW标志来指示的。汇编指令“EALLOW”就是将该标志位置位,允许对受保护的寄存器操作 。 EALLOW一般和EDIS配套使用,在对受保护的寄存器操作之后,用EDIS恢复寄存器的被保护状态。 在TI的说明中 712 的98页,有介绍: 5.2 EALLOW 保护寄存器 Preliminary EALLOW 保护寄存器 280x 器...
阅读全文
2013年12月12日 裸机开发 ⁄ 共 338字 STM32三种启动模式中存储器的存储介质已关闭评论 ⁄ 阅读 92 次
STM32三种启动模式对应的存储介质均是芯片内置的三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 =  芯片内置的Flash。 2)SRAM =  芯片内置的RAM区,就是内存。 3)系统存储器 =  芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管...
阅读全文
2013年12月11日 裸机开发 ⁄ 共 2949字 评论 1 条 ⁄ 阅读 1,392 次
IAP,全称是“In-Application Programming”,中文解释为“在程序中编程”。IAP是一种对通过微控制器的对外接口(如USART,IIC,CAN,USB,以太网接口甚至是无线射频通道)对正在运行程序的微控制器进行内部程序的更新的技术(注意这完全有别于ICP或者ISP技术)。ICP(In-Circuit Programming)技术即通过在线仿真器对单片机进行程序烧写,而ISP技术则是通过单片机内置的bootloader程序引导的烧写技术。无论是ICP技术还是ISP技术,...
阅读全文
×