發表文章

目前顯示的是 9月, 2022的文章

Android studio 連接 SQL Server

 Android studio 連接 SQL Server 前言 我們使用JTDS與SQL Server做連線 去 下載JTDS.jar 放入Android studio libs裡(本篇使用1.2.8) 如果不知道如何導入.jar檔可以參考 Android Studio JAR/AAR檔打包、導入 獲得SQL Server資料 初始化 JTDS driver String driverName = "net.sourceforge.jtds.jdbc.Driver" ; Class. forName ( driverName driverName) ; 與SQL Server連線並獲取資料 conn = DriverManager. getConnection ( url , username , password ) ; //(url, 帳號 , 密碼 ) ps = conn.prepareStatement( "SELECT [table1].[ID],[table1].[Name],[table1].[Color] \n " + "WHERE [table1]" ) ; //SQL 搜尋語法 rs = ps.executeQuery() ; // 查詢資料 while (rs.next()) // 用 while 迴圈列出每行資料 { String Name = rs.getString( "Name" ) ; // 獲得紀錄每行資料 } 記錄下表table1 Name資料列內容 table1的表格 ID Name Color 1 Red #FF0000 2 G...

ALSA

 ALSA(advanced linux sound architecture) 測試檔 gst-launch-1.0 audiotestsrc ! audioconvert ! alsasink device-name=realtekrt5651co 播放 gst-launch-1.0 filesrc location = 檔名路徑 !\ mpegaudioparse!\ avdec_mp3!\ audioconvert!\ alsasink devic=hw:0  (alsa走哪個裝置 系統資訊 可以到/proc搜尋系統資訊 /proc/uptime 可以看到系統啟動執行時間及系統空閒時間 /proc/cpuinfo CPU資訊 /proc/asound Audio資訊 如音效卡、HDMICODEC、devices、PCM...等 ALSA Tool aplay 播放聲音 arecord 錄音 amixer audio參數設定 alsamixer audio參數設定介面 amixer & alsamixer的差異在於alsamixer有介面而amixer只是文字

SQL UPDATE 更新修改資料

 SQL UPDATE 更新修改資料 UPDATE用法 table1的表格 ID Name Color 1 Red #FF0000 2 Green #00FF00 3 Blue #0000FF UPDATE基本用法 UPDATE [table1] SET [table1].[Color] = #0000cd WHERE [table1].[ID] = 3 執行結果: ID Name Color 1 Red #FF0000 2 Green #00FF00 3 Blue #0000cd ...

Gstreamer

 Gstreamer 測試檔 gst-launch-1.0 videotestsrc ! video/x-raw, width=1280, height=720 ! kmssink gst-launch-1.0 filesrc location = 檔名路徑 !\ decodebin name =dec !\ videoconvert !\ kmssink 影像 gst-inspect  列出GStreamer plugins gst-inspect-1.0 | grep -i videosink  gst-launch  播放 gst-typefind  查詢檔案的decodebin gst- typefind -1.0 | grep -i videosink 

Cross compilation toolchain

Cross compilation toolchain 簡單明瞭就是在不同的開發平台做交叉編輯 大多數使用的電腦都是 x86如果 直接在電腦上 compiler, 只能編譯出 x86 辨識的執行檔 所以如果要 compile 出其他 CPU 可以辨識的執行檔就要使用 cross compiler 使用 ARM 系列 CPU

X Window & wayland

圖片
 X Window & Wayland X Window & Wayland 簡單關係 X window以點陣圖方式顯示的軟體視窗系統 Wayland是用來取代改善X windows 的桌面系統protocol X Window  X server 接收到X Client回傳的需求後 須要再將需求傳遞給Compositor合成器將畫面疊加 再返回給X server 才能做display Wayland 將Compositor與server包在一起 Client將動作直接傳遞給 Wayland Compositor 在執行display 1. Devise input trigger Driver 收到event傳遞給Wayland Compositor 2. Wayland Compositor 將 event傳遞給 Client 3.  Client 要做的動作傳給 Wayland Compositor 4.  Wayland Compositor 經由KMS做display  controller 走KMS吃CPU效能 走DRM吃GPU效能 KMS (Kernel Model Set) -> color,resolution,refresh -> 訊號有關的 DRM(Direct Renddering Manager) -> 記憶體有觀的 FrameBuffer包含在DRM內 Application 將影像資料寫入Memory(FrameBuffer)  MMAP將資料轉到driver driver將資料傳至display顯示 weston linux 使用Weston主要原因為Weston使用Wayland的protocol 燒入版本Yocto

Linux嵌入式系統啟動流程

 Linux嵌入式系統啟動流程 流程說明 Soc啟動ROM Code一上電就動作 根據HW設計的boot select //讀取mini boot 放置sram  //Init ddr 將u-boot 放置ddr SRAM mini boot 將u-boot讀取至ddr ram U-boot 起來後會將linux kernel 放置ddr ram 執行 Linux 啟動後會依去boot loader 來決定RootFS BootLoader是嵌入式設備中用來啟動操作系統內核的一段程序。 uboot(universal bootloader)是一種可以用於多種嵌入式CPU的BootLoader程序,換言之,uboot是bootloader的一個子集。 uboot的核心作用就是啟動操作系統內核

Userland

 Userland Userland 分成User Space & Kernel Space內存保護和硬件保護,防止惡意或錯誤的軟件行為 User Space 指操作系統中位於Kernel之外的所有代碼,例如操作系統都預裝了各種功能的工具、編程語言和圖形工具,這些都是User Space控制。 User Space不能直接操作系统资源必須通過system call,才能向Kernel發出指令。 Kernel Space 控制系統資源處理驅動程序,較為底層核心的操作