原创 解決更換芯片原程序不能正常編譯問題 和問題ErrorFlash Download failed Cortex-m3

當從這個芯片 更換爲這個芯片時 編譯原程序後出現了這個問題 解決辦法爲: 把其中的STM32F10X_HD,刪掉 編譯成功 燒入時出現: 第一種可能沒有正確添加 點擊add正確添加: 第二種裏面沒有合適的 則首先需要安裝

原创 Verilog的基礎知識

Verilog的基本介紹: 硬件描述語言發展至今已有二十多年曆史,當今業界的標準中( IEEE標準)主要有VHDL和Verilog HDL 這兩種硬件描述語言。 一個設計往往從系統級設計開始,把系統劃分成幾個大的基本的功能模塊,每個功能

原创 TCP和UDP以及相應的區別和用法

TCP和UDP都是來自於傳輸層的協議。 傳輸層是位於第2層的,如下圖所示。 傳輸層位於應用層和網絡層之間,負責位於不同主機中進程之間的通信。 不同電腦之間是如何通信的呢?是不是還要自己開發協議什麼的。 分析:覺得如果開發一個應用

原创 Ubuntu添加交叉編譯成功

先把arm-linux那個包複製到自己建的文件夾 自己建文件夾mkdir min 複製cp - r arm-linux..../ /home/lin/min 查看路徑的命令爲pwd sudo vim /etc/profile 在最後添加

原创 Verilog中模塊的實例化

首先創建一個模塊爲test 目錄爲這樣: 在模塊test中寫入: module test(a,b,c); input a,b; output c; wire d,e; assign c = a&b; and a1(d,a,b); or

原创 stm32使用sd卡保存數據不擦除原本數據,數據格式換行

驅動sd卡的程序,主要是使用原子的FATFS程序。 首先是向卡里寫數據和讀數據的操作。 這些定義一般都在ff.h文件中 先定義好 FIL fil; FRESULT res; UINT bww; char buf[100]; 寫讀操作

原创 stm32f407控制180度舵機

其中主要分爲兩部分,時鐘的初始化和主函數的控制部分。 時鐘的初始化: 選用TIM14時鐘,F9引腳作爲信號控制引腳 void TIM14_PWM_Init(u32 arr,u32 psc) {                    

原创 串口助手調試Lora模組

硬件:兩個usb裝TTL,兩個lora

原创 linux下c語言的開發

vim的工作模式: 命令工作模式,插入工作模式,底行工作模式 命令模式:h,向左移動光標,l,右,j,下,K,上,^該行開頭,$,行尾,0,行首 yy複製光標所在行,nyy複製光標所在行向下n行,p粘貼 x刪除,X刪除前一個,dd刪除一

原创 Linux 內核框架整體理解

  1. 前言 本文是“Linux內核分析”系列文章的第一篇,會以內核的核心功能爲出發點,描述Linux內核的整體架構,以及架構之下主要的軟件子系統。之後,會介紹Linux內核源文件的目錄結構,並和各個軟件子系統對應。 注:本文和其它的“

原创 數字電路的邏輯符號

   

原创 FPAG的上電配置的3種方法

目前,大多數FPGA芯片是基於SRAM 的結構的, 而 SRAM 單元中的數據掉電就會丟失,因此係統上電後,必須要由配置電路將正確的配置數據加載到 SRAM 中,此後 FPGA 才能夠正常的運行。 常見的配置芯片有EPCS 芯片 (EP

原创 SRAM,SDRAM,DRAM,ROM,EPROM,EEPROM

SRAM :靜態RAM,不用刷新,速度可以非常快,像CPU內部的cache,都是靜態RAM,缺點是一個內存單元需要的晶體管數量多,因而價格昂貴,容量不大。 什麼是SRAM SRAM 的英文全稱是'Static RAM',翻譯成中文就是'

原创 MCU,MPU,MMU,CACHE的含義

1,mcu和mpu        CPU(Central Processing Unit,中央處理器)發展出來三個分枝,一個是DSP(Digital Signal Processing/Processor,數字信號處理),另外兩個是MC

原创 volatile的講解以及宏定義和立即數

volatile關鍵字,是用於表明變量代碼無法被優化! 比如: int a = 0; a = 1; a = 2; a = 3; 經過編譯器代碼優化後: int a = 0; a = 3; 省去重複工作,debug下不會作任何優化,