Linux内核---48.spi驱动修改

本文介绍如何为TQ2440开发板配置SPI设备驱动,包括添加必要的头文件、定义SPI设备信息及平台数据,并在内核配置中启用相应的SPI支持。
arch/arm/mach-s3c2440/mach-tq2440.c
  1. --- a/arch/arm/mach-s3c2440/mach-tq2440.c
  2. +++ b/arch/arm/mach-s3c2440/mach-tq2440.c
  3. @@ -46,+46,9 @@
  4.  
  5.  #include <sound/s3c24xx_uda134x.h>
  6.  
  7. +#include <../mach-s3c2410/include/mach/spi.h>
  8. +#include <linux/spi/spi.h>
  9. +
  10.  static struct map_desc tq2440_iodesc[] __initdata = {
  11.  };
  12.  
  13. @@ -318,+321,22 @@ static struct platform_device s3c_device_uda134x = {
  14.         }
  15.  };
  16.  
  17. +static struct spi_board_info s3c2410_spi0_board[] = {
  18. + [0] = {
  19. + .modalias = "spidev",
  20. + .bus_num = 0,
  21. + .chip_select = 0,
  22. + .irq = IRQ_EINT10,
  23. + .max_speed_hz = 500*1000,
  24. + },
  25. +};
  26. +
  27. +static struct s3c2410_spi_info s3c2410_spi0_platdata = {
  28. + .pin_cs = S3C2410_GPG2,
  29. + .num_cs = 1,
  30. + .bus_num = 0,
  31. +};
  32. +
  33.  static struct platform_device *tq2440_devices[] __initdata = {
  34.         &s3c_device_usb,
  35.         &s3c_device_lcd,
  36. @@ -330,+349,7 @@ static struct platform_device *tq2440_devices[] __initdata = {
  37.  #endif
  38.         &s3c_device_usbgadget,
  39.         &s3c_device_uda134x,
  40.         + &s3c_device_spi0,
  41.  };
  42.  
  43.  static void __init tq2440_map_io(void)
  44. @@ -346,+366,8 @@ static void __init tq2440_machine_init(void)
  45.  
  46.         platform_add_devices(tq2440_devices, ARRAY_SIZE(tq2440_devices));
  47.         EmbedSky_machine_init();
  48. + s3c_device_spi0.dev.platform_data= &s3c2410_spi0_platdata;
  49. + spi_register_board_info(s3c2410_spi0_board, ARRAY_SIZE(s3c2410_spi0_board));
  50.         s3c2410_gpio_setpin(S3C2410_GPG12, 0);
  51.         s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPIO_OUTPUT);
  52.         s3c24xx_udc_set_platdata(&EmbedSky_udc_cfg);
所有的改动都是在arch/arm/mach-s3c2440/mach-tq2440.c中
1. 添加include
  1. #include <../mach-s3c2410/include/mach/spi.h>
  2. #include <linux/spi/spi.h>
2.添加board_info
  1. static struct spi_board_info s3c2410_spi0_board[] = {
  2.         [0] = {
  3.                  .modalias = "spidev",
  4.                 .bus_num = 0,
  5.                 .chip_select = 0,
  6.                 .irq = IRQ_EINT10,
  7.                 .max_speed_hz = 500*1000,
  8.         },
  9. };

  10. static struct s3c2410_spi_info s3c2410_spi0_platdata = {
  11.         .pin_cs = S3C2410_GPG2,
  12.         .num_cs = 1,
  13.         .bus_num = 0,
  14. };
并在tq2440_machine_init中将board_info赋值
  1. static void __init tq2440_machine_init(void)
  2. {
  3.     ....
  4.     s3c_device_spi0.dev.platform_data= &s3c2410_spi0_platdata;
  5.     spi_register_board_info(s3c2410_spi0_board, ARRAY_SIZE(s3c2410_spi0_board));
  6.     .....
  7. }
3.最后添加spi的设备
因为在./arch/arm/plat-s3c24xx/devs.c中己经有了spi0的platform_device,
这儿只需要添加到设备列表中即可
  1. static struct platform_device *tq2440_devices[] __initdata = {
  2.     &s3c_device_spi0,
  3. };
4. 内核配置: make menuconfig
  1. Device Drivers --->
  2.       [*] SPI support ---> 
  3.          *** SPI Master Controller Drivers *** 
  4.          -*- Utilities for Bitbanging SPI masters --> SPI_BITBANG
  5.          < > GPIO-based bitbanging SPI Master --> SPI_GPIO not set 
  6.          <*> Samsung S3C24XX series SPI --> SPI_S3C24XX
  7.          <*> Samsung S3C24XX series SPI by GPIO --> SPI_S3C24XX_GPIO
  8.          *** SPI Protocol Masters *** 
  9.          <*> User mode SPI device driver support --> SPI_SPIDEV
  10.          < > Infineon TLE62X0 (for power switching)
