From 4ec07a04e6aa31b597317ca6b214cc68f9ce4afe Mon Sep 17 00:00:00 2001 From: bigmagic Date: Thu, 6 Feb 2020 16:00:56 +0800 Subject: use gcc-arm-none-eabi-5_4 compile raspi3 --- bsp/raspberry-pi/raspi3-32/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bsp/raspberry-pi/raspi3-32/README.md b/bsp/raspberry-pi/raspi3-32/README.md index 0fef644adf..2d1e18655b 100644 --- a/bsp/raspberry-pi/raspi3-32/README.md +++ b/bsp/raspberry-pi/raspi3-32/README.md @@ -35,16 +35,16 @@ RT-Thread对树莓派的支持主要从树莓派2B开始,它是一个四核Cor Windows环境下推荐使用[env工具][1]进行编译。 -Linux下推荐使用gcc工具 [gcc-arm-none-eabi-4_8-2014q1_linux][2],如果还没有编译工具,下载后,解开文件。 +Linux下推荐使用gcc工具 gcc-arm-none-eabi-5_4-2016q3,如果还没有编译工具,下载后,解开文件。 ``` -tar vxf gcc-arm-none-eabi-4_8-2014q1_linux.tar.bz2 +tar vxf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 ``` Linux环境下需要修改编译器目录设置,修改`bsp/raspi3-32/rtconfig.py`中的 ``` -EXEC_PATH = r'/opt/gcc-arm-none-eabi-4_8-2014q1_gri/bin' +EXEC_PATH = r'/opt/gcc-arm-none-eabi-5_4-2016q3/bin' ``` 为编译工具的实际所在目录,这里注意要加上后缀 `/bin` -- cgit v1.3.1 From 3e533e9992d668891b09276e2d3594a1ebd74e8b Mon Sep 17 00:00:00 2001 From: bigmagic Date: Thu, 6 Feb 2020 16:03:31 +0800 Subject: fix spi bug --- bsp/raspberry-pi/raspi3-32/driver/drv_spi.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/bsp/raspberry-pi/raspi3-32/driver/drv_spi.c b/bsp/raspberry-pi/raspi3-32/driver/drv_spi.c index 32de9970e7..eab7a08b39 100644 --- a/bsp/raspberry-pi/raspi3-32/driver/drv_spi.c +++ b/bsp/raspberry-pi/raspi3-32/driver/drv_spi.c @@ -18,9 +18,9 @@ void spi_gpio_write(rt_uint8_t pin, rt_uint8_t val) { if (val) - BCM283X_GPIO_GPSET(pin / 32) = 1 << (pin % 32); + BCM283X_GPIO_GPSET((pin / 32)) = 1 << (pin % 32); else - BCM283X_GPIO_GPCLR(pin / 32) = 0 << (pin % 32); + BCM283X_GPIO_GPCLR((pin / 32)) = 1 << (pin % 32); } struct raspi_spi_hw_config @@ -147,11 +147,10 @@ static rt_uint32_t raspi_spi_xfer(struct rt_spi_device *device, struct rt_spi_me flag = 0; else flag = 1; - - if (message->cs_take) - (config.mode & RT_SPI_CS_HIGH)? - spi_gpio_write(cs_pin, 1): - spi_gpio_write(cs_pin, 0); + if (message->cs_take); + // (config.mode & RT_SPI_CS_HIGH)? + // spi_gpio_write(cs_pin, 1): + // spi_gpio_write(cs_pin, 0); /* deal data */ res = spi_transfernb((rt_uint8_t *)message->send_buf, (rt_uint8_t *)message->recv_buf, -- cgit v1.3.1