製作u-boot LCD開機logo 及LCD字元顯示錯誤的解決

轉自:http://www.linuxidc.com/Linux/2011-08/39658.htm想顯示logo,當然我們首先要做的是修改完善lcd的驅動,修改驅動這一塊我就不贅述了,網上一搜一大把,不過推薦一下Tekkaman Ninja 的部落格,參照他的肯定是沒問題的。以下引自Tekkaman Ninja

ARM彙編條件碼

作業碼 條件碼助記符 標誌 含義 0000 EQ Z=1 相等 0001 NE(Not Equal) Z=0 不相等 0010 CS/HS(Carry Set/High or Same) C=1 無符號數大於或等於 0011 CC/LO(Carry Clear/LOwer) C=0 無符號數小於 0100 MI(MInus) N=1 負數 0101 PL(PLus) N=0 正數或零 0110 VS(oVerflow set) V=1 溢出 0111 VC(oVerflow clear) V=0

ATMEGA128 UART的使用

 #include "myuart.h"#include "avr/io.h"#include<avr/interrupt.h>  #define UDRE   5 #define RXEN   4#define TXEN   3#define UCSZ0 1#define RXC    7#define RXCIE  7 ISR(USART0_RX_vect)//接收中斷{  unsigned char dummy;  while ( UCSR0A&

LOCAL_MODULE_TAGS 選項說明

LOCAL_MODULE_TAGS :=user eng tests optionaluser: 指該模組只在user版本下才編譯eng: 指該模組只在eng版本下才編譯tests: 指該模組只在tests版本下才編譯optional:指該模組在所有版本下都編譯 eng This is the default flavor. A plain "make" is the same as "make eng". droid is an alias for eng.  * Installs

main_loop()函數

main_loop()函數做的都是與具體平台無關的工作,主要包括初始化啟動次數限制機制、設定軟體版本號碼、列印啟動資訊、解析命令等。(1)設定啟動次數有關參數。在進入main_loop()函數後,首先是根據配置載入已經保留的啟動次數,並且根據配置判斷是否超過啟動次數。代碼如下:295 void main_loop (void)  296 {  297 #ifndef CFG_HUSH_PARSER  298   static char lastcommand[CFG_CBSIZE] = { 0,

直接插入排序(修改自嚴蔚敏的資料結構)

#include <stdio.h>#include <stdlib.h>#define MAXSIZE 20typedef int KeyType;typedef struct{        KeyType key;        //InfoType otherinfo;}RedType;typedef struct{        RedType r[MAXSIZE+1];        int length;}SqList;void InsertSort(

簡要分析Uboot是如何啟動核心!

  1.uboot啟動核心的代碼縮減如下:s = getenv ("bootcmd");debug ("### main_loop: bootcmd=\"%s\"\n", s ? s : "<UNDEFINED>");if (bootdelay >= 0 && s && !abortboot (bootdelay)){        run_command (s, 0);}2.假設bootcmd = nand read.jffs2 0x30007

ATMEGA128定時器1的使用

    好久沒弄AVR了,這次準備改進學校的機器人低層驅動,先做幾個必要的小實驗先。   AVR和ucosii都是個好東西~~,小巧運行速度快,又讓人聯想到以前那個外國人用AVR做為CPU自製的雙輪車,真讓人興奮。。 //環境:winavr+avr studio char temp=0;ISR(TIMER1_COMPA_vect )//中斷函數{    // user code here    temp++;    if (temp==10)    temp=0;    PORTA=temp; 

Work queue 詳解 (ZZ)

原帖見:www.embexperts.com先簡單快速總結一下,更詳細的剖析後續用文章編輯方式逐步完成。分成兩大部分,第一部分是用來執行work queue中每個節點上掛載的函數的核心線程,第二部分是從驅動程式的角度看work queue的使用。第一部分

VC繪圖解決閃屏問題

顯示圖形如何避免閃爍,如何提高顯示效率是問得比較多的問題。而且多數人認為MFC的繪圖函數效率很低,總是想尋求其它的解決方案。     MFC的繪圖效率的確不高但也不差,而且它的繪圖函數使用非常簡單,只要使用方法得當,再加上一些技巧,用MFC可以得到效率很高的繪圖程式。     我想就我長期(呵呵當然也只有2年多)使用MFC繪圖的經驗談談我的一些觀點。         1、顯示的圖形為什麼會閃爍?          

S3C2440定時器的使用

#include "mytimer.h"#include "lhg_def.h"#include "uart.h"#include "lhg_def.h"#include "2440addr.h"//Timer input clock Frequency = PCLK / {prescaler value+1} / {divider value}//PCLK=50Mhz//prescaler : 0~255#define prescaler234 99//divider : 1/2,1/4,1/

arm學習b,bl指令淺析

轉自:http://www.cnblogs.com/logogcn/archive/2010/11/30/ARM_B_BL.htmlB或BL指令引起處理器轉移到“子程式名”處開始執行。兩者的不同之處在於BL指令在轉移到子程式執行之前,將其下一條指令的地址拷貝到R14(LR,連結寄存器)。由於BL指令儲存了下條指令的地址,因此使用指令“MOV PC ,LR”即可實現子程式的返回。而B指令則無法實現子程式的返回,只能實現單純的跳轉。使用者在編程的時候,可根據具體應用選用合適的子程式調用語句。  

s3c2440控制TFT LCD

  TFT LCD的時序比較複雜,因此S3C2440涉及TFT LCD的寄存器比較多。只要認真對照好LCD的說明書設定好相應2440寄存器就行了。TFT LCD並不難,但是一個小地方設定錯了都可能導致顯示不正常,而且十分難找到出錯的地方。   下面是編譯會涉及到東西:  1.時序和顯示模式配置LCDCON1~5。  2.顯示緩衝的地址配置LCDSADDR1~3。 

.balignl 16,0xdeadbeef淺析

轉自:http://zqwt.012.blog.163.com/blog/static/12044684201031102956976/.balignl 16,0xdeadbeef淺析    最近在分析u-boot的原始碼,看到這一行:        .balignl 16, 0xdeadbeef    不知道為什麼要這樣寫,0xdeadbeef,明顯是個單片語,寫在這裡有何意義呢?查閱了眾多資料的時候才晃然大悟。    下面我一步步來說明:   

Uart_Printf()

轉自:http://blog.163.com/huangwei820410@126/blog/static/24070492200962881431558/ Uart_Printf()為常用的串口列印函數,其常用於滿足特定條件時通過串口列印資訊。很多開發人員喜歡在中斷服務程式中使用它,所以,僅僅包含一句Uart_Printf()的中斷服務程式,可以被認為是一個普遍而簡單的應用。下面給出針對只包含一句Uart_Printf()的中斷服務程式進行測試的結果。

自己動手編寫嵌入式Bootloader之(2)

第二部分:通過網口下載核心映像要實現通過網口下載檔案的功能,從底層到上層需要做的工作包括:開發板上的網卡晶片的驅動程式;TCP/IP協議棧的實現;TFTP用戶端應用程式的實現。我們使用的OK2440開發板配備CS8900A網卡晶片。 為了簡單起見,網路資料包的發送和接收都使用輪詢方式,不使用中斷;協議棧只使用ARP/IP/UDP協議,不涉及TCP及其他協議;應用程式只實現最簡單的TFTP用戶端。1.

自己動手編寫嵌入式Bootloader之(3)

這一部分將對前文沒有提到的幾段關鍵代碼進行簡單說明,介紹一下原始碼組織圖和Makefile系統,展示一下實驗運行結果,並提供全部原始碼下載。  1. 定時器初始化和延時程式  因為在 CS8900A的驅動程式中需要用到延時,因此有必要對S3C2440的計時器進行使能和初始化,並編寫延時程式。  S3C2440A共有5個定時器,編號為Timer0 ~ Timer4。其中Timer0 ~ Timer3都有輸出引腳,可以通過定時器來控制引腳電平周期性的變化,這稱為脈衝寬度調製(PWM:Pulse

UBUNTU練驅動的開始

Makefile: PWD = $(shell pwd)KERNEL_SRC = /usr/src/linux-headers-2.6.32-28-generic/obj-m := test.omodule-objs := test.oall:    $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules  clean:    rm *.ko   rm *.o    test.c: #include <linux/init.h>#include

[arm]GNU ARM 彙編指令

來自:http://hi.baidu.com/%B8%F8%EB%DE%CC%ED%CD%EB%B7%B9/blog/item/ea9b90ce9bbff40b92457ed5.html第一部分 Linux下ARM彙編文法儘管在Linux下使用C或C++編寫程式很方便,但彙編來源程式用於系統最基本的初始化,如初始化堆棧指標、設定頁表、操作

LDR和ADR 分析

在ARM組譯工具中,就經常使用到LDR和ADR這兩條偽指令,現在對這兩條偽指令進行分析,歡迎大家指正。 在資料中,ADR的定義為:小範圍的地址讀取偽指令,ADR指令將基於PC相對位移的地址值讀取到寄存器中,在編譯來源程式時ADR偽指令被編譯器

總頁數: 61357 1 .... 20093 20094 20095 20096 20097 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.