Method: HardsploitAPI#loadFirmware

Defined in:
lib/HardsploitAPI/Core/HardsploitAPI_FIRMWARE.rb

#loadFirmware(firmware) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/HardsploitAPI/Core/HardsploitAPI_FIRMWARE.rb', line 11

def loadFirmware(firmware)
	base_path = File.expand_path(File.dirname(__FILE__)) + '/../../Firmwares/FPGA/'
	case firmware
	when 'I2C'
		firmware_path = base_path + 'I2C/I2C_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_I2C_INTERACT.rpd'
		HardsploitAPI.instance.uploadFirmware(pathFirmware: firmware_path, checkFirmware: false)
	when 'SPI'
		firmware_path = base_path + 'SPI/SPI_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SPI_INTERACT.rpd'
		HardsploitAPI.instance.uploadFirmware(pathFirmware: firmware_path, checkFirmware: false)
	when 'SPI_SNIFFER'
		firmware_path = base_path + 'SPI/SPI_SNIFFER/HARDSPLOIT_FIRMWARE_FPGA_SPI_SNIFFER.rpd'
		HardsploitAPI.instance.uploadFirmware(pathFirmware: firmware_path, checkFirmware: false)
	when 'PARALLEL'
		firmware_path = base_path + 'PARALLEL/NO_MUX_PARALLEL_MEMORY/HARDSPLOIT_FIRMWARE_FPGA_NO_MUX_PARALLEL_MEMORY.rpd'
		HardsploitAPI.instance.uploadFirmware(pathFirmware: firmware_path, checkFirmware: false)
	when 'SWD'
		firmware_path = base_path + 'SWD/SWD_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_SWD_INTERACT.rpd'
		HardsploitAPI.instance.uploadFirmware(pathFirmware: firmware_path, checkFirmware: false)
	when 'UART'
		firmware_path = base_path + 'UART/UART_INTERACT/HARDSPLOIT_FIRMWARE_FPGA_UART_INTERACT.rpd'
		HardsploitAPI.instance.uploadFirmware(pathFirmware: firmware_path, checkFirmware: false)
	when 'uC'
			system("dfu-util -D 0483:df11 -a 0 -s 0x08000000 -R --download #{File.expand_path(File.dirname(__FILE__))}'/../Firmwares/UC/HARDSPLOIT_FIRMWARE_UC.bin'")
	end
end