public:it:embedded

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
public:it:embedded [2022/11/17 10:55] – [Linux 设备树] oakfirepublic:it:embedded [2023/02/20 18:36] (当前版本) oakfire
行 1: 行 1:
 ====== Embedded ====== ====== Embedded ======
 +  * [[https://www.withdiode.com/|Diode]],这个网站可以模拟面包板的电路实验,可视化放置各种电子元件,查看模拟效果。
 ===== IAR Embedded Workbench ===== ===== IAR Embedded Workbench =====
 嵌入式 C 编译器 , IDE 嵌入式 C 编译器 , IDE
行 21: 行 21:
 ===== Linux 设备树 ===== ===== Linux 设备树 =====
   * [[https://elinux.org/Device_Tree_Usage|Device Tree Usage]]   * [[https://elinux.org/Device_Tree_Usage|Device Tree Usage]]
-    * https://elinux.org/images/c/cf/Power_ePAPR_APPROVED_v1.1.pdf+    * 标准: 老的 [[https://elinux.org/images/c/cf/Power_ePAPR_APPROVED_v1.1.pdf|ePAPR v1.1]]  ->  新的[[https://www.devicetree.org/specifications/|The Devicetree Specification]] 
 +    * node 命名规则:section 2.2.2 of the ePAPR 
 +    * **compatible** 属性标示对应的驱动, 格式 ''compatibel="<manufacturer>,<model>","<manu2>,<model2>"'', 头一个表精确匹配,后续表兼容 
 +    * **reg** 属性,格式 ''reg = <address1 length1 [address2 length2] [address3 length3] ... >'' 
 +    * 设备树设置基本与驱动紧密关联,可查看对应文档来看怎么写,比如 [[https://elixir.bootlin.com/linux/v5.4.132/source/Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt|pinctrl]], 然后,比如 pinctrl 里的 group 还得查看对应硬件驱动的说明文档 
 +===== Yocto ===== 
 +  * [[https://www.yoctoproject.org/|yoctoproject.org]]: 嵌入式定制linux 
 + 
 +===== Linux GPIO ===== 
 +  * Linux用户层的GPIO 操作标准接口,参考[[https://elixir.bootlin.com/linux/v4.20.17/source/Documentation/gpio/sysfs.txt|Documentation/gpio/sysfs.txt]] 
 +  * 控制接口:<code shell> 
 +/sys/class/gpio/export #用户空间可以通过写入gpio号申请将gpio的控制权导出到用户空间,比如 echo 42 > export 
 +/sys/class/gpio/unexport # 和export相反 
 +/sys/class/gpio/gpiochip0 # gpio控制器 
 +</code> 
 +  * 调用接口:使用export导出gpio的控制权以后会有路径/sys/class/gpio/gpio42/,路径下有如下属性: 
 +    * **direction**:表示GPIO端口方向,读取为”in”或”out”,写入”in”或者”out”可以设置输入或输出 
 +    * **value**:表示GPIO的电平,0为低电平,1为高电平,如果GPIO配置为输出,则value值可写 
 +    * **edge**:表示中断触发方式,有”none” “rising” “falling” “both” 4种类型, 
 +      * none: 表示GPIO不为中断引脚, 
 +      * rising: 表示引脚为上升沿触发的中断, 
 +      * falling: 表示引脚为下降沿触发的中断, 
 +      * both: 表示引脚为边沿触发的中断
  
  • public/it/embedded.1668653726.txt.gz
  • 最后更改: 2022/11/17 10:55
  • oakfire