开发笔记.md 6.1 KB

1.修改ubuntu的root密码

sudo passwd root

2.vim安装

vim apt install vim

3.按照ssh服务 {

sudo apt update
sudo apt install openssh-server
启动ssh
sudo systemctl start ssh
开机自启
sudo systemctl enable ssh
防火墙设置(可选)
sudo ufw allow ssh
开启root登录
sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password 找到这个,去掉前面的#,proht...改为yes
重启ssh
sudo systemctl restart ssh

} 4.换源

sudo vim /etc/apt/sources.list
将里面内容填入该文件中
{
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
}

5.开发环境搭建

sudo apt install gawk wget git diffstat unzip 
sudo apt install texinfo gcc-multilib build-essential chrpath socat 
sudo apt install libsdl1.2-dev xterm ncurses-dev lzop libelf-dev make
sudo apt-get install git ssh make gcc g++ libssl-dev liblz4-tool
sudo apt-get install expect patchelf chrpath gawk texinfo diffstat binfmt-support
sudo apt-get install qemu-user-static live-build bison flex fakeroot cmake
sudo apt-get install gcc-multilib g++-multilib unzip device-tree-compiler ncurses-dev libncurses5-dev

6.泰山派sdk

解压出来的.repo包执行下面命令
.repo/repo/repo sync -l -j88
如果报错:/usr/bin/env: ‘python’: No such file or director
apt-get install repo

7.编译内核

①到解压根目录下执行
    ./build.sh lunch 然后选择3 tspi-v10.mk  || ./build.sh device/rockship/rk356x/BoardConfig-rk3566-tspi-v10.mk
②选择buildroot系统
    export RK_ROOTFS_SYSTEM=buildroot
③编译
    两种选择,
        编译全部:包括rootfiles,时间长(几个小时),中间易报错。
        仅编译内核:学习设备树或驱动阶段够用,大概半小时,跳过视频教程的docker过程。
    ./build.sh all || ./build.sh kernel

8.泰山派操作手册网址

https://lceda001.feishu.cn/wiki/Da5owUV4dipiqUkZycbcxckinvc

9.vscode ssh连接主机

root@192.168.xxx.xxxx

10.瑞芯微烧录工具,分散烧录

网址:https://lceda001.feishu.cn/wiki/Da5owUV4dipiqUkZycbcxckinvc
第三章,系统SDK编译,下载,分散镜像
空白区域右键,导入
![alt text](image.png)

11.编译好后

./mkfirmware.sh  //将各种镜像复制到rock那个文件夹下
./build.sh updateimg

12.rockdev文件夹中会生成update.img

![alt text](image-1.png)

13.adb 连接(单独烧录跳转18点)

烧录好后,设备会被识别为adb设备。
这个时候,可以通过adb连接调试
![alt text](image-2.png)

14.设备树文件

立创给我们定好了一个用户设备树
tspi-rk3566-user-v10-linux.dts
![alt text](image-3.png)

15.驱动文件

立创给我们定好了一个led驱动
leds-gpio.c
![alt text](image-4.png)

16.驱动和设备配对

通过compatible与设备树配对
![alt text](image-5.png)

17.新增驱动,并编译

将这两个文件,放到leds-gpio.c同级目录下
![img.png](img.png)
然后到linux中执行,
./build.sh kernel
如果出现下面的这一行,说明编译成功。否则驱动有错误,请检查
![img_1.png](img_1.png)

18.烧录(单独烧录,适用于只编译linux kerenl(如wsl环境))(注意:烧录的是boot.img,不是uboot.img,吃了很多亏)

第12步,已经生成update.img
同时也生成了boot.img
![img_5.png](img_5.png)
将这个文件复制出来。
按图所示,勾选这一栏,并选择你刚刚复制出来的boot.img
![img_2.png](img_2.png)
如果烧录过update.img。会进入adb模式。
长按复位按钮,同事点按boot按钮,会进入loard模式。
![img_3.png](img_3.png)
这样就可以烧录了。
由于我们的驱动目前还没有绑定设备树,也没编写自动注册驱动程序。所以,目前需要手动注册。但是手动注册不是我们目的,后续直接用设备树进行注册。
  1. 注册字符设备驱动 ./驱动文件/2 查看驱动是否注册成功 img_4.png 成功打印,字符自动注册成功了。不过,没有使用设备树进行注册。

20.字符设备驱动在系统中哪里?

根据官方文档,字符设备驱动程序在内核的drivers目录下(/dev)
![img_6.png](img_6.png)
确实在这里找到了。
![img_7.png](img_7.png)

21.samba 文件传输

1.安装 Samba
    sudo apt update
    sudo apt install samba
2.配置共享文件夹(共享的文件路径自己定,/home/xu/linux/rockdev只是我本地的路径)
    sudo mkdir -p /home/xu/linux/rockdev(创建文件夹)
    sudo chown nobody:nogroup /srv/samba/share 
    sudo chmod 0777 /srv/samba/share(修改文件夹权限)
3.编辑 Samba 配置文件
    sudo vim /etc/samba/smb.conf(编辑文件)
4.在文件的末尾添加以下配置,设置共享文件夹名称、路径及访问权限:(这里使用了vim编辑器)
    ![img_8.png](img_8.png)
5.保存并关闭配置文件后,重启 Samba 服务以应用更改:
    sudo systemctl restart smbd
    sudo systemctl enable smbd
6.在 Windows 系统中,打开文件资源管理器,在地址栏中输入:
    \\Linux服务器IP(\\192.168.68.130)    
7.回车
    就可以看到共享文件夹,这个名字就是你修改配置时候的名字
    ![img_9.png](img_9.png)
    点进去,就可以看到文件了
    ![img_10.png](img_10.png
    交换文件,可以采用这两种方法,哪种方法好,自己选择。
    1.xshell+xfile 
    2.vscode+samba