Skip to content

Instantly share code, notes, and snippets.

(function() {
Tombloo.Service.extractors.register({
name : 'Photo - Ameba blog',
ICON : 'chrome://tombloo/skin/photo.png',
check : function(ctx){
if(!ctx.onLink)
return false;
return ( ctx.href.indexOf('//ameblo.jp/') > -1 && ctx.href.indexOf('/entry-') > -1);
},
extract : function(ctx){
@eggman
eggman / GoogleTranslate.pm
Created March 27, 2011 02:01
Plagger::Plugin::Filter::GoogleTranslate - translate via Google Translate
package Plagger::Plugin::Filter::GoogleTranslate;
use strict;
use base qw( Plagger::Plugin );
use Lingua::Translate;
use Digest::MD5 qw(md5_hex);
use Encode qw(encode_utf8);
use Locale::Language;
#include "rtl8195a.h"
typedef enum {
PORT_V = 11,
} GPIO_PORT;
typedef enum {
AD_1 = (PORT_V<<4|1),
AD_2 = (PORT_V<<4|2),
AD_3 = (PORT_V<<4|3),
あまり面白くないのでボツです。
ARM Cortex M3 のリンカスクリプトを読んで見ました。
# 対象
* Realtek Amebaのベアメタル環境用のリンカスクリプト
* https://github.com/neojou/arm-gcc-blink-example/blob/master/templates/ameba-example/package/scripts/rlx8195A.ld
* 調査はbinutilsのドキュメントを参照しています。
* https://www.gnu.org/software/binutils/ にリンクされている https://sourceware.org/binutils/docs-2.26/ld/index.html
ボツネタ
この文書をAndroidの中身を知りたい人向けの文書です。
Androidのアプリを書く上で役に立つ事はあまり書かれていないです。
## 概要
* API (Android Bluetooth HAL) は、ほぼlollipopと同じ。
* プロジェクト名がfluorideに変わった。
* リポジトリの場所が変わった。
espthernet のソースコードを読んでみました。
このソフトウェアの特徴は、「ESP8266 + I2S = Software-based 10-Base-T Ethernet Driver」の部分です。
802.11のフレーム受信から有線eternetの送信までを追っかけてみました。
# promisc_cb
* sendbuffer[]にバッファを詰める
@eggman
eggman / startup_disasm.txt
Last active August 26, 2016 23:09
disassembled code of ameba startup.o
10003260 <InfraStart>:
10003260: b508 push {r3, lr}
10003262: 4b15 ldr r3, [pc, #84] ; (100032b8 <InfraStart+0x58>)
10003264: 681b ldr r3, [r3, #0]
10003266: 005b lsls r3, r3, #1
10003268: d422 bmi.n 100032b0 <InfraStart+0x50>
1000326a: 4814 ldr r0, [pc, #80] ; (100032bc <InfraStart+0x5c>)
1000326c: 4a14 ldr r2, [pc, #80] ; (100032c0 <InfraStart+0x60>)
1000326e: 2100 movs r1, #0
10003270: 1a12 subs r2, r2, r0
@eggman
eggman / startup.c
Last active August 27, 2016 20:20
startup.c for ameba
/* startup.c for ameba */
#include "rtl8195a.h"
extern u32 ConfigDebugWarn;
extern u32 ConfigDebugInfo;
extern u32 ConfigDebugErr;
extern void SystemCoreClockUpdate(void);
extern void En32KCalibration(void);
# i2s_api.c for AMEBA (RTL8710 and etc)
void i2s_init(i2s_t *obj, PinName sck, PinName ws, PinName sd)
{
RtkI2SLoadDefault();
HalI2SInit();
}
void i2s_set_dma_buffer(i2s_t *obj, char *tx_buf, char *rx_buf,
uint32_t page_num, uint32_t page_size)
; arm-none-eabi-objdump -D -b binary -m arm -M force-thumb ram_1.r.bin --start-address=0x16a0
16a0: f8df f000 ldr.w pc, [pc] ; 0x16a4 0x
16a4: 2b39 cmp r3, #57 ; 0x39
16a6: 0000 movs r0, r0
16a8: f8df f000 ldr.w pc, [pc] ; 0x16ac
16ac: 0341 lsls r1, r0, #13
16ae: 0000 movs r0, r0
16b0: f8df f000 ldr.w pc, [pc] ; 0x16b4