STM32CubeProgrammer 来袭,还要STLINK Utility干嘛

下载地址:https://my.st.com/content/my_st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stm32cubeprog.license%3d1513777051181.html
一安装,就多两图标.

一链接就说我固件老.

看这菜单大概是支持DFU和UART BSL吧.

烧写软件界面清新.

就连配置界面都很漂亮,一看就知道不是实力派.

滚动条再也看不到进度了.

加密量产包不会用~

其他,自己探索吧.

AVR编程器软件

虽然我自己不用AVR(Arduino除外),但是今有人找我要USBASP烧写器,找了好久,原来用到的工具实际上叫ProgISP.然后现在还出了个SuperPRG,这个竟然支持STLINK?
下载地址:http://web2110575.bgpphp521.badudns.cc/channel.asp?id=21
出于安全起见,我还是搞个副本.
ProgISP 1.72
就是软件看起来挺老的.

Super_Mario_Bros.:_The_Lost_Levels

Super_Mario_Bros 普通版本玩的人多的去了,但是这个超难版本就很少人玩.但是我很喜欢.

下面是到处摘抄.
Super Mario Bros.的正统续作,继承了前作诸多优点,同时引入新鲜要素,关卡设计更为丰富,难度较前作更胜一筹。此外,流程方面增设了诸多隐藏关卡,进一步提升了游戏的耐玩度。
游戏中,隐藏的第9大关结束后,会打出这样的字幕——”YOU’RE A SUPER PLAYER!”,平心而论,这是一款CU向的作品,是为SMB发烧友准备的一道大餐。游戏极高的难度激发了玩家的挑战热情,但同时也让初心者望而却步,任天堂在北美发行SMB第二作时,出于对市场的妥协,索性将一款名为”Doki Doki Panic”的游戏改头换面,作为2代发行,于是采蘑菇变成了拔萝卜,直到超任上推出了”Super Mario All Stars”这款游戏合集,日版SMB2才得以以 “Lost Levels” 的名义,与北美玩家见面。
在这里,针对隐藏关卡仍要多言几句,13个大关,隐藏关占去5个,而且隐藏关的开启条件相当苛刻,这样的设定在游戏史上凤毛麟角,游戏开发者需要具备极大的魄力与自信。
我们要想来到第9大关,只需不借助跳关将表8关全32小关全部通过即可,说起来容易,实现起来却并非易事,即便在SMB一代,也很少有人能一通到尾吧。第9大关是制作者献给玩家的礼物,在9-4关可以清楚发现背景图案竟是由砖块拼起的“アリガトウ!”(日语:谢谢!)。9-4关结束后,游戏会从9-1关开始,如此周而复始,我们看到录像中Mario在不断自杀,因为唯有GAME OVER,才会返回标题画面,继而开始下面的征程。
原版:FDS格式
下面还有一些网友的DUMP NES格式,不过肯定都不如原版吧.目前验证完整的就是Super Mario Bros. (Alt Levels) [p1][!].nes
SMB_v2_NES
 

我可能学了一个假的SD卡操作[分享最新文档]

无论是国内还是国外,对于SD卡的SDIO操作,都停留在好老的时代,比如ST官方代码也没考虑到现在的TF卡先进了,正点原子所谓的文档还是2004年的.那时候也没SDXC.所以大家做MCU的驱动做到32G就尽头了,对于我这种来说,远远不能满足啊.为什么SD卡操作起来这么慢,都是因为操作方法不对啊.一直还在看2.0文档啊,结果官方都出6.0了啊.SD卡官网下载又慢又不支持迅雷等工具.

哎,还是下载下来研究下吧.现在是张好点的卡都支持UHS1的.

还有什么WIFI卡.太多了.
ASSD Extension Simplified Specification[V2.00]
iSDIO Simplified Specification[V1.10]
NFC Interface Simplified Addendum[V1.00]
Physical Layer Simplified Specification[V6.0]
SD Extensions API Simplified Specification[V1.00]
SD Host Controller Simplified Specification[V4.20]
SDIO Bluetooth Type A Simplified Specification[V1.00]
SDIO Simplified Specification[V3.00]
UHS-II Simplified Addendum[V1.02]
Wireless LAN Simplified Addendum[V1.10]

ODROID XU4 入坑体验报告(夜用超长版)

