原创 VI相關應用

** 1 如何去掉^M ** 問題:用vi編輯程序時,每行後面都有個^M,應該如何去掉。 方法: :%s/ctrl+v ctrl+m//g 注意:^M 在vi裏面用 ctrl+v和c

原创 stm32f103 w5500 tcp server

背景 項目中需要使用網絡,開始使用的stm32f4+lwip的方案,但是硬件成本有些高,更主要的是lwip不好用,老是斷,可能是自己沒有研究透它吧。經過長時間的調研論證,最終選擇了w5500這款芯片。它把TCP/IP網絡協議棧固化

原创 STM8L驅動I2C類型的12864

原理 之前沒有操作過12864這種類型的屏,但是,操作過其他類型的,原理都是相通的。12864是擁有128x64像素點這類屏幕的稱號吧。屏幕有64行,128列;每個漢字是16x16,所以一個這樣的屏,最多可以顯示4x8的漢字或者8x1

原创 STM8L串口中斷進不去

配置串口 void UART1_Config(void) { /*Enable USART clock */ CLK_PeripheralClockConfig(CLK_Peripheral_USART, ENABLE);

原创 STM8L10x環境搭建

準備 STM8的編譯環境有兩種,一個是IAR,一個是ST官方提供的STVD+COSMIC. 由於IAR需要破解,我選擇了使用官方提供的環境STVD。 STVD:IDE,可以從ST官網下載 COSMIC: 編譯器,可以從它的官網下載。

原创 u-boot移植

u-boot的基礎知識前面已經分析完,接下來針對我們自己的板子進行詳細的移植。 修改代碼 eeprom 由於板子中沒有eeprom,所以下面這個函數需要修改。 board/ti/am335x/board.c static inline

原创 矩陣鍵盤

背景 移植矩陣鍵盤。矩陣鍵盤的原理不贅述。 設備樹 evm的板子上有一個2x3的矩陣鍵盤,設備樹中也有體現。參考這個實現自己的矩陣鍵盤設備樹如下: matrix_keypad: matrix_keypad@0 {

原创 LCD的配置

lcd的驅動也不需要自己寫,而是在設備樹中配置好即可。 設備樹 panel { compatible = "ti,tilcdc,panel"; status = "okay"; pi

原创 AM335x的啓動過程

u-boot簡介 簡單的說,u-boot的核心功能是加載內核。 爲什麼需要它,上電之後直接加載內核不可以嗎? 雖然目前的內核沒有這麼做且理論上也可以實現,但沒有必要這麼做。 這就類似於幾十萬大軍在行軍,通常的做法是派出幾千人的不斷在

原创 usb的設置

背景 設置usb0爲host模式,支持u盤的熱插拔。設置usb1爲otg模式,支持設備作爲u盤連接到電腦。 我對usb沒有研究,但是linux內核對usb的支持非常強大,不需要修改代碼,只需配置就可以實現。 設備樹 首先,查看並設置us

原创 u-boot代碼分析

簡介 項目中使用的u-boot版本是u-boot-2016.09,在該版本中引入了Kconfig,可以通過menuconfig進行配置。但是,遺憾的是,menuconfig還不夠成熟,很多配置還是需要在.h配置文件中進行配置。u-boot

原创 falcon模式

簡介 在該模式下,SPL可以直接加載內核,開機時間較少不少。目前該模式支持的芯片不多,但是TI的AM335x是其中之一,網上資料也不不多。u-boot-2016.09中有兩處有關資料。 doc/README.falcon board/

原创 統計單詞個數的簡單程序

背景 沒事寫了個簡單的統計單詞個數的程序,特記錄下。 代碼 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #includ

原创 移植Qt

buildroot中配置 Target packages ---> Graphic libraries and applications (graphic/text) ---> [*] Qt --->

原创 c語言的位操作

c語言的位操作 #include <stdio.h> typedef unsigned char u8; /* set the assigned bit to 1 */ #define SET_BIT(val, pos) \