1-3是添加spi的设备,4步是添加spi的driver
make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver” *** *** Making pcan driver in chardev mode *** *** Host OS Release=Ubuntu v22.04 *** Host machine kernel version=6.8.0-87-generic *** Driver kernel version=6.8.0-87-generic (6.8.0) *** Path to kernel sources=/usr/src/linux-headers-6.8.0-87-generic *** use KBUILD=yes *** use DKMS= *** x86_64-linux-gnu-gcc-12 version=12 *** gcc versions detected on this host: *** /usr/bin/gcc-11 /usr/bin/gcc-12 *** make -C /usr/src/linux-headers-6.8.0-87-generic EXTRA_CFLAGS="-I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -DNO_DEBUG -DMODVERSIONS -DNO_PARPORT_SUBSYSTEM -DUSB_SUPPORT -DPCI_SUPPORT -DPCIEC_SUPPORT -DISA_SUPPORT -DNO_DONGLE_SUPPORT -DNO_PCCARD_SUPPORT -DNO_NETDEV_SUPPORT -DNO_RT -Wno-date-time" V=0 modules M=/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver make[2]: 进入目录“/usr/src/linux-headers-6.8.0-87-generic” CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_main.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_fops.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_fifo.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_filter.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_parse.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_sja1000.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_common.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_timing.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcanfd_core.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcanfd_ucan.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_usb_core.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_usb.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_usbpro.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcanfd_usb.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_pci.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcanfd_pci.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_pci_spi.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_pciec.o CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/src/pcan_isa.o LD [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/pcan.o MODPOST /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/Module.symvers CC [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/pcan.mod.o LD [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/pcan.ko BTF [M] /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/pcan.ko Skipping BTF generation for /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver/pcan.ko due to unavailability of vmlinux make[2]: 离开目录“/usr/src/linux-headers-6.8.0-87-generic” make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver” make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib” *** *** Making pcan libraries *** *** x86_64-linux-gnu-gcc-12 version: 12 *** x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../driver -fPIC -Wall -Wcast-align -Wredundant-decls -DPCANFD_OLD_STYLE_API -c src/libpcan.c -o obj/libpcan.o x86_64-linux-gnu-gcc-12 -shared -Wl,-soname,libpcan.so -o lib/libpcan.so.6 obj/libpcan.o cd lib/; ln -sf libpcan.so.6 libpcan.so x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../driver -fPIC -Wall -Wcast-align -Wredundant-decls -DPCANFD_OLD_STYLE_API -c src/libpcanfd.c -o obj/libpcanfd.o x86_64-linux-gnu-gcc-12 -shared -Wl,-soname,libpcanfd.so -o lib/libpcanfd.so.8 obj/libpcanfd.o cd lib/; ln -sf libpcanfd.so.8 libpcanfd.so ar rcs lib/libpcanfd.a obj/libpcanfd.o Info: only 64-bit version of libpcan can be built. 32-bit version of libpcan can't because the 32-bit version of libc seems not being installed... make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib” make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/test” *** *** Making example and test programs *** *** x86_64-linux-gnu-gcc-12 version: 12 *** x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../lib -I../driver -g src/receivetest.c src/common.c -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -o receivetest x86_64-linux-gnu-g++ -DNO_RT -I. -I../lib -I../driver -g src/transmitest.cpp src/common.c src/parser.cpp -lstdc++ -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -o transmitest x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../lib -I../driver -g src/bitratetest.c src/common.c -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -o bitratetest x86_64-linux-gnu-g++ -DNO_RT -I. -I../lib -I../driver -g src/filtertest.cpp src/common.c -lstdc++ -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -o filtertest x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../lib -I../driver -g src/pcanfdtst.c -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -lpthread -o pcanfdtst x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../lib -I../driver -g src/pcan-settings.c -lpopt -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -g -o pcan-settings x86_64-linux-gnu-gcc-12 -DNO_RT -I. -I../lib -I../driver -g src/receivetest_posix.c src/common.c -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -lpthread -o receivetest_posix x86_64-linux-gnu-g++ -DNO_RT -I. -I../lib -I../driver -g src/transmitest_posix.cpp src/common.c src/parser.cpp -lstdc++ -lpcanfd -L../lib/lib -Wl,-rpath ../lib/lib -lpthread -o transmitest_posix make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/test” make[1]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic” *** *** Processing 'pcanbasic' directory... *** make[2]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic” *** *** Making PCANBasic library with FD support (PCAN driver >= 8.0)... *** *** target=libpcanbasic *** version=4.10.0 *** PCAN_ROOT=/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0 *** x86_64-linux-gnu-gcc-12 version=12 *** mkdir -p out x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -c src/libpcanbasic.c -o out/libpcanbasic.o x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -c src/pcaninfo.c -o out/pcaninfo.o x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -c src/pcanlog.c -o out/pcanlog.o x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -c src/pcbcore.c -o out/pcbcore.o x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -c src/pcblog.c -o out/pcblog.o x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -c src/pcbtrace.c -o out/pcbtrace.o x86_64-linux-gnu-gcc-12 -fPIC -shared "-O2" -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -Wpedantic -fvisibility=hidden -DNO_RT -Iinclude -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -Wno-pedantic -c /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib/src/libpcanfd.c -o out/libpcanfd.o x86_64-linux-gnu-gcc-12 -shared -Wl,-soname,libpcanbasic.so.4 -o lib/libpcanbasic.so.4.10.0 out/libpcanbasic.o out/pcaninfo.o out/pcanlog.o out/pcbcore.o out/pcblog.o out/pcbtrace.o out/libpcanfd.o -lm -lpthread -Xlinker --retain-symbols-file=src/libpcanbasic.def cd lib/; ln -sf libpcanbasic.so.4.10.0 libpcanbasic.so; ln -sf libpcanbasic.so.4.10.0 libpcanbasic.so.4 Info: only 64-bit version of libpcanbasic can be built. 32-bit version of libpcanbasic will not be build because the 32-bit version of libc seems not being installed... make[2]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic” *** *** Processing 'pcaninfo' directory... *** make[2]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcaninfo” *** *** Making pcaninfo... *** *** target=pcaninfo *** version=1.4.0 *** PCAN_ROOT=/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0 *** x86_64-linux-gnu-gcc-12 version=12 *** x86_64-linux-gnu-gcc-12 src/main.c ../pcanbasic/src/pcanlog.c ../pcanbasic/src/pcblog.c ../pcanbasic/src/pcbtrace.c ../pcanbasic/src/pcbcore.c ../pcanbasic/src/pcaninfo.c /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib/src/libpcanfd.c -O2 -Wall -Wcast-align -Wcast-qual -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wunused -DNO_RT -I../pcanbasic/include -I../pcanbasic/src -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/lib -lm -lpthread -ldl -o pcaninfo.1.4.0 ln -sf pcaninfo.1.4.0 pcaninfo make[2]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcaninfo” *** *** Processing 'examples' directory... *** make[2]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples” *** *** Processing 'C' directory (console examples)... *** make[3]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/c” *** *** Making PCANBasic C examples *** *** target=pcanwrite pcanread pcaneventread pcaneventwrite *** x86_64-linux-gnu-gcc version=11 *** PCAN_ROOT=/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0 *** PCANBASIC_ROOT=/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic *** x86_64-linux-gnu-gcc -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -DNO_RT src/pcanwrite.c -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o pcanwrite x86_64-linux-gnu-gcc -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -DNO_RT src/pcanread.c -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o pcanread x86_64-linux-gnu-gcc -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -DNO_RT src/pcaneventread.c -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o pcaneventread x86_64-linux-gnu-gcc -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -DNO_RT src/pcaneventwrite.c -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o pcaneventwrite make[3]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/c” *** *** Processing 'NativeC++' directory (console examples)... *** make[3]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++” *** *** Making PCANBasic C++ examples... *** make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/01_LookUpChannel” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 01_LookUpChannel.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o ../LookUpChannel make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/01_LookUpChannel” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/02_GetSetParameter” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 02_GetSetParameter.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o ../GetSetParameter make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/02_GetSetParameter” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/03_ManualRead” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 03_ManualRead.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o ../ManualRead make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/03_ManualRead” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/04_ManualWrite” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 04_ManualWrite.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -o ../ManualWrite make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/04_ManualWrite” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/05_TimerRead” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 05_TimerRead.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -lpthread -o ../TimerRead make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/05_TimerRead” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/06_TimerWrite” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 06_TimerWrite.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -lpthread -o ../TimerWrite make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/06_TimerWrite” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/07_ThreadRead” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 07_ThreadRead.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -lpthread -o ../ThreadRead make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/07_ThreadRead” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/08_EventDrivenRead” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 08_EventDrivenRead.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -lpthread -o ../EventDrivenRead make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/08_EventDrivenRead” make[4]: 进入目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/09_TraceFiles” g++ -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/include -I/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/driver -std=c++11 -Wno-format-truncation 09_TraceFiles.cpp RunExample.cpp -L/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -Wl,-rpath /home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/pcanbasic/lib -lpcanbasic -lpthread -o ../TraceFiles make[4]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++/09_TraceFiles” make[3]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples/NativeC++” make[2]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic/examples” make[1]: 离开目录“/home/zhm/Downloads/peak-linux-driver-8.20.0.tar.gz/peak-linux-driver-8.20.0/libpcanbasic”有没有报错
最新发布
11-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值