原创 [xenomai驅動] 中斷,事件 等相關api

#RTDM中斷請求函數原型: --------------------------------------------------------------------------------------------------------

原创 [xenomai驅動] 字符設備測試

Xenomai3驅動程序: 驅動C文件: 自定義Mydriver.c,用於xenomai內核設備驅動相關 原始源文件路徑:xenomai3.x\kernel\drivers\testing\rtdmtest.c 相關函數解析: st

原创 [Bnis] Linux內核驅動helloworld

在桌面新建文件夾,並在文件夾裏面新建hello.c , 內容如下: #include <linux/init.h> #include <linux/module.h> #include <linux/kernel.h> #include

原创 [xenomai驅動] 定時器測試

/* * Copyright (C) 2019 BNIS * 用dmesg -c 查看 * 定時器測試,insmod 模塊後,定時器1爲每隔1秒鐘觸發一次!測試顯示定時器分辨率精度, 定時器2爲每隔2秒觸發一次。 * Timer-ap

原创 [xenomai驅動] 任務task測試

/* * Copyright (C) 2019 BNIS * Make file 請參考過往博客 * 本例程在模塊初始化時啓動3個任務。在任務1中,實現了類似定時器 * 的定時功能,通過第2任務去結束第1任務,任務3啓動後等待

原创 Ubuntu與Windows 共享文件方法,方便編輯代碼

1.試過在Vmware裏設置win共享文件夾(VMware->設置->共享文件夾->添加),然後ubuntu將項目放到該目錄下(/mnt/hgfs/),然後win裏面修改代碼;在ubuntu中makefile, 但發現這種情況下makef

原创 [xenomai驅動] 互斥鎖 和信號量 api

在Linux線程同步機制裏常用有互斥鎖和信號量兩種方法. 在理解爲什麼有些代碼需要加鎖後再執行,先了解一下原子操作的概念 所謂原子操作是指不會被線程調度機制打斷的操作;這種操作一旦開始,就一直運行到結束, 中間不會有任何 context

原创 [xenomai] 線程測試

// 啓動多個xenomai進程,並通過top指令查看各個xn進程的切換數據,啓動程序時增加一個task的優先級,默認是最高的99 //通過watch  cat /proc/xenomai/sched/stat 動態查看 MSW(模式切換

原创 Linux 串口讀寫開發,結合虛擬串口使用

1.沒有實體串口情況下可以使用虛擬串口,運行一下python腳本 #! /usr/bin/env python #coding=utf-8 import pty import os import select def mkpty(

原创 您懂的CLion

您懂的CLion: http://lookdiv.com 鑰匙:lookdiv.com

原创 CAN開發調試

在linux上開發CAN接口,但沒有實體的CAN設備 (如VMware系統),可以考慮使用虛擬CAN接口來進行數據調試。(思路和虛擬串口一樣) 安裝vcan步驟:(測試平臺Ubuntu16.04) sudo modprobe vcan

原创 [硬件驅動] CAN接口

CAN接口的介紹: CAN總線可分爲: 高速CAN,低速CAN ,單線CAN。 1.在速度方面高速CAN的傳輸速率(波特率)在125K~~1Mbps 。低速CAN的速率在125Kbps以下,低速CAN具更好的容錯性。單線CAN波特率在33

原创 xenomai-linux 實時性調試

本程序可以查看實時程序中是否調用了非實時接口,如果是的話會發送sigdebug信號提示或結束,開發者寫實時程序的時候可以加上以防止寫了非實時代碼。 測試發現調用open,close write等常用inux系統調用都會進入非實時模式。打開

原创 [單片機] MCU自定義引腳當串口

串口RS232的數據協議有兩種,我們以PC與8位/32位單片機間比較常用的異步模式爲例子講解. 單片機的TXD引腳先發一個低電平0給對方,然後發送5–8個位作爲數據,最後發送1個位奇偶校驗和1個位高電平1作爲停止位. 以下例子爲波

原创 程序計算精確圓周率Pai的方法

一些參考資料: http://www.guokr.com/blog/444081/ 大家都知道π=3.1415926……無窮多位, 歷史上很多人都在計算這個數, 一直認爲是一個非常複雜的問題。現在有了電腦計算機, 這個問題就簡單