原创 [RTT例程練習] 6.2 在 Finsh 中運行自定義函數

可以直接在Finsh中運行自己定義的函數。官方有三種方式,我覺得第二種比較方便,其他就不介紹了。 首先需要在application.c 中包含 finsh.h 頭文件,然後在函數下方添加宏 FINSH_FUNCTION_EXPORT(f

原创 [RTT例程練習] 4.1 定時器基本使用

定時器分爲軟件定時器和硬件定時器。 硬件定時器,是指單片機本身提供的一種外設,能夠產生定時事件,而且不佔用CPU時間。優點是定時精度高,獨立於CPU,還可靈活配置其他許多功能,例如PWM。 而軟件定時器是操作系統提供的一種定時接口,其精度

原创 [RTT例程練習] 3.2 動態內存管理之rt_realloc和free

realloc 用於重新分配內存的場景。如果原先通過 malloc分配的空間過小,則可通過realloc重新分配大小。當然具體實現的時候分兩種情況,如果原內存塊後有足夠的空間,則之間將原內存塊擴大,如果不夠,則重新尋找一個地方,將原數據也

原创 [RTT例程練習] 3.1 動態內存管理之rt_malloc和rt_free

rt_malloc和rt_free 和 malloc free 類似,是用來在堆上分配內存的,RT-Thread中是用小內存法來實現的。下面程序就是不停分配內存和釋放內存,並打印分配到的內存首地址。 程序: #include <rtth

原创 [RTT例程練習] 4.2 動態定時器

動態和靜態的意思和前面完全一樣,這裏不再重複。這裏創建兩個動態定時器,一個是週期的另一個是單次的。 其中timeout() 函數都是回調函數,即定時時間到之後,操作系統會自動調用的函數。 程序: #include <rtthread.h

原创 ELF文件介紹

Notes on the Flat-Text Transcription The content of this transcription differs from the content of the original doc

原创 爲 Visual Studio 配置 Git 源代碼管理工具

使用 Visual Studio 可以配合 Git 工具做版本管理。也可以直接將工程同步到 GitHub 上。配置過程非常簡單。 首先你要安裝 GIt,安裝和配置步驟見 安裝 Git,Windows 上只要替換其中的安裝步驟,其他類似

原创 [測試] markdown 寫作測試

聽說可以 markdown 寫博 我就來寫一下玩玩。 傳動機構由低速軸和高速軸組成。低速軸和高速軸轉動慣 量分別爲J r   和J g   ,摩擦係數分別爲B r   和B g   ,高低兩側的齒輪 比爲N g   。考慮傳動機構的粘

原创 USB HID 設備類協議入門

一、應用場合 USB HID類是比較大的一個類,HID類設備屬於人機交互操作的設備。用於控制計算機操作的一些方面,如USB鼠標,USB鍵盤,USB遊戲操縱桿,USB觸摸板,USB軌跡球、電話撥號設備、VC

原创 彙編學習-堆棧與子程序

任何程序在運行過程中都需要使用堆棧,操作系統爲每一個程序(進程及線程)設置一個堆棧。在使用高級語言編程時,源程序中使用的函數調用、局部變量都要用到堆棧,由編譯器來負責生成有關的機器指令。我的理解,堆棧就是維護當前線程中運行狀態的一個數據結

原创 [shellcode學習] 繞過條件判斷

shellcode學習第一個例子。 以下有一段c語言編寫的命令行程序,檢驗用戶輸入的數字,並判斷是否合法。這裏用戶的輸入被放在了函數的緩衝區裏,但程序沒有對緩衝區長度做檢查,留下了漏洞。這裏可以利用該漏洞繞過數字檢察,使得任意輸入都會被判

原创 Windows系統進程

系統空閒進程(Idle) 該進程的ID爲0,其中每個處理器或覈對應有一個線程。 System進程 在Windows XP和Windows Server 2003中改進程的ID爲4,它包含了內核模式系統進程。系統輔助線程,以及執行體和驅動程

原创 Git 如何合併其他 Remote 上面的更新

在 Github 上面 Fork 別人的項目時,我們常常會遇到主項目有了更新,這個時候怎麼把主項目的更新合併到自己 Fork的版本里面來呢? 今天突然有人問我這個問題,這裏就寫出來。 下面以 ruby-china 這個項目爲例,假設我是

原创 ubuntu12.04 卸載和安裝mysql

卸載mysql 第一步 1 sudo apt-get autoremove --purge mysql-server-5.0 2 sudo apt-get remove mysql-server 3

原创 ELF文件重定位

爲了保持簡潔,本文省去了對部分細節的描述,例如weak型變量,和GOT等重定位類型。 本文假設讀者瞭解ELF文件格式。代碼在附件中。 如果論壇不支持附件,可以發郵件給我要 1 ELF文件的裝載 在ELF文件中,使用section和pro