小梅哥

  • 2019-01-29
  • 回复了主题帖: 求助:使用Altera Monitor 编译cortex-a9程序时,数学库报错

    可能是在gcc中,sin,sqrt等函数是在libm.so库文件中,并非在math.h中。 解决办法:直接使用lm参数即可,例如gcc -o Gen Gen.c -lm 在这个软件中,也可以指定编译参数。可以在设置中添加包含libm库来实现

  • 发表了主题帖: 【小梅哥SoC】如何查看SoC FPGA的系统中FPGA侧添加的GPIO的编号并使用中断

    将Intel SoC FPGA的开发方法详细系统的整理出来,小梅哥一直在努力。(YY自嗨一把)。 问题描述         之前因为中断号的问题,卡了几年。对于ARM侧自己的GPIO,都有一个计算公式可以算出每个pin 对应的GPIO号,而对于在FPGA侧为ARM添加的PIO,添加之后该PIO的编号是多少,一直是一个困扰着我的难题,因为自己Linux方面很菜,很菜很菜,所以一直不知道如何去解决,今天终于在官网上找到了解答。以下为原文内容,我就不翻译了。最后附上能够在我们的AC501-SoC的系统中直接实验的按键中断的源码。 纯英文的,翻译过来就懂了,是的,你没猜错,这是我官网复制粘贴的,不是我写的, Application to register interrupt and write simple interrupt service routine ---------------------------------------------------------------------------- Detect user input from push button / DIP switch:         modprobe gpio_interrupt gpio_number=<n> When user presses the button or flips the dip switch, a message will be printed to kernel console. 1. If the user connects to the console on board using serial connection, the message "Interrupt happened at gpio:<gpio_number>" will be printed on the console. 2. If the user connects to the console on board using ssh, the message can be viewed from kernel log via "dmesg" command. Note: User will need to do "rmmod gpio_interrupt" prior in order to change gpio_number by calling "modprobe gpio_interrupt gpio_number=<n>" again User will need to get the GPIO number from /sys/class/gpio/ by using command 'ls'. E.g.         root@socfpga~:# ls /sys/class/gpio/         gpiochip150        gpiochip152        gpiochip156        gpiochip160         gpiochip192        gpiochip224 From the listing, n can be obtained. The GPIO number may vary for different design with different device tree entries; this is due to the GPIO numbers are auto-assign by the kernel. To confirm the n is associated to which peripheral, user needs to match the label of the GPIO chip to the address of push button and DIP switch in device tree. e.g.         root@socfpga~:# cat /sys/class/gpio/gpiochip150/label         /sopc@0/bridge@0xc0000000/gpio@0x1000100C0 In this reference design, DIP switch is at address 0x10080 while the push button is at address 0x100c0. So in this case GPIO number 150 - 151 are allocated to push button 0 - 1. 至于如何编译该驱动和使用,请参考小梅哥《基于SoC FPGA的嵌入式设计和开发教程》一书中对应内容。

  • 发表了主题帖: 【小梅哥SoC】win10下生成preloader报Failed to open gdrive/…/uboot-socfpga.tar.gz

    本帖最后由 小梅哥 于 2019-1-29 11:27 编辑 经常有SoC开发的网友跟着小梅哥的SoC开发教程在Win10下开发SoC时,在SoC EDS下编译Uboot时出现无法解压uboot源码的问题(如标题描述),因此小梅哥特意去Intel技术官网找到了这篇解决方案的帖子,并进行了简单的翻译。 解决方案原文链接:https://www.intel.com/content/al ... -in-windows-10.html 报错信息如下图所示:(温馨提示,点击图片可查看高清大图)    Unable to make preloader in Windows 10 Description This issue comes when using SOC EDS tool to generate the preloader. After creating the new HPS and BSP settings file, make command is giving a failure: tar zxf /cygdrive/c/intelFPGA/18.0/embedded/host_tools/altera/preloader/uboot-socfpga.tar.gz tar: Error opening archive: Failed to open '/cygdrive/c/intelFPGA/18.0/embedded/host_tools/altera/preloader/uboot-socfpga.tar.gz' make: *** [uboot-socfpga/.untar] Error 1 该故障在使用SoC EDS生成preloader的时候出现。当创建了新的HPS和BSP设置文件,make命令会报如下失败: tar zxf /cygdrive/c/intelFPGA/18.0/embedded/host_tools/altera/preloader/uboot-socfpga.tar.gz tar: Error opening archive: Failed to open '/cygdrive/c/intelFPGA/18.0/embedded/host_tools/altera/preloader/uboot-socfpga.tar.gz' make: *** [uboot-socfpga/.untar] Error 1 Workaround/Fix 维修方法: In order to workaround this issue, two files need to be modifed before executing the make command. 为了维修该故障,在make命令之前需要修改两个文件。 1. C:\<installation_directory>\embedded\ip\altera\preloader\src\Makefile.template 1、C:\<installation_directory>\embedded\ip\altera\preloader\src\Makefile.template文件 Change the current file with the attached one in this link (make sure to unzip file before you copy) 使用本帖子附件中的文件中的对应文件替换该“Makefile.template”文件 2. C:\<installation_directory>\embedded\host_tools\cygwin\etc\fstabin in fstab file:comment this line: 在fstab文件中,注释掉如下行内容 #non /cygdrive cygdrive binary,posix=0,user 0 0 and add this line instead: 并添加如下行内容以作为替换: none /cygdrive cygdrive binary,posix=0,user,noacl 0 0 This issue is scheduled to be fixed in future release of Intel® Quartus Prime software. 该故障会在未来的新版本软件中修复。

  • 发表了主题帖: 【小梅哥SoC】Altera SOC更改Qsys后重新生成hps_0.h文件

            Qsys系统和Linux应用程序之间通过一个名为hps_0.h的文件交互硬件信息,例如总线上添加了哪些外设,每个外设相对于HPS外部总线的偏移地址,每个外设所占的地址空间等,类似于开发NIOS II应用程序时候的system.h文件。每当Qsys系统中更新了硬件之后,如果需要直接在Linux中编写应用程序以直接操作寄存器的方式来控制这些外设,则需要重新生成一次该文件,然后将该文件添加到软件工程下作为头文件包含。那么如何得到hps_0.h文件呢?需要借助SoCEDS Command Shell,首先打开SoC EDS Command Shell,然后使用cd命令将路径切换到Quartus 工程所在目录,例如D:\fpga\work_debug\ModBus_Processor\SoC_TXGLJ,则切路径的命令为:  cd  d://fpga/work_debug/ModBus_Processor/SoC_TXGLJ  然后,输入以下命令就可以得到hps_0.h文件了  sopc-create-header-files  "./soc_system.sopcinfo" --single hps_0.h --module hps_0  注意,soc_system.sopcinfo是Qsys编译得到的一个硬件信息文件,工程名称不一样,该文件的名字也不一样,需要根据自己的工程名称进行修改。另外,输入ls命令,也可以看到工程目录下存在一个名为generate_hps_qsys_header.sh的文件,这是一个脚本文件,包含了生成hps_0.h文件的具体命令。我们可以到工程目录下打开该文件查看具体内容,实际内容就是我们上面输入的那条命令,因此,如果经常需要生成hps_0.h,可以直接执行该脚本即可。如果工程名不一样,修改为自己的sopcinfo文件名即可。  #!/bin/sh  sopc-create-header-files \  "./ soc_system.sopcinfo" \  --single hps_0.h \  --module hps_0  执行该脚本的命令为:  ./  generate_hps_qsys_header.sh  

  • 回复了主题帖: 为SoC-FPGA添加TFT显示屏和USB键盘

    我们的系统默认就可以接USB键盘和鼠标,这些选项默认就是开启的,不知道你的为啥不行。

  • 发表了主题帖: 【小梅哥SoC】AC501-SoC开发板默认Linux系统中LED开机闪烁关闭方法

    本帖最后由 小梅哥 于 2019-1-29 11:13 编辑 问题描述 很多用户在拿到AC501-SoC开发板后,都会发现开发板上的两个FPGA侧IO驱动的LED开机后会默认闪烁,当用户做自己的实验时,如果用户希望关闭该程序,可以有两种方式关闭。第一种为临时关闭,该关闭操作会生效持续到下一次重启系统之前。 第二种为可以直接取消该应用程序的开机启动设置。 先看第一种方法,临时关闭法 1、首先需要知道该进程的名称,该进程的完整名称为“/www/pages/cgi-bin/scroll_server” 2、需要知道该进程对应的进程号,直接使用ps命令即可查询到该进程的进程编号。如下图所示:(温馨提示,点击图片可查看高清大图) 3、在上图中可以看到,该进程的编号为785,则直接输入“kill  -9  785”即可关闭该进程。(注,命令中的-9为数字九,不是英文字母g) 4、关闭之后,可以看到LED灯停止了闪烁。 再看彻底关闭法 1、输入以下命令打开vi编辑器编辑启动脚本文件 vi  /etc/rc5.d/S90gsrd_init.sh 2、打开该脚本后,将第9行最前面加上#,注释掉该行即可。如下图所示:    3、编辑完成后,记得使用“:wq”命令保存并退出 4、使用reboot重启系统,再看LED就不会闪烁了。

  • 2018-06-05
  • 回复了主题帖: de1-soc求教

    有个lab_kernel_model.ko文件,执行test.sh文件就会安装lab_kernel_model.ko并创建de1_so_demo设备文件

  • 2018-05-14
  • 回复了主题帖: 在DE1-SoC 运行Linux问题

    检查MSEL的设置是否对应了

  • 2018-05-13
  • 回复了主题帖: 【Altera SoC体验之旅】+ 移植LINUX系统+示波器界面

    楼主,你的附件是啥?QT的示波器源码吗?为啥下载了打不开

统计信息

已有187人来访过

  • 芯币:870
  • 好友:5
  • 主题:35
  • 回复:87
  • 课时:--
  • 资源:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言