Changes between Version 9 and Version 10 of venice/firmware
- Timestamp:
- 08/25/2022 08:52:55 PM (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
venice/firmware
v9 v10 104 104 The methods you use to update the firmware depends on what specifically you are trying to update. 105 105 106 Be care to use firmware images built for the specific SOC on the board you are using. Venice boards use a variety of IMX8M SoC's which have different boot firmware: 107 ||= Board =||= SoC =||= Notes =|| 108 || GW710x-0x-* || i.MX8M Mini (aka IMX8MM) || use firmware with 'imx8mm' in the name || 109 || GW720x-0x-* || i.MX8M Mini (aka IMX8MM) || use firmware with 'imx8mm' in the name || 110 || GW730x-0x-* || i.MX8M Mini (aka IMX8MM) || use firmware with 'imx8mm' in the name || 111 || GW740x-* || i.MX8M Plus (aka IMX8MP) || use firmware with 'imx8mp' in the name || 112 113 You can tell what you are using by watching the board boot: 114 {{{#!bash 115 U-Boot 2022.07-g1050480603 (Aug 19 2022 - 17:02:47 +0000), Build: jenkins-venice-bsp-122 116 117 CPU: Freescale i.MX8MP[8] rev1.1 1600 MHz (running at 1200 MHz) 118 CPU: Industrial temperature grade (-40C to 105C) at 28C 119 ... 120 Hit any key to stop autoboot: 0 121 u-boot=> print soc 122 soc=imx8mp 123 }}} 124 - The above CPU banner shows 'i.MX8MP' which requires firmware with a 'imx8mp' in its name 125 - The latest firmware images set the 'soc' U-Boot env variable to match the SoC you are using 106 126 107 127 ==== Update Entire Firmware (recommended) … … 109 129 110 130 Complete Compressed Disk Images are available for download here: [http://dev.gateworks.com/venice/images/] 131 * Be sure to use one that is compatible with the SoC on your board 111 132 112 133 Procedure: … … 121 142 setenv dev 2 # sets MMC device to be flashed - see mmc list 122 143 # set your image 123 setenv image focal-venice.img.gz # or whatever filename is used, with any tftp server directories in front of the filename144 setenv image <distro>-venice-<soc>.img.gz 124 145 # update 125 146 run update_all … … 133 154 # fetch your file 134 155 cd /tmp 135 wget http://dev.gateworks.com/venice/images/ focal-venice.img.gz156 wget http://dev.gateworks.com/venice/images/<distro>-venice-<soc>.img.gz 136 157 # uncompress and write to the emmc device 137 zcat focal-venice.img.gz | dd of=/dev/mmcblk0 bs=4M158 zcat <disro>-venice-<soc>.img.gz | dd of=/dev/mmcblk0 bs=4M 138 159 }}} 139 160 … … 145 166 146 167 The latest pre-built Bootloader images for Venice are available for download here: 147 - [http://dev.gateworks.com/venice/boot_firmware/venice-imx8mm-flash.bin venice-imx8mm-flash.bin] for IMX8M Mini boards 148 - [http://dev.gateworks.com/venice/boot_firmware/venice-imx8mn-flash.bin venice-imx8mn-flash.bin] for IMX8M Nano boards149 150 Procedure: **(Make sure you use the right variant per your processor imx8mm/imx8mn and the correct device for the emmc device)**168 [http://dev.gateworks.com/venice/boot_firmware/] 169 * Be sure to use one that is compatible with the SoC on your board 170 171 Procedure: 151 172 * Via U-Boot: 152 173 - for IMX8M Mini board variants: 153 174 {{{#!bash 154 175 # setup network environment (use bootp or static by setting ipaddr/serverip and optional netmask/gatewayip) 176 bootp # optional: use dhcp for network config 177 # choose the device to update 178 setenv dev 2 # sets MMC device to be flashed - see mmc list 179 # set your image 180 setenv image venice-$soc-flash.bin # with any tftp server directories in front of the filename 181 # update 182 run update_firmware 183 }}} 184 - This is what the update_firmware script does if your curious: 185 {{{#!bash 186 update_firmware=tftpboot $loadaddr $image && setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200 && mmc dev $dev && mmc write $loadaddr 0x42 $blkcnt 187 }}} 188 - for IMX8M Nano board variants: 189 {{{#!bash 190 # setup network environment (use bootp or static by setting ipaddr/serverip and optional netmask/gatewayip) 155 191 setenv autoload 0; bootp # use dhcp for network config but do not fetch a file 156 192 # choose the device to update 157 193 setenv dev 2 # sets MMC device to be flashed - see mmc list 158 194 # set your image 159 setenv image venice- imx8mm-flash.bin # with any tftp server directories in front of the filename195 setenv image venice-$soc-flash.bin # with any tftp server directories in front of the filename 160 196 # update 161 197 run update_firmware … … 163 199 - This is what the update_firmware script does if your curious: 164 200 {{{#!bash 165 update_firmware=tftpboot $loadaddr $image && setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200 && mmc dev $dev && mmc write $loadaddr 0x42 $blkcnt 166 }}} 167 - for IMX8M Nano board variants: 168 {{{#!bash 169 # setup network environment (use bootp or static by setting ipaddr/serverip and optional netmask/gatewayip) 170 setenv autoload 0; bootp # use dhcp for network config but do not fetch a file 171 # choose the device to update 172 setenv dev 2 # sets MMC device to be flashed - see mmc list 173 # set your image 174 setenv image venice-imx8mn-flash.bin # with any tftp server directories in front of the filename 175 # update 176 run update_firmware 177 }}} 178 - This is what the update_firmware script does if your curious: 179 {{{#!bash 180 update_firmware=tftpboot $loadaddr $image && setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200 && mmc dev $dev && mmc write $loadaddr 0x40 $blkcnt 201 update_firmware=tftpboot $loadaddr $image && setexpr blkcnt $filesize + 0x1ff && setexpr blkcnt $blkcnt / 0x200 && mmc dev $dev && mmc write $loadaddr $splblk $blkcnt 181 202 }}} 182 203 * Via Linux: 204 - Updating via Linux requires you to download the 'venice-<soc>-flash.bin' file (pre-built images can be found [http://dev.gateworks.com/venice/boot_firmware/ here] and to use the correct offset in the boot device which varies per SoC: 183 205 - for IMX8M Mini board variants: 184 206 {{{#!bash … … 196 218 # uncompress and write to the emmc device to 32K offset 197 219 dd if=venice-imx8mn-flash.bin of=/dev/mmcblk2 bs=1K seek=32 220 }}} 221 - for IMX8M Plus board variants: 222 {{{#!bash 223 # fetch your file 224 cd /tmp 225 wget http://dev.gateworks.com/venice/boot_firmware/venice-imx8mp-flash.bin 226 # uncompress and write to the emmc device to 32K offset 227 dd if=venice-imx8mp-flash.bin of=/dev/mmcblk2 bs=1K seek=32 198 228 }}} 199 229