# SPI_Client **Repository Path**: ZH5225HZ/spi_-client ## Basic Information - **Project Name**: SPI_Client - **Description**: ORIN作升级客户端。ORIN将BIN文件按照特定SPI帧格式分包发送到MCU,MCU接收到SPI帧的有效BIN数据后,将BIN文件烧到Flash中。为了ORIN的OTA升级MCU作准备。 1. 支持A/B分区升级。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-12-10 - **Last Updated**: 2024-12-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OTA SPI Client program This program is used to communicate with the ORIN OTA SPI device. It is written in C and uses the Linux SPI interface to communicate with the device. The program can be used to upload and download firmware to the device. # TODO Add more details about the program. - [ ] Add check for valid input parameters. - [ ] Add CRC check for downloaded firmware. ## Usage To use the program, follow these steps: 1. Compile the program using the following command: ``` gcc -o ota_spi_client mian.c File.c SPIPackage.c ``` 2. Run the program using the following command: sudo ./ota_spi_client ``` $./ota_spi_client CAN_GW_FW_S32K344.bin a ``` ## MODEL CHART [program model](https://app.diagrams.net/?tags=%7B%7D&lightbox=1&highlight=0000ff&edit=_blank&layers=1&nav=1&title=1733139576087#R7Vxbc5s6EP41zLQP8XAxGB6B2D2Z07SZpmd68tRRbGxzgpEH5Cburz%2B7QmAuwiapHTuXNhOLRQhJe%2Ft2V45i%2BIuHTwlZzi%2FpJIgUXZ08KMa5out63zDgAynrjOKoTkaYJeEkI2kbwnX4OxBEU1BX4SRIKx0ZpRELl1XimMZxMGYVGkkSel%2FtNqVR9a1LMgsahOsxiZrUH%2BGEzTOqrQ829L%2BCcDbP36xZYn0LkndWM0I6JxN6XyIZQ8XwE0pZ1lo8%2BEGEm5fvS%2FbcqOVuMbEkiFmXB%2Bi334O%2F6TzyL0Z6P0o%2FzX5Of56JZaRsnS84mMD6xSVN2JzOaEyi4YbqJXQVTwIcVYWrTZ%2FPlC6BaADxv4CxtWAmWTEKpDlbRHClQRMmnKz%2FFc%2Fzixu86Jn55flD%2Beb5WlxNacx8GtGEz9TQNfwP9JQl9C5ov5MzDrbca%2B6a2MiUrpJxsGWrcukjySxgW%2FoJwcV9LL1A8ORTQBcBrAk6JEFEWPirKmdEiOus6LfhKDQEUx%2FB4FyPnpfDL4NTWv%2B0WJWN%2B4tEK%2FEmZWgq9rliD5ThQPFcxYWGpTgWp%2FQVz1M8C%2Fu4fcXuYx9HVWyrwfAqO%2B%2FnIQuul4Rv4T1Y7SbrRmQRRqh1l%2BE4oSmdMhjwhoChEx0E42EDd%2FG6E0d%2FBQkLHrayQNw9swzxjPAnmiUE%2FH5jnbXc5M5LltlSD8S25n6%2Fm9CWrep3VczT0sujOMkXwinrpFjVf5oJ1a0IFundJtCaYeuDF8bYz1UVz8ch4Lc9%2BviqLevAsXZbVtV8RsuqqY0NfyGK91Tz%2FHSFNTsqrL1vfRWPXtEwZiVpMup%2B2jGrY2QzFY%2FVBKWYRyfZ0X%2Bk0x%2BX8xv2e7X2DMMduxfJ2VFg74btG07fVBgtZzu%2FugqSEFYdJHt31TVm703ApBtvHNP%2Bmw377118kWFmoIBRV7EB3sEdcjcxUmy36QvECLaKzw4d%2FuCI%2BwTwJtYHgb%2FRr%2FARX7ub6A%2BMnnliEByfr%2Fv9d8%2FRUbHlHqEL9tMP4zo0rQZEDuc65NL0nhR7rPDslhXjpOIEu%2BknMsDf9BM2IH8Hgwcb7PzA6ntrFnBvYWOqBRs%2B3npbWRijrqLP6QKksOM4sUKL0m5RWUPfp6OoY8Y94j1N7wj4jpyckbh%2BUEHXh58vXJFtxXVFFsAxNwrbwHn%2BKuG7pKtXZHwXsFetwJpZxXC6qR5Zgd%2Bo092PrhodddXaB2Jzk4SsSx2WCMTSdkCXi0wNzo26ddfN7d01c2t%2FaGTz3Wt2QbOPK62PSy%2B8VGnN6nPP4Fnkb3cknoVnCRwN8wA2oDyNJ4nB12hFSuGLVDI%2Bk9sgqnKTROEshvYYNhAduIfmOxyTyBU3FuFkkglOkIa%2FyS0fD%2FkpFA4GNz3FPG9xJju9j4zxLY6kOF8hZqEUpxrKArBFVVo9kdpTbXNQ0eA8i%2F%2FUODLvQqfTNDhIhJhLcEU0ihRRERLkSaYG1IBPskDAEN%2Bm%2BPGdMhK9TeBx%2FOSRJisaySLBajGIUwzkOXYeKa4EUvKw0cFQEfsgJOXYdMjtRREnNp%2FKcpF%2Ba%2B6y%2Ft6avKRzssRmTFmwW2BuQehmXMS%2BrlgUxoGgT0hy9xWeChn3Iz0Vfc40jKKSsEzhHyEyVzKejCc2urQ0EzVd3ads7kMSLb1aoSgkrFLvkkhiQdy%2FKFpyUYQQZuTCiF498eC5XI5cnngoQhwR9MjFRyJuFo7pWLtflQ3c3%2FWGd3HcQ%2FlVNwe9jgXYgrj%2FxLoqxUBoyuyv3y7yANsG2Rhxs%2Bg36%2B2X%2Fj91Ia1U48EgwgieqKigYbXRRHpD0UBbye2drbfYyi4DjnLXPOKS3uVcVWlFniPNBl5fXfC7thih7iGAbgmQ6Gk4f2nesI4oBzgBxynvm3t1VcyHt%2FkbwQ3gtIfgSKozKXabex2cMIcitt2a5axWw3qlNcNSDVHdgnk7jliDp04jks5LrKlpPcg9q2p2VSljiqpd0WBB6g6MZaakCpZOS8WtRumsqeF9o%2BhU1vHBHlRcjs8bGs5lqdBBkEZeIG2ekcFO3gjlD%2BVmiEhEmINhWXarw2Vp8sGp10glEVCD962MNoxqSsIYPONJmvai%2FE6IWzcqb9aT%2FxH3z%2FqmUwOWusSTO%2FqBkKVcy9%2FTq60WvJywas%2Banny%2BShY7mIie3Az44M8OwPKKbbJm19LER7fJzRo0P13k89C%2BQI51DlahdDXPVBxmavhqrSepgCGQ9%2FK4LvMADgd7dgmn7h5b78EqZMPXwafs1JXkOJWV70Fxrmr3Y1lZ%2FmNzckY%2BOQAxjsEn5%2BAgkumW9lWEDRyae4Mt4Ue%2FxzXKws3LFgg8c0dFJM33WEVeClSfOddzTNzko%2BZLdrNYHjM6TXT07nm7eN4uuMuRZXSMg6HrlhPplZCvYpVfsQ2u42KpDX7WorPejFtfyDnBPcIb2YG%2Fg1SP%2F4xVxjururOqpej2TKxq5hTSMJ4BR3RJMQyM2R1%2BCbvN5eFXtnkaiNsucZ%2FvNHqyePads1JDBjNym298X1wXX87m5g4IVzQNWUgxjxQFU%2Fai7GfNfNrNgsVAYj3Ng1nPLs5NViHP00TdTmohKvLwbgamgNiSa2wkDusS05pIFKL0mQsENwuC8k1so9GWv0woI6y1No%2FFXx%2FjXROm6cO1trnmhfsl2CSfxjA0CbkQBCRl90HKTgxa1cOnIlQqu25bEj4Zjxc%2BuNz8VYSsZL%2F52xLG8H8%3D)