关于内核源码,官方WIKI就两个地址了.

一个是XU3,一个是XU4内核,根据官方描述,XU3-XU4是软件兼容的.

内核是软件吧.我拿了好多代码,分别是这些.看压缩包也知道哪个源来的.

其中linux-odroidxu3-3.10.y.zip,也是最老的,也是唯一一个默认配置下编译能运行的源.唯一一个.能运行还一大堆报错!我的FUCK!然后SPIDEV不知道哪里申请了,看不到,I2C也打不开,奇怪了.源码里面没申请掉啊.
然后镜像分官方和非官方,写在一起了,我都分不清哪个是官方的.

怪我自己,以为这么贵的板子系统肯定每个都好用,那其实不是啊.下面逐个测试.连接进本靠翻墙,国内是基本下载不来了.虽然部分是直链,但是迅雷没资源,还好迅雷支持代理服务器下载.最终也没造成太大影响.整个下载过程大概花了13个小时!我当初为什么觉得用这个板子都是基础不错,我手贱看了看谷歌..

对比下人家RPI.

XU4说的都是各种问题,RPI说的都是各种功能,这就是差别啊.怎么这么贵的东西还这么多BUG,难道我买的是NOTE 7不成?怪我当初没这么搜索过,我知在wiki看过.亚马逊也是一堆问题的.

说好的基本也是玩软件的.

观摩连接:https://www.amazon.com/ODROID-XU4-Single-Board-Computer-Heatsink/dp/B01ITXNCOU/
当然肯定有可以Boot的系统,不然没法玩了,而且这个板子应该都是玩软件的,我猜.不然我也不知道这么坑的板子是如何活下去的.

我的测试环境:

电源:5V 4A电源
路由:newifi 2,MTK7621双核路由 千兆有线
PC:Windows 10 x64
TF卡:Lexar U1 蓝卡
网线:山泽CAT7
HDMI:索尼的不知道什么型号了.插电脑能显示.同时也使用52Pi 800*480 5寸屏测试.
串口调试:因为IO是1.8V的,暂无调试工具.
显示器:普通电脑监视器,1024*768的,贴牌.

第一个体验的系统是android-4.4.4-alpha-4.6-sd_installer-odroidxu3-20170413.img.

板子没有failsafe boot选项,所以默认bootmode也是不能自动切换的.
HDMI不显示,为了证明没问题,这是个绝对的监视器,不是什么创客产品之类的.有EDID信息的.

网口灯常亮,IP没有获取成功.路由上也没任何DHCP请求信息.

测试失败,换用android-LineageOS-14.1-alpha-0.4-sd_installer-odroidxu3-20170207.img

显示同样失败,跟上一个效果是一样的.网络测试失败,一样是网口灯亮了而已.绿色灯从来没亮过.测试失败.
现在继续测试android-LineageOS-ATV-14.1-alpha-0.4-sd_installer-odroidxu3-2017-05-03.img
这么新的系统,还不行,我岂不是要吐血.

测试一样没显示,网卡没反应,只常亮一个灯,不过这次没显示有点差别了,其实是有信号上去的,就是不知道为什么这样.

测试依然失败告终.然后烧写Armbian_5.27_Odroidxu4_Debian_jessie_next_4.9.23.img
armbian一直是很好的镜像,这个armbian是ODROID官网链接来的.以前测试各种OPI什么不好用,用armbian就可以解决.何况这个是odroid官网收录的,说不准更好呢.

armbian启动,HDMI显示更奇怪了.

此时路由也知道设备IP了.

根据我使用armbian的经验,应该是用户名root,密码1234啊,怎么会不对.

原来文件名是armbian而已,实际上不是啊,是OMV.是什么东西.还好我扫描了一下端口发现80是开的,一看发现了.

官方的下载链接有描述,太隐秘了好吗?
https://sourceforge.net/projects/openmediavault/files/Odroid-XU3_XU4/
竟然也是错的.

但是网页可以上.

瞎蒙到正确密码是openmediavault,用户名确实是root,wiki也害死人.

好像是个家用服务器.

在这系统上面肯定跑的就是纯软件了,但是我还是习惯查一下硬件资源.

