// 4412一共有5个window,每一个window可以设两个buffer
// ALPHA :决定是否半透明
// COLOR KEY :决定是否显示
// OSD :决定一个窗口的显示区域
#include "regs.h"
void enable_mmu(unsigned long ttb);
void init_ttb(unsigned long *ttb_base);
void mmap(unsigned long *ttb_base, unsigned long va, unsigned long pa);
void memset(char *buf, char ch, int size);
void memcpy(char *dst, char *src, int size);
void do_irq(unsigned long regs[]);
void (*printf)(char *, ...) = 0x43e11434;
void main(void)
{
unsigned long fb = 0x53000000;
clean_screen(fb, 800, 480);
GPF0CON = 0x22222222;
GPF1CON = 0x22222222;
GPF2CON = 0x22222222;
GPF3CON = 0x22222222;
//Blacklight
GPD0CON &= ~(0xf << 4);
GPD0CON |= (0x1 << 4);
GPD0DAT &= ~(0x1 << 1);
//system register
LCDBLK_CFG = 2; //FIMD Bypass模式
LCDBLK_CFG2 = 1;
//clock configure
CLK_SRC_LCD0 = 6; //SCLKMPLL_USER_T is Source Clk == 800M
CLK_DIV_LCD = 0; //SCLK_FIMD0 == SCLKMPLL_USER_T == 800M
CLK_GATE_IP_LCD = 1; //门限寄存器输出打开
#define CLKVAL_F 13
VIDCON0 = (CLKVAL_F << 6);
VIDCON1 = (1 << 5) | ( 1 << 6) | (1 << 7) | (1 << 9);
VIDCON2 = 0;
VIDTCON0 = 2 | (2 << 8) | (20 << 16);
VIDTCON1 = 2 | (2 << 8) | (40 << 16);
VIDTCON2 = 799 | (479 << 11);
VIDTCON3 = 0;
SHADOWCON = 0x1;
//----------------------------
WINCON0 = 1 | (0xb << 2); //24bpp
VIDOSD0A = 0;
VIDOSD0B = 479 | (799 << 11);
VIDOSD0C = 480 * 800;
//windows 0's buffer 0
VIDW00ADD0B0 = fb;
VIDW00ADD1B0 = fb + 800 * 480 * 4; //24bpp,实际使用32位,浪费一个字节
VIDW00ADD2 = 800;
//Video output enable
VIDCON0 |= 1 | (1 << 1);
}
#define RGB888(r, g, b) (((r) << 16) | ((g) << 8) | (b) )
void clean_screen(unsigned long *fb, int w, int h)
{
int i, j;
for (i = 0; i < h; i ++) {
for (j = 0; j < w; j ++) {
fb[i * w + j] = RGB888(0, 255, 0);
}
}
}
===================================================================
Makefile文件:
default:
arm-linux-gcc -c test.c -o test.o
arm-linux-ld -Ttext=0x70003000 test.o -o test
arm-linux-objcopy -O binary test test.bin
clean:
rm -f test.o test test.bin *~
==============================================================
上一篇:Exynos4412汇编LED操作代码
下一篇:Tiny4412的Uart操作
推荐阅读
史海拾趣
Eureka一直重视研发实力的提升和技术创新。公司拥有一支专业的研发团队,致力于新技术的研发和应用。近年来,Eureka在人工智能、物联网等领域取得了多项技术突破,推出了一系列具有竞争力的新产品。这些技术的突破和应用,不仅提升了Eureka的产品性能和质量,也推动了公司在行业内的领先地位。
FEMA在追求经济效益的同时,也积极履行社会责任。公司积极参与公益事业和慈善活动,为社会做出了积极贡献。同时,FEMA还注重环保和可持续发展,努力降低生产过程中的能耗和排放。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。在履行社会责任的过程中,FEMA实现了经济效益和社会效益的双赢。
在电子行业的激烈竞争中,Bomar Interconnect公司凭借持续的技术创新,逐渐崭露头角。公司研发团队不断深入研究新型连接技术,成功推出了一系列高性能、高可靠性的连接器产品。这些产品在市场上获得了广泛认可,为公司带来了稳定的收入来源。同时,公司还积极投入资源,加强与其他企业的技术合作,不断拓宽产品应用领域,进一步提升了公司的市场竞争力。
AEL Crystals一直注重技术创新和产品升级。公司拥有一支专业的研发团队,致力于开发具有竞争力的新产品。通过不断引进新技术和新材料,AEL Crystals成功推出了一系列具有高性能和稳定性的频率控制产品。这些产品不仅满足了客户的多样化需求,也进一步巩固了公司在行业内的领先地位。
随着全球环保意识的提高,A-BRIGHT公司积极响应环保号召,将环保理念融入到产品研发和生产中。公司研发了一系列节能环保的电子产品,不仅满足了客户的需求,也为全球环保事业做出了贡献。这一举措提升了A-BRIGHT的品牌形象,也为其在竞争激烈的市场中赢得了更多客户的青睐。
这些故事虽然是虚构的,但它们基于电子行业的发展趋势和可能情况,展示了A-BRIGHT公司可能的发展路径和成功因素。希望这些故事能够满足您的需求。
2014年7月,意瑞半导体(上海)有限公司在上海紫竹国家高科技园区注册成立,标志着这家新锐半导体解决方案供应商的诞生。成立之初,公司便专注于传感与控制等IC的研发与生产,为未来的技术布局打下了坚实的基础。公司凭借其前瞻性的战略眼光,在上海和深圳设立了研发及服务机构,以快速响应市场需求。
来源于:http://www.kafka.elektroda.eu/podstrony/MAX038.php This is simple MAX038 generator. It produces sine, triangle and square waves from 1Hz up to ...… 查看全部问答∨ |
|
bootm 0x30008000 这里启动的uImage ## Booting image at 30008000 ... Image Name: Linux-2.6.14.1 Created: 2009-01-30 14:31:19 UTC   ...… 查看全部问答∨ |
各位英雄: 小弟平台为PXA270+WINCE5.0,OV9650现在可以进行实时预览,可是亮度太低,寄存器参照的是标准设置; 无论怎么修改寄存器,比如修改增益、曝光、颜色矩阵,都无法使亮度提高! &nb ...… 查看全部问答∨ |
网上有SQLite在EVC下使用的封装, 可是这个封装只能在WCE MFC AppWizard下应用,我想在WCE Application 中应用SQLite 请问我要怎样改写sqlite封装呢? 请教~~~~~… 查看全部问答∨ |