start_test.S 619 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Move test image to SRAM and jump to it
  3. */
  4. #include "sys.h"
  5. .section ".dram.text","ax"
  6. .globl __start_test
  7. __start_test:
  8. la a0,__dram_test_start
  9. li a1,SRAM_SIZE
  10. li a2,0
  11. li a3,32
  12. .balign 4
  13. .L_loop:
  14. lw a5,0(a0)
  15. sw a5,0(a2)
  16. lw a5,4(a0)
  17. sw a5,4(a2)
  18. lw a5,8(a0)
  19. sw a5,8(a2)
  20. lw a5,12(a0)
  21. sw a5,12(a2)
  22. lw a5,16(a0)
  23. sw a5,16(a2)
  24. lw a5,20(a0)
  25. sw a5,20(a2)
  26. lw a5,24(a0)
  27. sw a5,24(a2)
  28. lw a5,28(a0)
  29. sw a5,28(a2)
  30. add a0,a0,a3
  31. add a2,a2,a3
  32. bltu a2,a1,.L_loop
  33. /* For future compatibility... */
  34. li sp,SRAM_SIZE
  35. li tp,0
  36. li a0,0
  37. li a1,0
  38. li a2,0
  39. li a3,0
  40. li a4,0
  41. li a5,0
  42. li ra,_PC_RESET
  43. jr ra