可见CS1的SPI被注册成触摸屏,但是哪里触摸啊,我晕,这样一个结果导致我不能好好的使用TFT,因为我自己也要注册触摸屏,冲突驱动啊,I2C竟然还是从机来的.不知道其他I2C硬件资源有没有引出.硬件资源后面再说,我们知道系统识别到I2C1 I2C2 I2C4 I2C5.
既然是armbian的,我就比较放心了.应该有armbian-config,但是为什么这个配置进不去,死机了!

庆幸的是第一个可以进系统的.经过多种方法依然不明白为什么进入armbian-config会死机,先放弃了.进入会死机还用armbian干什么.如果这个也进入不了,resize rootfs这些功能哪里来.
接下来试试Kali系统.但是Kali官方构建系统也是说明没测试过的,只是基于官方安装了一些工具.所以我对这个还是有点怀疑.Kaili官方用测试树莓派可用来推导其他可用,不过一般也是没问题吧.

Kali系统因为比较大,所以烧写也有点长时间.反正要10分钟,先干点别的都可以.
Kali网络获取到IP了.

但是显示不行.

SSH失败,估计没开.

没法测试!接着试试ubuntu-16.04-mate-odroid-xu3-20161011.img

显示不正常,就不拍图了.用户名密码也很隐秘.跟下载链接是完全分开的,而且找了好多网页才找到这个可用.http://odroid.com/dokuwiki/doku.php?id=en:xu3_ubuntu_release_note_20160708

查启动日志是3.10内核,一大堆错误啊.

有fb的,就是fbset没有,先apt-get update看看.不人性化啊,看人家RPI都不用再输入了.

然后源是odroid自己的.

为了避免问题,我还是不换源,就算官方那个,我等.

ODROID给我答案是1024*768,识别OK啊,但是不显示是为什么呢.这个就SPI资源什么都没开.

难道这个板子真的只能当软件服务器吗?查很多资料发现boot.ini在windows下才能看得到的一个文件,修改一下说不准可以显示.

发现依然不显示.反正识别出问题了.

换这个试试ODROID-GameStation-Turbo-3.9-20170313-XU3-Jessie.img
一样没显示可以SSH登录.这可是个游戏机啊,没显示玩什么.没有任何地方告诉我用户名密码,最后我尝试到了是odroid:odroid.

也没samba,ftp,web服务,所以不知道怎么玩.内核日志差不多,错的地方都差不多.版本还是3.10,难怪只有这个版本能boot,大家还是踩过坑啊.插入我们的游戏手柄,没反应.插入我鼠标也没反应,没内核日志和识别到设备,所以测试失败.

接下来测试batocera-20170419.img.

结果一样不显示.batocera是第三方打包的,密码并不是odroid,当然这个网站我是几乎连接不上,千辛万苦才上去了.https://batocera-linux.xorhub.com/wiki/doku.php?id=en:access_the_batocera_via_ssh
默认用户名root,密码recalboxroot.

这难道是嵌入式busybox,跟其他所有系统一样,分区没resize,不过这个占用很小.当然也没包管理.确实是busybox构建的.

