aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--interrupts.c15
-rw-r--r--pipe_image.c21
2 files changed, 33 insertions, 3 deletions
diff --git a/interrupts.c b/interrupts.c
index e69de29..3dc3d6f 100644
--- a/interrupts.c
+++ b/interrupts.c
@@ -0,0 +1,15 @@
+#include "uart.h"
+/**
+ @brief The undefined instruction interrupt handler
+
+ If an undefined instruction is encountered, the CPU will start
+ executing this function. Just trap here as a debug solution.
+*/
+void __attribute__((interrupt("UNDEF"))) undefined_instruction_vector(void)
+{
+ uart_puts("Undefined instruction occured");
+ while( 1 )
+ {
+ /* Do Nothing! */
+ }
+} \ No newline at end of file
diff --git a/pipe_image.c b/pipe_image.c
index 03d2c8f..1266e90 100644
--- a/pipe_image.c
+++ b/pipe_image.c
@@ -50,7 +50,7 @@ int main(int argc, const char **argv) {
const int comport=16;
if (!stdout_instead_of_uart)
- if (RS232_OpenComport(comport, 115200, "8N1", 0) == 1)
+ if (RS232_OpenComport(comport, 115200, "8N1", 1) == 1)
err(-1, "Error opening comport");
uint32_t image_size_le = htole32(image_size);
@@ -63,7 +63,7 @@ int main(int argc, const char **argv) {
else
{
if (RS232_SendBuf(comport, (unsigned char*) &image_size_le, 4)
- == 1)
+ == -1)
err(-1, "error writing number to serial");
}
@@ -84,12 +84,27 @@ int main(int argc, const char **argv) {
}
else
{
- if (RS232_SendBuf(comport, buf, bytes_read) == 1)
+ if (RS232_SendBuf(comport, buf, bytes_read) == -1)
err(-1, "error writing to serial");
}
bytes_left -= bytes_read;
}
+/*
+ while(1){
+ int bytes_read=read(0,buf,sizeof(buf));
+ if (stdout_instead_of_uart)
+ {
+ if (fwrite((unsigned char*) buf, bytes_read, 1, stdout) != 1)
+ err(-1, "error writing to stdout");
+ }
+ else
+ {
+ if (RS232_SendBuf(comport, buf, bytes_read) == 1)
+ err(-1, "error writing to serial");
+ }
+ }
+ */
if (!stdout_instead_of_uart)
RS232_CloseComport(comport);