Skip to content

Instantly share code, notes, and snippets.

@hcyang1012
hcyang1012 / writesyscall.c
Created January 14, 2018 13:05
Write System Call for virtual keyboard
static ssize_t virtKeyboard_write(struct file *file, const char __user *buf, size_t len, loff_t *ppos){
u32 keycode = 0u;
u8 *kernel_buf = (u8*)kzalloc(len,GFP_KERNEL);
int ret = 0;
pr_info(LOG("Length : %d"),len);
if(kernel_buf == NULL){
pr_err(LOG("Not enough memory"));
return -ENOMEM;
}
@hcyang1012
hcyang1012 / Bash
Created October 10, 2018 22:07
Beaglebone Black NFS boot
setenv bootargs 'console=tty0 console=ttyO0,115200n8 root=/dev/nfs rootfstype=nfs rw nfsroot=172.30.1.33:/home/hcyang/bbb/rootfs ip=dhcp rootwait'
setenv ipaddr 172.30.1.50
setenv serverip 172.30.1.33
tftpboot 0x80200000 vmlinuz-4.9.119-bone11
tftpboot 0x815f0000 dtbs/am335x-boneblack.dtb
bootz 0x80200000 - 0x815f0000
@hcyang1012
hcyang1012 / bash
Created October 10, 2018 22:08
Making Rootfs for BBB
sudo cp -v ./uEnv.txt rootfs/
sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C rootfs/
sudo sync
sudo sudo chown root:root rootfs/
sudo sudo chmod 755 rootfs/
sudo sync
sudo cp -v ./bb-kernel/deploy/${kernel_version}.zImage rootfs/boot/vmlinuz-${kernel_version}
sudo mkdir -p rootfs/boot/dtbs/${kernel_version}/
sudo tar xfv ./bb-kernel/deploy/${kernel_version}-dtbs.tar.gz -C rootfs/boot/dtbs/${kernel_version}/
sudo tar xfv ./bb-kernel/deploy/${kernel_version}-modules.tar.gz -C rootfs/
@hcyang1012
hcyang1012 / Beaglebone Black Device Tree Configuration for DCAN1
Last active November 19, 2018 14:10
Beaglebone BlackConfiguration for DCAN1
/* Device Tree */
&dcan1{
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dcan1_pins_s0>;
};
sudo tar xfvp ./*-*-*-armhf-*/armhf-rootfs-*.tar -C /home/hcyang/work/boot/rootfs/
sync
sudo chown root:root /home/hcyang/work/boot/rootfs/
sudo chmod 755 /home/hcyang/work/boot/rootfs/
sync
sudo mkdir -p /home/hcyang/work/boot/rootfs/boot/
sudo mkdir -p /home/hcyang/work/boot/rootfs/boot/dtbs/${kernel_version}/
sudo mkdir -p rootfs/boot/dtbs/${kernel_version}/
sudo sh -c "echo 'uname_r=${kernel_version}' >> /home/hcyang/work/boot/rootfs/boot/uEnv.txt"
@hcyang1012
hcyang1012 / am335x-boneblack.dts
Last active April 13, 2019 13:27
Beaglebone Black Device Tree for enable SPI-LCD
/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "am33xx.dtsi"
@hcyang1012
hcyang1012 / from boot to platform_bus_init.txt
Last active August 12, 2019 22:30
Linux Kernel : From boot to platform_bus_init()
@startuml
participant "head.S"
participant "init/main.c"
participant "init/main.c (New kernel thread)"
head.S -> "init/main.c": start_kernel()
activate "init/main.c"
"init/main.c" -> "init/main.c": arch_call_rest_init()
activate "init/main.c"
"init/main.c" -> "init/main.c": rest_init();
class CPU {
public:
void Work();
private:
};
class Intel : public CPU{
public :
@hcyang1012
hcyang1012 / c++
Created November 29, 2022 00:53
Downcast Test
class CPU {
public:
void Work();
private:
};
class Intel : public CPU{
public :
@hcyang1012
hcyang1012 / rs
Created January 7, 2023 12:23
My first gist code
fn main() {
println!("Hello, world!");
}