Failed initailizing heap region

本文介绍了一个基于mini2440平台的硬件编程示例,通过控制LED灯响应按键输入来演示基本的硬件交互过程。此外,还解决了调试过程中出现的堆初始化失败问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mini2440----硬件编程


//KEY = G0 3 5 6 7 11 
//Led = B5 6 7 8
#include "2440addr.h"
#define KEY1 (1 << 0)
#define KEY2 (1 << 3)
#define KEY3 (1 << 5)
#define KEY4 (1 << 6)
#define KEY5 (1 << 7)
#define KEY6 (1 << 11)


#define LED1 (1 << 5)
#define LED2 (1 << 6)
#define LED3 (1 << 7)
#define LED4 (1 << 8)
void delay(int);
void Main(void)
{
   rGPBCON = 0x015400; //SET LED PORT OUTPUT
   rGPBUP = 0x000000; 
   rGPGCON = rGPGCON & (~((3)|(3<<6)|(3<<10)|(3<<12)|(3<<14)|(3<<22)));
       //SET KEY BUTTON AS INPUT
   rGPBDAT = 0xffff;
   rGPGDAT = 0xffff;
   while(1)
   {
   if (!(rGPGDAT & KEY1))
   {
      rGPBDAT &= ~LED1;
   }
   if (!(rGPGDAT & KEY2))
   {
      rGPBDAT &= ~LED2;
   } 
   if (!(rGPGDAT & KEY3))
   {
      rGPBDAT &= ~LED3;
   }   
   if (!(rGPGDAT & KEY4))
   {
      rGPBDAT &= ~LED4;
   }
   if (!(rGPGDAT & KEY5))
   {
      rGPBDAT |= LED1|LED2|LED3|LED4;
   }       
   if (!(rGPGDAT & KEY6))
   {
      rGPBDAT &= ~(LED1|LED2|LED3|LED4);
   } 
  
/*   if (!(rGPGDAT & KEY1)) rGPBDAT = rGPBDAT & ~LED1;
   if (!(rGPGDAT & KEY2)) rGPBDAT = rGPBDAT & ~LED2; 
   if (!(rGPGDAT & KEY3)) rGPBDAT = rGPBDAT & ~LED3; 
   if (!(rGPGDAT & KEY4)) rGPBDAT = rGPBDAT & ~LED4; 
   if (!(rGPGDAT & KEY5)) rGPBDAT = 0xffff; 
   if (!(rGPGDAT & KEY6)) rGPBDAT = 0x0000; */  
}
}
  
void delay(int i)
{
    int time;
while(i)
{
   for(time = 0;time<=2000;time++);  
   i--;
}
}
  
  
   星期四 调试串口程序,代码基本上是2440test文件中了,不过倒是在调试的时候遇到一个小问题,把程序下到开发板中,在超级终端显示如下问题


   Failed initailizing heap region
   Sorry. We can not run vivi  


解决办法 打开ADS1.2中DebugSel Setting——>ARM Linker——>Layout ,在Place the begining of image


处object/symbol 填写 2440init.o(注意一定要加上字母o)
   在section处 填写 Init。


  
  
  
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值