Skip to content

Instantly share code, notes, and snippets.

@ssvb
ssvb / bin2elf.sh
Last active February 19, 2022 15:32 — forked from tangrs/bin2elf.sh
Convert a memory dump/raw binary image into an ELF file
#!/bin/sh
# Convert a raw binary image into an ELF file suitable for loading into a disassembler
#
# Usage: bin2elf input_binary_file output_elf_file base_address
cat > raw$$.ld <<EOF
SECTIONS
{
EOF
diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig
index ee219f8..f826a51 100644
--- a/configs/A10-OLinuXino-Lime_defconfig
+++ b/configs/A10-OLinuXino-Lime_defconfig
@@ -13,3 +13,7 @@ CONFIG_SYS_EXTRA_OPTIONS="AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3)"
# CONFIG_CMD_FLASH is not set
# CONFIG_CMD_FPGA is not set
CONFIG_USB_EHCI_HCD=y
+CONFIG_USB0_VBUS_PIN="PB9"
+CONFIG_USB0_ID_DET="PH4"
@ssvb
ssvb / a31s-allow-access-to-rtc-from-non-secure-mode.diff
Created August 24, 2015 21:15
Patch for U-Boot to allow access to RTC clock from non-secure mode on Allwinner A31s to fix /dev/rtc in Linux
diff --git a/arch/arm/cpu/armv7/sunxi/board.c b/arch/arm/cpu/armv7/sunxi/board.c
index f01846e..cd06c72 100644
--- a/arch/arm/cpu/armv7/sunxi/board.c
+++ b/arch/arm/cpu/armv7/sunxi/board.c
@@ -106,6 +106,10 @@ void s_init(void)
* access gets messed up (seems cache related) */
setbits_le32(SUNXI_SRAMC_BASE + 0x44, 0x1800);
#endif
+#if defined CONFIG_MACH_SUN6I
+ /* Allow access to RTC clock from non-secure mode */
@ssvb
ssvb / gist:e395652fc5a3012f8f4b
Created August 15, 2015 17:23
A80 fel stack location test
# str sp, [pc]
fel fill 0x10000 1 0x00
fel fill 0x10001 1 0xd0
fel fill 0x10002 1 0x8f
fel fill 0x10003 1 0xe5
# bx lr
fel fill 0x10004 1 0x1e
fel fill 0x10005 1 0xff
fel fill 0x10006 1 0x2f
https://gist.github.com/ssvb/56da061451216a37080f
# This program runs a set of tests, which are repeatedly doing
# memcpy over N bytes sized memory buffer. Each individual
# test is calibrated to run a sufficient number of iterations
# to make its duration close to 300 ms.
# For each line in the report below, tests are run 20
# times normally and 20 times slightly slower than normal
# (the difference is shown in the first column). The timings
# of these runs are also measured using gettimeofday(...)
https://gist.github.com/ssvb/56da061451216a37080f
# This program runs a set of tests, which are repeatedly doing
# memcpy over N bytes sized memory buffer. Each individual
# test is calibrated to run a sufficient number of iterations
# to make its duration close to 300 ms.
# For each line in the report below, tests are run 20
# times normally and 20 times slightly slower than normal
# (the difference is shown in the first column). The timings
# of these runs are also measured using gettimeofday(...)
https://gist.github.com/ssvb/56da061451216a37080f
# This program runs a set of tests, which are repeatedly doing
# memcpy over N bytes sized memory buffer. Each individual
# test is calibrated to run a sufficient number of iterations
# to make its duration close to 300 ms.
# For each line in the report below, tests are run 20
# times normally and 20 times slightly slower than normal
# (the difference is shown in the first column). The timings
# of these runs are also measured using gettimeofday(...)
/*
* Copyright © 2015 Siarhei Siamashka <siarhei.siamashka@gmail.com>
* Copyright © 2015 Raspberry Pi Foundation
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of the copyright holders not be used in
* advertising or publicity pertaining to distribution of the software without
can't instantiate StaticArray(T, N) with N = Int32 (N must be an integer)
*raise<String>:NoReturn +70 [0]
*Crystal::StaticArrayType#new_generic_instance<Crystal::StaticArrayType, Crystal::Program, Crystal::GenericClassType+, Hash(String, Crystal::ASTNode+)>:Crystal::StaticArrayInstanceType +434 [0]
*Crystal::GenericClassType+@Crystal::GenericType#instantiate<Crystal::GenericClassType+, Array((Crystal::Type+ | Crystal::ASTNode+))>:Crystal::GenericClassInstanceType+ +1105 [0]
*Crystal::ASTNode+@Crystal::ASTNode#accept<Crystal::ASTNode+, Crystal::Call::MatchTypeLookup>:Nil +4305 [0]
*Crystal::Call#match_block_arg<Crystal::Call, Crystal::Match>:({Array(Crystal::Var+)?, (Crystal::Type+ | Nil)} | {Nil, Nil}) +678 [0]
*Crystal::Call#instantiate<Crystal::Call, Crystal::Matches, Crystal::Program, Nil>:Array(Crystal::Def+) +902 [0]
*Crystal::Call#lookup_matches_in_type<Crystal::Call, Crystal::Program, Array(Crystal::Type+), Nil, String>:Array(Crystal::Def+) +1620 [0]
*Crystal::Call#recalculate<Crystal::Call>:Array(Crys