原创 第11章 FreeRTOS任務棧大小確定及其溢出檢測

本章節爲大家講解FreeRTOS任務棧大小的確定方法以及棧溢出檢測方法。給任務分配多大的棧空間,一直是初學者比較頭疼的問題,本章就主要爲大家講解如何解決此問題。 本章教程配套的例子含Cortex-M3內核的STM32F1

原创 glib交叉編譯

編譯主機環境: Ubuntu 10.04 交叉編譯器版本:arm-linux-gcc 4.5.1 tar jxvf glib-2.24.1.tar.bz2 cd glib-2.24.1 ./autogen.sh touch arm.ca

原创 Qt 根據不同平臺的條件編譯

在使用iar,keil寫單片機時,都可以先#define一個變量,然後根據變量的不同值編譯不同的代碼 在Qt裏也可以這樣,針對嵌入式的程序,一般是會在X86上編譯,Debug,然後再部署到ARM去跑,這樣,X86與ARM之間,可能就會

原创 編譯live555共享庫

1. 編譯x86下的live555共享庫 tar zxvf live.2014.08.26.tar.gz cd live ./genMakefiles linux gedit BasicUsageEnvironm

原创 基於百度地圖Web API的物聯設備調試工具(一)

該工程源於一個測試工具的開發, 涉及到串口收發, 網絡數據收發, Qt與Js的交互, 經緯度距離計算等. 效果如下: 串口相關 //串口輪詢 void Frame::fillPortsInfo() { static cons

原创 IAR下庫文件的生成及使用

一. 生成庫 1、把不想生成庫的文件排除掉,在排除文件右擊Options->Exclude from build選中,然後確定. 2、在工程文件右擊Options->General Options->Output選擇Library,然後

原创 ffmpeg攝像頭採集h264編碼RTP發送

一. 相關API說明 1. av_register_all 2. avformat_network_init 不管是流媒體發送還是流媒體接收, 需要先執行該函數. 3. avformat_alloc_context

原创 代碼優化, volatile關鍵字

一.volatile的作用 volatile關鍵字是一種類型修飾符. 它總是與優化有關. 用volatile關鍵字修飾的變量,可以避免編譯器優化,從而可以提供對特殊地址的穩定訪問. 二.何時需要使用volatile關鍵字? 1、中斷服務程

原创 處理hardfault問題

在debug時經常會出現程序莫名其妙的掉到hardfault的中斷中,起初完全不知道是從哪裏查找問題,後來有遇到過幾次,通過網絡資料以及自己的調試,對於解決這樣的問題有一些體會,我分析給大家,希望對初學者有用。 1)對於出現這樣的問題,一

原创 MTK之UART串口收發數據

寄存器 UARTn_RBR: Rx Buffer Register,通過讀取該寄存器接收數據。要求LCR[7]=0。  UARTn_THR: Tx Holding Register,數據先寫入該寄存器,再送至PC端。要求LCR[7]=

原创 Qt應用程序國際化步驟

說明,本文檔的開發環境如下 Qt Creator 版本:2.4.1 Qt版本:4.7.0 Step1, 修改.pro文件 打開.pro文件,添加如下語句 TRANSLATIONS += mainwindow_en.ts mainw

原创 構建MBtiles離線地圖應用

PC端應用 1. 安裝Node.js    tar zxvf node-v0.4.9.tar.gz    cd node-v0.4.9    ./configure --prefix=/usr/local/x86 --wit

原创 Qt工程Windows下的安裝包製作

工具 Depends.exe nisedit2.0.3.exe nsis-2.50-setup.exe 先安裝nsis-2.50-setup.exe, 在安裝nisedit2.0.3.exe. 都按默認安裝即可. Depends.e

原创 Qt庫製作及測試

1. 庫的製作. 打開QtCreator, 選擇, 選擇文件->新建文件或項目->Library->C++庫. 然後, 按照下面的步驟進行. 最後點擊”完成”, 生成工程框架. 如下圖所示 刪除項目中的”libqbu

原创 Windows下編譯Opencv3

安裝Qt5.5.1 安裝mingw-msys-0.6-x86 安裝Cmake 在QtCreator中配置Cmake 解壓opencv-3.0.0.zip, 進入opencv-3.0.0目錄. 修改CMakeLists.txt文件.