原创 STM32啓動代碼分析及其彙編學習-ARM

STM32 啓動代碼 Author By YuCloud 邊看啓動文件邊學彙編 彙編 see ARM: Assembler User Guide see: https://blog.csdn.net/zlmm741/article/deta

原创 Github 項目推薦計劃

格式 [Github作者/倉庫名](鏈接) 嵌入式 avem-labs/Avem 輕量的無人機飛控系統 Web cloudreve/Cloudreve 支持多家雲存儲的雲盤系統, 前端 React + Redux + Mat

原创 Rust 及其包管理Cargo的安裝使用

Rust 公衆號 https://mp.weixin.qq.com/s/aRGY6oLXVQzxbb1wb3RGcA Rust 中文社區教程 https://rustcc.gitbooks.io/rustprimer/content/qui

原创 OpenSuse (RPM系)

總覽 屬於RPM (Fedora/openSUSE)系,這一家族有Fedora/RedHat/CentOS/OpenSUSE Opensuse 選擇中文時,自帶中文輸入法(搜狗也有) 修改鏡像源 LEAP版本: https://mirro

原创 Ubuntu18.04 LTS x64 構建ARM交叉編譯環境(嘗試,但失敗了!!!估計是編譯器沒選對)

【測試而已,由於需要了解編譯器和處理器體系,因此先放棄該方法】 動機 入門嵌入式開發,又需要 Windows 又需要 Linux,但資料給的竟然是 Ubuntu9,導致我不能使用 VSCode Remote SSH 來遠程開發。 所以決定自

原创 Java處理Modbus-RTU協議(另闢蹊徑改源碼)

開始 看到這篇文章 https://www.cnblogs.com/yangming1996/p/6549800.html ,發現可以用以下類來處理 ByteArrayInputStream bInputStream = n

原创 關於Java處理串口二進制數據的問題 byte的範圍 一個字節8bits

前置知識點 byte的範圍[-128~127] 內存裏表現爲 0x00~0xFF 剛好是一個8bits的字節 問題 byte[] hexData = new byte[] {0x01, 0x03, 0x04, 0x02, 0x1F, 0x0

原创 Keil 使用

官網下載 主程序(ARM/C51/C251/C166四種) https://www.keil.com/download/product/ 可以先裝C51再裝ARM(安裝路徑一致),然後破解兩個。 芯片庫(當然新版集成到 Keil 內置的 P

原创 Stm32cubemx_v6-1-1 提示需要JDK8版本,但已經安裝JDK11 exe4j

官網下載地址:https://www.st.com/zh/development-tools/stm32cubemx.html#get-software 分析 這是個exe4j打包的程序,所以可以直接通過 java -jar 執行 也可

原创 DNS/mDNS/DoH/DoT 等DNS協議概括

DNS 端口53 最常用的DNS協議,明文傳輸(大部分情況使用UDP,少數情況爲TCP) 用於域名-IP地址解析 用編程語言表示功能爲: ip_addr DNS(domain) 返回類型 函數名(入參) 如 123.58.180.8 DN

原创 [Linux 內核驅動開發] 根據設備尋找驅動等信息

本文目的:在Windows下尋找設備對應的Linux驅動,方便開發。 原因:Windows擁有豐富且穩定的驅動,在已經安裝驅動的Windows環境下尋找設備的驅動信息非常方便。 根據設備尋找驅動等信息 如 https://linux-h

原创 常用的在線工具網站

QRCode 二維碼生成器 JSON在線編輯器 codota_JAVA類代碼片段規範示例

原创 計算機學科名詞解析:透明

透明:不需要考慮內在機制,你只需要應用它給出的接口。即黑盒 如有線usb鼠標和藍牙usb鼠標的區別,不管中間介質如何, 都是鼠標,都是用usb作爲接入計算機的IO口, 對於計算機來說都是usb設備,不需要考慮藍牙和有線的區別,驅動都只使用通

原创 構造嵌入式Linux最小根文件系統及其 Busybox、libc運行庫

構造嵌入式Linux最小根文件系統及其 Busybox、libc運行庫 要求 1. busybox 2. /dev靜態設備 /etc/inittab + glibc + 文件系統鏡像 聲明交叉編譯環境變量export PATH=$PATH:

原创 Makefile 的用處,解決已包含頭文件但還是 undefined reference to

A.c (main函數) #include "B.h" int main(void) { //內容 return 1; } B.c #include "B.h" void func_b() { //內