资源简介
飞思卡尔摄像头专用显示工具,体积小,质量轻,非常合适
代码片段和文件信息
/*
* File: alloc.c
* Purpose: generic malloc() and free() engine
*
* Notes: 99% of this code stolen/borrowed from the K&R C
* examples.
*
*/
#include “common.h“
#include “stdlib.h“
#pragma section = “HEAP“
/********************************************************************/
/*
* This struct forms the minimum block size which is allocated and
* also forms the linked list for the memory space used with alloc()
* and free(). It is padded so that on a 32-bit machine all malloc‘ed
* pointers are 16-byte aligned.
*/
typedef struct ALLOC_HDR
{
struct
{
struct ALLOC_HDR *ptr;
unsigned int size;
} s;
unsigned int align;
unsigned int pad;
} ALLOC_HDR;
static ALLOC_HDR base;
static ALLOC_HDR *freep = NULL;
/********************************************************************/
void
free (void *ap)
{
ALLOC_HDR *bp *p;
bp = (ALLOC_HDR *)ap - 1; /* point to block header */
for (p = freep; !((bp > p) && (bp < p->s.ptr)) ; p = p->s.ptr)
{
if ((p >= p->s.ptr) && ((bp > p) || (bp < p->s.ptr)))
{
break; /* freed block at start or end of arena */
}
}
if ((bp + bp->s.size) == p->s.ptr)
{
bp->s.size += p->s.ptr->s.size;
bp->s.ptr = p->s.ptr->s.ptr;
}
else
{
bp->s.ptr = p->s.ptr;
}
if ((p + p->s.size) == bp)
{
p->s.size += bp->s.size;
p->s.ptr = bp->s.ptr;
}
else
{
p->s.ptr = bp;
}
freep = p;
}
/********************************************************************/
void *
malloc (unsigned nbytes)
{
/* Get addresses for the HEAP start and end */
#if (defined(CW))
extern char __HEAP_START;
extern char __HEAP_END[];
#elif (defined(IAR))
char* __HEAP_START = __section_begin(“HEAP“);
char* __HEAP_END = __section_end(“HEAP“);
#endif
ALLOC_HDR *p *prevp;
unsigned nunits;
nunits = ((nbytes+sizeof(ALLOC_HDR)-1) / sizeof(ALLOC_HDR)) + 1;
if ((prevp = freep) == NULL)
{
p = (ALLOC_HDR *)__HEAP_START;
p->s.size = ( ((uint32)__HEAP_END - (uint32)__HEAP_START)
/ sizeof(ALLOC_HDR) );
p->s.ptr = &base;
base.s.ptr = p;
base.s.size = 0;
prevp = freep = &base;
}
for (p = prevp->s.ptr; ; prevp = p p = p->s.ptr)
{
if (p->s.size >= nunits)
{
if (p->s.size == nunits)
{
prevp->s.ptr = p->s.ptr;
}
else
{
p->s.size -= nunits;
p += p->s.size;
p->s.size = nunits;
}
freep = prevp;
return (void *)(p + 1);
}
if (p == freep)
return NULL;
}
}
/*******************************************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2030 2010-10-27 14:30 OLED附送资料\OLED-K60\build\config files\128KB_Pflash.icf
文件 2206 2010-11-11 14:41 OLED附送资料\OLED-K60\build\config files\128KB_Pflash_128KB_Dflash.icf
文件 2034 2010-10-27 14:30 OLED附送资料\OLED-K60\build\config files\128KB_Ram.icf
文件 2030 2010-10-27 14:30 OLED附送资料\OLED-K60\build\config files\256KB_Pflash.icf
文件 2214 2010-11-11 14:41 OLED附送资料\OLED-K60\build\config files\256KB_Pflash_256KB_Dflash.icf
文件 2024 2010-10-27 14:30 OLED附送资料\OLED-K60\build\config files\32KB_Ram.icf
文件 2041 2010-10-27 14:30 OLED附送资料\OLED-K60\build\config files\512KB_Pflash.icf
文件 2217 2010-11-11 14:41 OLED附送资料\OLED-K60\build\config files\64KB_Pflash_64KB_Dflash.icf
文件 2024 2010-10-27 14:30 OLED附送资料\OLED-K60\build\config files\64KB_Ram.icf
文件 305 2010-10-01 13:03 OLED附送资料\OLED-K60\build\iar.h
文件 23095 2013-01-13 23:31 OLED附送资料\OLED-K60\Debug\Exe\DEMOK_Kinetis_GPIO_Example.hex
文件 187292 2013-01-13 23:31 OLED附送资料\OLED-K60\Debug\Exe\DEMOK_Kinetis_GPIO_Example.out
文件 27632 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\adc.o
文件 12072 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\alloc.o
文件 17536 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\arm_cm4.o
文件 8680 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\assert.o
文件 1920 2012-11-10 22:21 OLED附送资料\OLED-K60\Debug\Obj\crt0.o
文件 9580 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\delay.o
文件 3661 2013-01-16 22:25 OLED附送资料\OLED-K60\Debug\Obj\DEMOK_Kinetis_GPIO_Example.pbd
文件 8712 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\exti.o
文件 22900 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\FTM.o
文件 18628 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\gpio.o
文件 10664 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\io.o
文件 3908 2013-01-09 19:02 OLED附送资料\OLED-K60\Debug\Obj\isr.o
文件 7672 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\lptmr.o
文件 70692 2013-01-13 23:19 OLED附送资料\OLED-K60\Debug\Obj\LQ12864.o
文件 9796 2013-01-13 23:31 OLED附送资料\OLED-K60\Debug\Obj\main.o
文件 14104 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\mcg.o
文件 11520 2013-01-09 19:02 OLED附送资料\OLED-K60\Debug\Obj\memtest.o
文件 10000 2013-01-13 23:14 OLED附送资料\OLED-K60\Debug\Obj\PIT.o
............此处省略974个文件信息
- 上一篇:Windows中realtek-VLAN驱动
- 下一篇:单相正弦波逆变电源
相关资源
- 0.96OLED实现数字、汉字、字符串、图片
- DTH11温湿度显示在IIC_OLED上,好用,自
- MSP432RTC实时时钟OLED显示
- 基于STM32F103的FM收音机 TEA5767
- MSP430G2553以4线SPI方式控制0.96寸OLED
- 0.96寸OLED显示屏用户资料
- 泰庆电子0.96OLED显示屏_STM32ZET系列_S
- 中景园电子0.96OLED显示屏_STM32_F103C8系
- STM32F407_OLED显示
- STM32 SPI方式驱动SH1106 OLED屏幕
- 三星AMOLED驱动芯片S6E63D6资料
- M00930 OLED初始化代码
- STM32超声波OLED程序
- 基于STM32C8t6实现的温度控制系统
- 关于七针0.96寸OLED使用IIC接口的说明
- OLED 使用手册及c51、k60、x128程序
- OLED12864开发资料
- 基于STM32C8T6的按键温度双模式控制风
- 中景园电子0.96OLED显示屏_STM32_F103C8系
- SSD1306-OLED驱动芯片中文手册
- OLED器件材料和工艺介绍
- STM32F103OLED显示菜单实验
- 录音软件CE2.1汉化版
- STM32F103C8T6按键调整参数断电保护,温
- ——0.96寸OLED显示屏7针SPI协议.zip
- STM32-AS608指纹锁程序
- STM32+OLED25664 音乐频谱+万年历包含源码
- OLED原理图、说明、程序51、stm32、Ar
- 程控音频放大器+FFT频谱显示
- stm32f407 矩阵键盘输入数字
评论
共有 条评论