BusyBox is copyrighted by many authors between 1998-2015.
Licensed under GPLv2. See source distribution for detailed
copyright notices.
Usage: busybox [function [arguments]…]
or: busybox –list[-full]
or: busybox –install [-s] [DIR]
or: function [arguments]…
BusyBox is a multi-call binary that combines many common Unix
utilities into a single executable. Most people will create a
link to busybox for each function they wish to use and BusyBox
will act like whatever it was invoked as.
Currently defined functions:
[, [[, addgroup, adduser, ar, arp, arping, ash, awk, basename, blkid,
bunzip2, bzcat, cat, catv, chattr, chgrp, chmod, chown, chroot, chrt,
chvt, cksum, clear, cmp, cp, cpio, crond, crontab, cut, date, dc, dd,
deallocvt, delgroup, deluser, devmem, df, diff, dirname, dmesg, dnsd,
dnsdomainname, dos2unix, du, dumpkmap, echo, egrep, eject, env,
ether-wake, expr, false, fbset, fdflush, fdformat, fdisk, fgrep, find,
flock, fold, free, freeramdisk, fsck, fstrim, fuser, getopt, getty,
grep, gunzip, gzip, halt, hdparm, head, hexdump, hostid, hostname,
hwclock, i2cdetect, i2cdump, i2cget, i2cset, id, ifconfig, ifdown,
ifup, inetd, init, insmod, install, ip, ipaddr, ipcrm, ipcs, iplink,
iproute, iprule, iptunnel, kill, killall, killall5, klogd, last, less,
linux32, linux64, linuxrc, ln, loadfont, loadkmap, logger, login,
logname, losetup, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat, lzma,
makedevs, md5sum, mdev, mesg, microcom, mkdir, mkfifo, mknod, mkpasswd,
mkswap, mktemp, modprobe, more, mount, mountpoint, mt, mv, nameif,
netstat, nice, nohup, nslookup, od, openvt, passwd, patch, pgrep,
pidof, ping, pipe_progress, pivot_root, poweroff, printenv, printf, ps,
pwd, rdate, rdev, readlink, readprofile, realpath, reboot, renice,
reset, resize, rm, rmdir, rmmod, route, run-parts, runlevel, sed, seq,
setarch, setconsole, setkeycodes, setlogcons, setserial, setsid, sh,
sha1sum, sha256sum, sha3sum, sha512sum, sleep, sort, start-stop-daemon,
stat, strings, stty, su, sulogin, swapoff, swapon, switch_root, sync,
sysctl, syslogd, tail, tar, tee, telnet, test, tftp, time, top, touch,
tr, traceroute, true, truncate, tty, ubirename, udhcpc, uevent, umount,
uname, uniq, unix2dos, unlink, unlzma, unxz, unzip, uptime, usleep,
uudecode, uuencode, vconfig, vi, vlock, watch, watchdog, wc, wget,
which, who, whoami, xargs, xz, xzcat, yes, zcat

我哭了,小白也哭了,这系统干什么啊,什么都做不了啊.嵌入式系统啊,嵌入式平台为什么不选个资料完善更多的.然而我差点不会关机了.
PS:后来了解到这是个高效游戏机,尽量节约任何系统开销.

下一个是ubuntu-14.04lts-server-odroidxu4-20150802.img.

显示信号没有(不是没显示,是信号都没.),网络也是只亮了个橙色的灯.没获取到IP,风扇偶尔转动.
接着试试wheezy-7-server-odroidxu4-20150802.img

跟上面那个一样下场,显示信号没有(不是没显示,是信号都没.),网络也是只亮了个橙色的灯.没获取到IP,风扇偶尔转动.既然作为server,没显示我也觉得没所谓,但是竟然没任何能连接的方法!官方也不说!
试试Lakka-OdroidXU3.arm-2.0.img 这其实也是一个游戏机系统.

因为我在树莓派用过,密码用户名都是root,有SSH的,但是这里竟然.

官方文档说:http://www.lakka.tv/doc/Accessing-Lakka-command-line-interface/

Accessing Lakka command line interface is useful if you want to debug the system, or if you need to edit the configuration file manually. It is for advanced users only. For begginners, using the graphical interface should be enough.
There are 3 ways to access the command line interface:

  • SSH
  • Direct access with a keyboard
  • Serial

但是,我根本没显示啊!串口电压也不对.这个系统不显示,但是有信号,跟之前的一样,显示的画面比较乱.放弃,失败.
继续尝试Debian-Jessie-1.0~RC2-20151123-XU3.img

不显示,有信号,能获取IP,但是我没找到密码.作者说的密码是错的,我自己猜的密码也没有对的.

作者连接:https://forum.odroid.com/viewtopic.php?f=96&t=17542
当然,作者说默认ssh不能root登陆,我用宿主机Ubuntu改了sshd_config,依然是提示密码错误,并不是禁止root登陆这么简单,所以,我也不知道实际是多少,无法使用.
接下来该测试armbian全家桶,首先是Armbian_5.27_Odroidxu4_Ubuntu_xenial_next_4.9.13_desktop.img
armbian一般独立维护着系统,应该不坑吧.熟悉的armbian

然后设置一段后…

这是一个能自动resize分区的系统,跟dietpi是另一个,其他所有系统都不能自动resize.其他有些虽然是基于armbian但是却不知道为什么不要了这个功能.可能是打包方法问题.

竟然原来默认没armbian config啊.

分辨率也识别了,就是不显示.

armbian的启动日志,他用的4.9内核.