keil環境下移植cJSON
前言
由於工作需要,需要在STM32上使用Json,所以把一個JSON庫移植到了STM32(keil MDK),實際上keil已經有了JSON擴充套件包(Jansson),只需要從keil官網上下載JSON Pack再匯入就行。
這篇文章主要講解如何把cJSON移植到keil環境下,用於STM32。
測試平臺
- keil版本:uVision 5.2.1a
- 晶片型號:STM32F051
下載並移植cJSON庫
cJSON有三個原始檔及其對應的標頭檔案:cJSON.c/cJSON.h,cJSON_Utils.c/cJSON_Utils.h,test.c/test.h。我們主要使用cJSON和test,把這些檔案拷貝到keil工程目錄下,並新增入keil工程目錄。
由於test.c檔案裡面有main主函式,可以把這個主函式改一下,然後在自己工程的main主函式呼叫該測試函式即可。
儲存,編譯,燒寫程式碼。
注意事項
- 由於cJSON使用printf列印資料,要先重定向printf輸出到串列埠,之後用串列埠除錯工具檢視cJSON除錯資訊,具體做法可以點選這裡或者參考其他資料;
- 正常執行cJSON的測試例程需要3KB的heap,如果晶片記憶體足夠,可以在啟動檔案(startup_XXX.s)裡修改。
我這次專案使用的晶片是STM32F051,預設大小是512B,不修改這裡的話解析test檔案的json是會出錯的,最多隻能解析三層鍵值項。 - cJSON的文件檢視
相關推薦
keil環境下移植cJSON
前言 由於工作需要,需要在STM32上使用Json,所以把一個JSON庫移植到了STM32(keil MDK),實際上keil已經有了JSON擴充套件包(Jansson),只需要從keil官網上下載JSON Pack再匯入就行。 這篇文章主要講解如何把cJSON
KEIL環境下指定輸出檔案路徑
我們在KEIL 上面建立的工程,如果不作任何設定而進行編譯、連結等等動作,必定在工程檔案當前目錄產生字尾為 .o .crf .dep .d .lst 等檔案。簡單的工程,其生成的檔案數量尚能容忍,一旦工程裡頭包含的原始檔有一定的規模,到達那個程式設計水平的你一定不
Android開發——Android Studio下使用Cmake在NDK環境下移植Dlib庫
環境要求 使用AS2015平臺,SDK Manager中已經安裝了Cmake(編譯工具),NDK(環境),LLDB(偵錯程式)。沒有裝的話,開啟SDK Manager選中安裝重啟AS就可以了。 AS專案結構: 我從不勾選C++ Support的專案開始
Keil環境下“無法執行C:\Keil\C51\BIN\A51.exe”
本人近來編寫了些許硬體程式碼,一些問題還是較坑,在此記錄下來: 前提:程式是針對80C51晶片的。 編譯器編譯時程式碼正確無誤,但是建立目標時出現錯誤:“無法執行C:\Keil\C51\BIN\A51.exe” 解決辦法:(1)先用管理員許可權執行,不行的話看下一步; (2
Android環境下移植busybox-1.21.1
前言:本移植主要是為了實現安卓環境下DHCP伺服器和telnetd伺服器功能。 Dhcp伺服器主要修改快取檔案路徑“/tmp/leases”,telnetd主要新增登陸驗證,這個牽扯到login命令。
在Keil環境下使用JLink實現printf輸出重定向至debug視窗
在工程裡面新增下列程式碼: #include <stdio.h> #define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) #define ITM_Port16(n) (
Mac環境下Android Studio移植FFmpeg
準備: 1. Android Studio 2. FFmpeg-2.8.4 3. android-ndk-r10e 一、ndk編譯ffmpeg 1.下載ffmpeg和ndk ffmpeg下載地址:http://
ethercat IGH移植linux環境下出現的問題
問題1:當進行核心編譯的時候出現了編譯出錯的問題 如圖 編譯核心時出現“Disable CONFIG_CC_STACKPROTECTOR in your kernel configuration”字樣,在網上查詢資料最終在 https://blog.csdn
linux環境下ARM移植libcurl
因為用的板子是ZLG的imx280a,所以我安裝的Ubuntu直接用他們給的了。 系統環境:VM-Ubuntu-12.04-64bit-zlg(這個無所謂,我直接用的ZLG官方給的映象安裝的) libcurl的安裝包:curl-7.55.1.tar(這是我做的時候出的最
【轉】集群/分布式環境下5種session處理策略
學習 原理 memcache 可選 ret 當前 memcach uil 服務器 轉載至:http://blog.csdn.net/u010028869/article/details/50773174 在搭建完集群環境後,不得不考慮的一個問題就是用戶訪問產生的sessi
window7環境下ZooKeeper的安裝運行及監控查看
nap keep data utf 如果 兩個文件 direct directory 服務 原文:http://www.cnblogs.com/RainAndWind/p/4668427.html ZooKeeper是一個分布式開源框架,供了協調分布式應用的基本服務。這些
Linux環境下的 pyenv的安裝
pyenvCentOS上安裝pyenv:在安裝pyenv前,需要先安裝如下的依賴包:在 CentOS/RHEL/Fedora 下:yum install readline readline-devel readline-static yum install openssl openssl-devel open
linux環境下部署zabbix3.2、模板、郵件告警詳細過程
-1 ice erer without zlib zip ever native item 服務端部署: 系統環境及軟件版本: Linux:release 6.3 zabbix:zabbix-3.2.5.tar.gz nginx:nginx-1.12.0.tar.gz ph
Hyperledger fablic 0.6 在centos7環境下的安裝與部署
maker ber gin sudo 管理 lease nts eve blank 原文:http://blog.csdn.net/zhaoliang1131/article/details/54617274 Hyperledger Fabric超級賬本 項目約定共同遵守
【甘道夫】Ubuntu14 server + Hadoop2.2.0環境下Sqoop1.99.3部署記錄
tool share 環境變量 解壓 gdi yar base soft mil 第一步。下載、解壓、配置環境變量: 官網下載sqoop1.99.3 http://mirrors.cnnic.cn/apache/sqoop/1.99.3/ 將sqoop解
win 環境下報錯 Namespace declaration statement has to be the very first
ica found space all fopen 頭文件 bstr spa while 啟動 start_for_win.bat 的時候報錯 Namespace declaration statement has to be the very first ,這是由於 b
Android 開發之Windows環境下Android Studio安裝和使用教程(圖文詳細步驟)
9.png 虛擬機 jdk版本 編寫 clip 開發平臺 集成開發 arc 電腦安裝 鑒於谷歌最新推出的Android Studio備受開發者的推崇,所以也跟著體驗一下。 一、介紹Android Studio Android Studio 是一個Android
2.Linux環境下配置Solr4.10.3
margin 內容 src source -type alt 技術 tgz 安裝包 1.準備階段 操作系統:CentOS 6.8 安裝包:/home/test solr-4.10.3.tgz.tar IK Analyzer 2012FF_hf1.zip jdk-8u12
windows環境下wampserver的配置教程
module 單獨 ext 寫作 還需 sta write 打開 服務器 對於初做PHP網站的朋友來說,第一步肯定是希望在自己電腦是搭建PHP環境,省去空間和上傳的麻煩!但搭建環境也不是件容易的事情,特別是對於新手同學來說!因此在這裏跟大家介紹我作為一名新手在使用的方便好用
由一個簡單需求到Linux環境下的syslog、unix domain socket
message python domain 服務器 import 需求:回到頂部 工作中有一個在Linux(debian8)環境下運行的服務器程序,用python語言實現,代碼中有不同優先級的日誌需要記錄,開發的時候都是使用python的logging模塊輸出到文件,示例代碼如下: