Benutzer-Werkzeuge

Webseiten-Werkzeuge



programming:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
programming:start [2020/08/10 11:02]
frank [debugging]
programming:start [2022/08/12 20:59] (aktuell)
frank [Programmierung]
Zeile 2: Zeile 2:
 in diesem Abschnitt habe ich ein paar von mir häufig verwendete Code-Schnipsel hinterlegt. vielleicht ist der eine oder andere hilfreich ;) in diesem Abschnitt habe ich ein paar von mir häufig verwendete Code-Schnipsel hinterlegt. vielleicht ist der eine oder andere hilfreich ;)
  
-[[.:git:start|GIT]] +[[.:git:start|GIT]] [[.:svn:start|SVN]]
- +
-[[http://rogerdudler.github.io/git-guide/|GIT-Guide]] [[https://orga.cat/posts/most-useful-git-commands|useful commands]] +
- +
-[[https://twikirz.ethz.ch/twiki/bin/view/Subversion/SubversionGuide|SVN-Guide]] [[.:svn:start|SVN]]+
  
 [[.:bash]] [[.:bash]]
Zeile 14: Zeile 10:
 [[.:mysql]] [[.:mysql]]
  
 +[[.:python:start|Python]]
 +
 +[[.:php|PHP]]
 ===== Batch ===== ===== Batch =====
 ===== C/C++ ===== ===== C/C++ =====
-==== DTC ==== 
  
-http://thesoulofamachine.blogspot.com/2016/07/linux-dts-compilation-using-dtc-compiler.html+==== Makefile ====
  
-DTB dekompilieren:+  $(warning $$src is [${src}])
  
-  apt-get install device-tree-compiler+string-manipulation:
  
-  ~# dtc -I dtb -O dts sun8i-h3-orangepi-pc.dtb -/tmp/tmp.dts  +https://ftp.gnu.org/old-gnu/Manuals/make-3.79.1/html_chapter/make_8.html#SEC77 
-  ~# less /tmp/tmp.dts+==== Linux ====
  
-==== debugging ==== +=== Fixes (für backports) ===
-=== linux ===+
  
-  printk(KERN_ALERT "DEBUGPassed %s %d val:0x%0x\n",__FUNCTION__,__LINE__,(u32)val);+  Ccstable@vger.kernel.org
  
-links:+in den Signed-Off-Bereich 
 + 
 +Quellehttps://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html 
 + 
 +=== debugging === 
 + 
 +  printk(KERN_ALERT "DEBUG: Passed %s %d val:0x%0x\n",__FUNCTION__,__LINE__,(unsigned int)val); 
 + 
 +  dev_err(dev,"DEBUG: Passed %s %d val:0x%x\n",__FUNCTION__,__LINE__,val); 
 + 
 + 
 +=== cmdline === 
 + 
 +<code> 
 +//register params 
 +static int startreg=-1; 
 +module_param( startreg, int, S_IRUGO ); 
 +static int regcount=10; 
 +module_param( regcount, int, S_IRUGO ); 
 + 
 +//look for module-name 
 +static struct mdio_driver realtek_mdio_driver = { 
 + .mdiodrv.driver = { 
 + .name = "realtek-mdio",//<<<< 
 + 
 +//pass cmdline arguments 
 +realtek-mdio.startreg=0x1300 realtek-mdio.regcount=50 
 +</code> 
 + 
 +  * http://embeddedguruji.blogspot.com/2018/12/passing-parameters-to-linux-device.html 
 +  * https://ezs.kr.hsnr.de/TreiberBuch/html/sec.treiberparam.html 
 + 
 +=== Links ===
  
   * [[https://elixir.bootlin.com/linux/latest/source|elixir@bootlin]]   * [[https://elixir.bootlin.com/linux/latest/source|elixir@bootlin]]
-  * [[https://patchwork.kernel.org/project/linux-mediatek/list/|MTK-Patchwork]]+  * Patchwork 
 +    * [[https://patchwork.kernel.org/project/linux-mediatek/list/|Mediatek]] 
 +    * [[https://patchwork.kernel.org/project/linux-rockchip/list/|Rockchip]] 
 +    * [[https://patchwork.ozlabs.org/project/devicetree-bindings/list/|dt-bindings]]
   * GIT:   * GIT:
     * [[https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/refs/|stable]] [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/|torvalds]] [[https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/|linux-next]]     * [[https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/refs/|stable]] [[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/log/|torvalds]] [[https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/log/|linux-next]]
     * [[https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/log/|net]] [[https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/log/|net-next]]     * [[https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/log/|net]] [[https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/log/|net-next]]
 +    * [[https://git.kernel.org/pub/scm/linux/kernel/git/chunkuang.hu/linux.git/log/?h=mediatek-drm-next|drm mtk next]][[https://cgit.freedesktop.org/drm/drm/log/|drm]] [[https://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux.git/log/?h=for-next|mtk dts next]]
 +    * [[https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip.git|Rockchip SoC/DTS]]
 +    * [[https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git|dt-bindings]]
  
-=== uboot ===+==== U-Boot ==== 
 + 
 +=== debugging ===
  
   #define DEBUG 1   #define DEBUG 1
  
-vor "#include <common.h>" um vorhandene debug() anzuzeigen +vor "#include <common.h>" um vorhandene/zusätzliche debug() anzuzeigen
  
-oder manuell:+  debug("## %s:%d...\n", __FILE__,__LINE__); 
 + 
 +oder manuell (wird immer angezeigt):
  
   printf("%s:%d val:0x%0x\n",__FUNCTION__,__LINE__,(u32)val);   printf("%s:%d val:0x%0x\n",__FUNCTION__,__LINE__,(u32)val);
 +
 +=== Links ===
  
   * [[https://elixir.bootlin.com/u-boot/latest/source|elixir@bootlin]]   * [[https://elixir.bootlin.com/u-boot/latest/source|elixir@bootlin]]
   * [[https://patchwork.ozlabs.org/project/uboot/list/|Uboot-Patchwork]] [[https://lists.denx.de/pipermail/u-boot/|Mailinglist Archiv]]   * [[https://patchwork.ozlabs.org/project/uboot/list/|Uboot-Patchwork]] [[https://lists.denx.de/pipermail/u-boot/|Mailinglist Archiv]]
   * [[https://gitlab.denx.de/u-boot/u-boot|uboot gitlab]]   * [[https://gitlab.denx.de/u-boot/u-boot|uboot gitlab]]
-===== CSS ===== 
  
-===== HTML ===== 
-===== PHP ===== 
-==== Parameter auslesen ==== 
-<code php> 
-  $filter=""; 
-  if (isset($_POST["filter"])) 
-    $filter=$_POST["filter"]; 
-  else if (isset($_GET["filter"])) 
-    $filter=$_GET["filter"]; 
-  $filter_a=array(); 
-  if ($filter)$filter_a=preg_split("/,/",$filter); 
-</code> 
  
-==== Datumsrechnung ==== +==== DTC ====
-<code php> +
-if ($endtime=="0000-00-00 00:00:00") {$endtime=strftime("%Y-%m-%d %H:%M:%S",strtotime('+1 day',strtotime($starttime)));+
-if ($endtime=="0000-00-00 00:00:00") {$endtime=strftime("%Y-%m-%d %H:%M:%S",strtotime('+24 hour',strtotime($starttime)));}+
  
-$endTime = strtotime("+15 minutes", strtotime($selectedTime)); +http://thesoulofamachine.blogspot.com/2016/07/linux-dts-compilation-using-dtc-compiler.html
-</code>+
  
 +DTB dekompilieren:
  
-==== mehrstufige Sortierung ==== +  sudo apt-get install device-tree-compiler
-(3fach,2stellig,Trennzeichen /)  +
-<code php> +
-function port_cmp($a, $b) +
-+
-  $a_a=preg_split("/\//",$a); //Werte nach Trennzeichen (hier /) trennen +
-  $a_b=preg_split("/\//",$b);+
  
-  $a_a[]="0";//sicherstellen, dass mindestens 3 Einträge im array sind +  dtc -I dtb -O dts sun8i-h3-orangepi-pc.dtb -o /tmp/tmp.dts  
-  $a_b[]="0"; +  less /tmp/tmp.dts 
-  $a=sprintf("%02d%02d%02d",$a_a[0],$a_a[1],$a_a[2]); //2-stellig (führende 0) alle 3 Werte hintereinander +   
-  $b=sprintf("%02d%02d%02d",$a_b[0],$a_b[1],$a_b[2]);+  #Alternative ohne temporäre Datei 
 +  dtc -I dtb -O dts ../build/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dtb | less 
 +   
 +  #aus sysfs 
 +  dtc -I fs -O dts /sys/firmware/devicetree/base | less
  
-  //If a b, return 0, If a > b, return 1, If a < b, return -1 +=== dtbs_check ===
-  if (intval($a)==intval($b)) +
-    return 0; +
-  else if (intval($a)>intval($b)) +
-    return 1; +
-  else return -1; +
-}+
  
-uksort($ports,"port_cmp");//user-key-sort +  sudo apt install swig yamllint 
-</code>+ 
 +  pip3 install dtschema --upgrade 
 +  pip3 show dtschema 
 + 
 +  ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/ahci-platform.yaml 
 +  ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make defconfig #dtbs_check need kernel-config 
 +  ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/ahci-platform.yaml 
 +  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make multi_v7_defconfig 
 +  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make dtbs_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/ata/ahci-platform.yaml 
 +   
 +  #maybe need to add dir to path 
 +  PATH=$PATH:~/.local/bin 
 +===== CSS ===== 
 + 
 +===== HTML =====
  
programming/start.1597050167.txt.gz · Zuletzt geändert: 2020/08/29 17:14 (Externe Bearbeitung)