搜索
bottom↓
楼主: Andrewz

2016年来了,今年,一定把Linux搞懂.

  [复制链接]

出35入0汤圆

 楼主| 发表于 2016-2-29 17:28:31 | 显示全部楼层
用最直接也是最笨的方式写了个makefile.
ROOT_DEV=/home/AVR/Robot_20160227
CC=/usr/bin/avr-gcc
CFLAGS=-gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -Wall -I$(ROOT_DEV) -mcall-prologues -mmcu=atmega128

TARGET=Robot

$(TARGET):app_entry.o app_communicate.o app_cruise.o app_device.o app_io.o app_measure.o dev_amplifier.o dev_biss0001.o dev_cd4051.o dev_cn3703.o dev_drv8801.o dev_ds1232.o dev_hall.o dev_IR.o dev_LCD.o dev_rf315.o dev_sim900.o dev_STM.o bsp_adc.o bsp_eeprom.o bsp_gpio.o bsp_i2c.o bsp_timer.o bsp_uart.o os_cpu_a.o os_cpu_c.o os_core.o os_task.o os_time.o
        $(CC) $(CFLAGS) -o $(TARGET) app_entry.o app_communicate.o app_cruise.o app_device.o app_io.o app_measure.o dev_amplifier.o dev_biss0001.o dev_cd4051.o dev_cn3703.o dev_drv8801.o dev_ds1232.o dev_hall.o dev_IR.o dev_LCD.o dev_rf315.o dev_sim900.o dev_STM.o bsp_adc.o bsp_eeprom.o bsp_gpio.o bsp_i2c.o bsp_timer.o bsp_uart.o os_cpu_a.o os_cpu_c.o os_core.o os_task.o os_time.o
       
app_entry.o:$(ROOT_DEV)/app/entry/app_entry.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/app/entry/app_entry.c
app_communicate.o:$(ROOT_DEV)/app/task/app_communicate.h $(ROOT_DEV)/app/task/app_config.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/app/task/app_communicate.c
app_cruise.o:$(ROOT_DEV)/app/task/app_cruise.h $(ROOT_DEV)/app/task/app_config.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/app/task/app_cruise.c
app_device.o:$(ROOT_DEV)/app/task/app_device.h $(ROOT_DEV)/app/task/app_config.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/app/task/app_device.c
app_io.o:$(ROOT_DEV)/app/task/app_io.h $(ROOT_DEV)/app/task/app_config.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/app/task/app_io.c
app_measure.o:$(ROOT_DEV)/app/task/app_measure.h $(ROOT_DEV)/app/task/app_config.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/app/task/app_measure.c

dev_amplifier.o:$(ROOT_DEV)/bsp/device/dev_amplifier.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_amplifier.c
dev_biss0001.o:$(ROOT_DEV)/bsp/device/dev_biss0001.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_biss0001.c
dev_cd4051.o:$(ROOT_DEV)/bsp/device/dev_cd4051.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_cd4051.c
dev_cn3703.o:$(ROOT_DEV)/bsp/device/dev_cn3703.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_cn3703.c
dev_drv8801.o:$(ROOT_DEV)/bsp/device/dev_drv8801.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_drv8801.c
dev_ds1232.o:$(ROOT_DEV)/bsp/device/dev_ds1232.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_ds1232.c
dev_hall.o:$(ROOT_DEV)/bsp/device/dev_hall.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_hall.c
dev_IR.o:$(ROOT_DEV)/bsp/device/dev_IR.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_IR.c
dev_LCD.o:$(ROOT_DEV)/bsp/device/dev_LCD.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_LCD.c
dev_rf315.o:$(ROOT_DEV)/bsp/device/dev_rf315.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_rf315.c
dev_sim900.o:$(ROOT_DEV)/bsp/device/dev_sim900.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_sim900.c
dev_STM.o:$(ROOT_DEV)/bsp/device/dev_STM.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/device/dev_STM.c

bsp_adc.o:$(ROOT_DEV)/bsp/peripheral/bsp_adc.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/peripheral/bsp_adc.c
bsp_eeprom.o:$(ROOT_DEV)/bsp/peripheral/bsp_eeprom.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/peripheral/bsp_eeprom.c
bsp_gpio.o:$(ROOT_DEV)/bsp/peripheral/bsp_gpio.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/peripheral/bsp_gpio.c
bsp_i2c.o:$(ROOT_DEV)/bsp/peripheral/bsp_i2c.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/peripheral/bsp_i2c.c
bsp_timer.o:$(ROOT_DEV)/bsp/peripheral/bsp_timer.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/peripheral/bsp_timer.c
bsp_uart.o:$(ROOT_DEV)/bsp/peripheral/bsp_uart.h $(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/bsp/peripheral/bsp_uart.c

os_cpu_a.o:$(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/os/port/os_cpu_a.S
os_cpu_c.o:$(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/os/port/os_cpu_c.c
os_core.o:$(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/os/source/os_core.c
os_task.o:$(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/os/source/os_task.c
os_time.o:$(ROOT_DEV)/sys/sys_include.h
        $(CC) $(CFLAGS) -c $(ROOT_DEV)/os/source/os_time.c


.PHONY:clean
clean:
        -rm *.o

make以后居然生成了Robot.
但是不是hex.而是可执行文件.
现在在想办法生成.bin.

出35入0汤圆

 楼主| 发表于 2016-3-1 09:42:39 | 显示全部楼层
本帖最后由 Andrewz 于 2016-3-1 11:53 编辑


灰常开心的事情,
用avr-objcopy就可以将Robot转化成HEX以及BIN了.
然后再用上次网上找到的avrubd.sh.
就能给单片机更新程序了.
上传备份下


编辑原因:把.sh贴出来.
#!/bin/bash
# this script is interface for using AVR Universal Bootloader
# type ./avrubd.sh -h for help
#
# script made by rafal[dot]kusmider[at]gmail[dot]com
# for bootloader of Shao Ziyang

NAME=$0
UART_SPEED=19200
UART_DEV=/dev/ttyUSB0
UART_FLAGS="ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke"
FILE_NAME=
FLAG_VERBOSE="off"

ECHO="echo  -e"
ECHO_NO_COLOR="\x1b[0m"
ECHO_GREEN_COLOR="\x1b[32;32m"
ECHO_BROWN_COLOR="\x1b[32;33m"
ECHO_CYAN_COLOR="\x1b[32;36m"
ECHO_BLUE_COLOR="\x1b[32;94m"
ECHO_ERROR_COLOR="\x1b[31;01m"
ECHO_WARN_COLOR="\x1b[33;01m"
ECHO_NICE_BLACK="\x1b[01;30m"
ECHO_MAGENTA_COLOR="\x1b[00;35m"

usage ()
{
        echo  "usage: $NAME [options] file.bin"
        echo  "options:"
        echo  " -h, --help        prints this help"
        echo  " -d, --device        set device name    (default: $UART_DEV)"
        echo  " -s, --speed        set uart baud rate (default: $UART_SPEED)"
        echo  " -v, --verbose        be verbose         (default: $FLAG_VERBOSE)"
        echo  " file.bin        path to binary file that is to be transfered"
        exit 1
}

restore_uart ()
{
        log_debug "restoring UART"
        #restore uart speed
        stty -F $UART_DEV $UART_PREVIOUS_SETTINGS
}

log_debug ()
{
        if [ "$FLAG_VERBOSE" == "on" ]; then
                $ECHO $ECHO_NO_COLOR$1$ECHO_NO_COLOR;
        fi
}

log_debug_nn ()
{
        if [ "$FLAG_VERBOSE" == "on" ]; then
                $ECHO -n $ECHO_NO_COLOR$1$ECHO_NO_COLOR;
        fi
}

OPTIONS=`getopt -o hs:d:v --long help,speed:,device:,verbose -- "$@"`
if [ $? != 0 ] ; then
        echo "Parse options error  ..." ;
        exit 1 ;
fi
eval set -- "$OPTIONS"

while true ; do
        case "$1" in
        -h|--help)
                usage
                exit 0;
                shift
                ;;
        -s|--speed)
                UART_SPEED=$2
                shift 2
                ;;
        -d|--device)
                UART_DEV=$2
                shift 2
                ;;
        -v|--verbose)
                FLAG_VERBOSE="on"
                shift
                ;;
        --)
                shift
                break;;
        *)
                $ECHO $ECHO_ERROR_COLOR"unsupported parameter $1"$ECHO_NO_COLOR
                usage
                shift
                ;;
        esac
done

if [ $# -ne 1 ] ; then
    usage
fi

if [ -e $1 ] ; then
        FILE_NAME=$1
else
        $ECHO $ECHO_ERROR_COLOR"file $1 doesnt exist"$ECHO_NO_COLOR
        usage
fi

log_debug "script will be run with settings:"
log_debug "UART_DEV: $UART_DEV"
log_debug "UART_SPEED: $UART_SPEED"
log_debug "FILE_NAME:$FILE_NAME"
UART_PREVIOUS_SETTINGS=`stty -F $UART_DEV -g`
log_debug "FLAG_VERBOSE: $FLAG_VERBOSE"

if [ ! -e $UART_DEV ] ; then
        $ECHO $ECHO_ERROR_COLOR"device $UART_DEV doesnt exist"$ECHO_NO_COLOR
        exit 1;
fi

#set uart to desired speed
stty -F $UART_DEV $UART_SPEED $UART_FLAGS

expect_char_for_s ()
{
#        log_debug "waiting for $1 for maximum $2 s"
        START_TIME=$(date +%s);
        while read -n1 -t $2 char
#        while read -t $2 char
        do
#                log_debug "readed:\"$char\"(=\"$1\"?)"
                if [ "$char" == "$1" ]; then
#                        log_debug "yes"
                        return 0
                fi

                NOW_TIME=$(date +%s);
                DIFF_TIME=$(($NOW_TIME - $START_TIME))
                if [ "$DIFF_TIME" -gt "$2" ] || [ "$DIFF_TIME" -eq "$2" ]; then
#                        $ECHO $ECHO_ERROR_COLOR"timeout while waiting for \"$1\""$ECHO_NO_COLOR;
                        return 1
                fi
        done < $UART_DEV

#        $ECHO $ECHO_ERROR_COLOR"timeout while reading \"$1\""$ECHO_NO_COLOR;
        return 2
}

echo -n "flush input buffer ... "
FLUSH_START_TIME=$(date +%s);
FLUSH_DIFF_TIME=0
while read -t 0.1 char
do
        FLUSH_NOW_TIME=$(date +%s);
        FLUSH_DIFF_TIME=$(($FLUSH_NOW_TIME - $FLUSH_START_TIME))
#        echo -n $char

        if [ "$FLUSH_DIFF_TIME" -gt 30 ]; then
                $ECHO $ECHO_WARN_COLOR"timeout while flushing buffer"$ECHO_NO_COLOR;
                break;
        fi
done < $UART_DEV
if [ ! "$FLUSH_DIFF_TIME" -gt 30 ]; then
        $ECHO $ECHO_GREEN_COLOR"OK"$ECHO_NO_COLOR;
fi


#send 'd' and wait for 'C' - this is enter bootloader transaction
#echo -n -e "d\x0E\x1C\x39\x14\x28\x57\xAA">$UART_DEV
i=0
echo -n "plase restart device, handshake will be performed ... "
log_debug "performing handshake"

#send command for reset - device have to handle it
echo -e "reboot">$UART_DEV

for i in {1..11}
do
        if [ $i -eq 11 ]; then
                 break;
        fi

        log_debug_nn "send password and wait for ACK ($i/10) ... "
        echo -n -e "d">$UART_DEV
        expect_char_for_s "C" 1
        if [ $? -eq 0 ]; then
                $ECHO $ECHO_GREEN_COLOR"OK"$ECHO_NO_COLOR;
                break;
        else
                log_debug "unsuccesful waiting for command char (return code $?)"
        fi
done
if [ $i -eq 11 ]; then
        $ECHO $ECHO_ERROR_COLOR"handshake error"$ECHO_NO_COLOR;
        restore_uart
        exit 1
fi

######################now get input file and send it piece by piece
sx -X $FILE_NAME > $UART_DEV < $UART_DEV

log_debug "last opperation finished with $?"

restore_uart

log_debug "ive just finished"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-3-1 11:08:38 | 显示全部楼层
来支持下楼主,好气魄。

出0入0汤圆

发表于 2016-3-1 12:04:07 | 显示全部楼层
向楼主学习,加油!

出0入0汤圆

发表于 2016-3-1 12:34:46 | 显示全部楼层
Andrewz 发表于 2016-1-16 09:25
下载完84M的Linux.
解完压怎么成368M了.

哈哈,楼主你太逗了!放心吧,你编译后内核又会小回去的。。。

出0入0汤圆

发表于 2016-3-1 13:00:30 | 显示全部楼层
mandylion2008 发表于 2016-2-27 18:40
哈哈。。。。。

看来得来个5年计划了。

说的很对,兴趣和金钱动力很靠谱,靠毅力根本行不通。

出140入158汤圆

发表于 2016-3-1 13:11:55 | 显示全部楼层
说这种话的人,通常明年还会继续说同样的话,直到....

出0入0汤圆

发表于 2016-3-1 13:51:16 | 显示全部楼层
linux,好难,一言难尽

出35入0汤圆

 楼主| 发表于 2016-3-9 11:51:53 | 显示全部楼层
最近除了学习Linux外,还到一些网站上面申请了开发板.
感觉很多类似的技术网站都抄袭了莫大网站的排版风格.
回来查资料才发现这里的资料是最全的.

出35入0汤圆

 楼主| 发表于 2016-3-9 16:09:37 | 显示全部楼层
今天,alphaGo在围棋上面战胜了李世时.
让一个人面对一个机器.
或许N多年之后,人们再看这个问题,
就像我们现在看 单车与摩托车一样.
希望人类能够得到解放.

出0入0汤圆

发表于 2016-3-10 16:03:14 | 显示全部楼层
lanqilove 发表于 2016-1-28 16:04
@all
    看了好多类似的帖子,都是“我要学linux啦,买个2440还是A8?”,“uboot代码看不懂”之类的,还 ...

有很多公司都会牵扯到kernel内核的开发的,

        尤其是性能调优,我们公司就有30+人次开发内核,当然我们公司是做芯片的,得出方案,

出0入0汤圆

发表于 2016-3-10 16:07:55 | 显示全部楼层
我2014年年中励志学习Linux,买了鸟哥,韦东山,申嵌,国嵌,各种疯狂了大半年(晚上看书实操到12点),然后去年的这个时候 ,到了现在的公司,在linux下面搞开发,主要搞storage,


自学很慢的,要有环境,以及有人带,会学的快很多。 不过开始还是得自学,

出0入0汤圆

发表于 2016-3-10 16:16:46 | 显示全部楼层
搞linux kernel 驱动 会颠覆 很多单片机 开发的认识, 比如不能单步调试,没有断点,等。只能增加些打印分析当时的情况。也就意味着要对对C语言非常精通。

我们组有个搞linux 10年的家伙,年薪嘛 50万+吧

出0入0汤圆

发表于 2016-3-10 18:10:04 | 显示全部楼层
希望楼主能够坚持下去

出35入0汤圆

 楼主| 发表于 2016-3-10 20:13:39 | 显示全部楼层
songjie 发表于 2016-3-10 16:16
搞linux kernel 驱动 会颠覆 很多单片机 开发的认识, 比如不能单步调试,没有断点,等。只能增加些打印分 ...

看了层主的回复,又增加了信心.
这两天学习了下Linux的shell awk grep,还有一些常用的工具.
然后又学习了一下单片机里面的USB.就扯到了FS.
觉得还是有很多东西需要学习.

这些天的体会:

感觉Linux下面很多工具 都有自己的语法.大体相似但细节都不同.
要学好还是得花一些时间.

出100入101汤圆

发表于 2016-3-12 22:48:22 | 显示全部楼层
songjie 发表于 2016-3-10 16:16
搞linux kernel 驱动 会颠覆 很多单片机 开发的认识, 比如不能单步调试,没有断点,等。只能增加些打印分 ...

好公司啊!公司里搞linux的同事,工作了也10来年了,也不过10多万。

出35入0汤圆

 楼主| 发表于 2016-3-22 16:52:18 | 显示全部楼层
申请了一块KL27mini的板子.
学习USB.
然后觉得,还要学习下File system.
两个东西都是偏软件的东西,一开头显得比较没有头绪.看了一阵子后,先对USB有了感性认识:
USB可以分成HOST和DEVICE两个角色.当然,还有OTG是可以扮演两种角色的.
看了这些天,觉得USB的难点在于,各个描述符的意义和通信的步骤.
描述符对编程的人来说,就是几个有数据结构要求的常量.
HOST可以通过读取描述符了解到接入的USB是什么设备.进而对该设备进行相应的操作.
而通信的步骤,看资料也是一大堆,看完后觉得应该难度不大.按照他写的来做就可以了.
看了几天USB.还没开始写程序.
Linux几天没看了.

出0入0汤圆

发表于 2016-3-23 17:35:47 | 显示全部楼层
看看操作系统原理,更好理解

出0入0汤圆

发表于 2016-3-23 17:37:06 | 显示全部楼层
最近上了4.1 看设备树,,头大            

出0入0汤圆

发表于 2016-3-24 16:56:10 | 显示全部楼层
linux  一起学

出0入0汤圆

发表于 2016-3-24 17:21:56 来自手机 | 显示全部楼层
Andrewz 发表于 2016-3-22 16:52
申请了一块KL27mini的板子.
学习USB.
然后觉得,还要学习下File system.

别陷入usb的坑里,这玩意要全搞懂太麻烦了,深入就是一个专业领域了。

出35入0汤圆

 楼主| 发表于 2016-3-25 12:15:37 | 显示全部楼层
myxiaonia 发表于 2016-3-24 17:21
别陷入usb的坑里,这玩意要全搞懂太麻烦了,深入就是一个专业领域了。

谢谢提醒~
大概模拟两个EP出来就达到目标了.

出0入0汤圆

发表于 2016-3-31 16:05:47 | 显示全部楼层
向楼主 学习,跌跌撞撞学习LINUX已几年了

出0入0汤圆

发表于 2016-4-1 10:19:32 | 显示全部楼层
年经贴,每年就有XX年了,这年一定要搞懂XX

出35入0汤圆

 楼主| 发表于 2016-4-1 10:48:46 | 显示全部楼层
本帖最后由 Andrewz 于 2016-4-1 15:47 编辑

愚人节被调离岗位,
早想离开这个公司了.

了解被调离研发的原因,居然是和新来的研发部经理不和谐.
说要调岗调薪.

一个项目单片机已经写了一年多了.大部分单片机程序都是自己写的.

2月招了一个还没毕业的过来,3月份招了一个研发部经理.

今天上午人事给我看这个决定的条子,我说给我拍个照,她又不肯了.

昨天还就因为3天没写ERP,被扣了82.**元.

去年1月进公司,说一个月试用期,有五险一金.
结果到五月份还没按正常的工资发钱.
五险更是到现在也没有.
公司管理混乱,闲杂人员充斥.

对搞技术的人来说,唯一一点还行的就是大老板只管发钱,而且现金充裕.
整天没什么事情.

过完年公司又搬到这个城市的最西北角落.一天上下班3个多小时.
一周上六天班.
其间开过一次会议,大概是大家普遍要求由六天改双休.
因为公司现在是早上9点上班,中午休息两个小时,下午5点半下班.
管技术的小老板说,改成5天那你们得天天7点半来上班.

在这个公司工作的其间,学习了一下java,学习了一下linux,学习了一下USB.
研发里面比我早的除了一个总工和一个ARM开发的就没别人了.

这一年多的时间,从技术的角度上面说,只画了一块板子.
程序倒是写了一些.
但是公司产品迟迟卖不出手,程序写起来也没有什么意思了.
整个研发流程:
老板 看到 什么,问总工,能做出来吗?总工回答,能.
然后我们就开始做.

做完问:做好了吗?能用就行.

然后居然就卖给别人了.

最奇葩的是,产品没出来之前模具就做好了.
然后随着产品的修改,模具也跟着改.

当然这些和我没有什么关系.
只是今天被调岗,本人自然是不愿意的.
但是公司肯定又不会直接给我1个月开除我.

开始找工作.

对现在这家公司,我的评价:豪+奇葩.

出35入0汤圆

 楼主| 发表于 2016-4-8 10:27:48 | 显示全部楼层
今天也是本人在这个公司上班的最后一天.
还好已经找好下家,下周开始上班.

这些天学习USB,发现学习这个还牵扯到windows编程.
需要写.inf驱动文件,看来单片机稍微复杂一点的功能还是离不开高级的操作系统.
慢慢找到一点研发人员的感觉了.
离职证明给我写的3月1日,真是搞不懂.
这个社会每个人都按照规则把自己的事情做好了,那该是多值得庆贺.

出0入0汤圆

发表于 2016-4-8 13:39:22 | 显示全部楼层
下定决心,埋头苦干

出0入0汤圆

发表于 2016-4-8 13:51:02 | 显示全部楼层
有进展吗?

出0入0汤圆

发表于 2016-4-8 13:57:32 | 显示全部楼层
有进展吗?

出35入0汤圆

 楼主| 发表于 2016-4-19 22:53:24 | 显示全部楼层
新到的公司做 飞行器的.
从机器人到飞行器,这个跨度还算好.
都是 摄像头+手机开发 底下用 ARM或者单片机.
这些天又玩回了ST.第一个工作后接触的品牌.
不过转了一圈回来发现,STM32F030的性价比,对于我这种没有什么严格要求的人来说,
实在是没得话说.
新公司无法上网,这也是比较独特的特点.
正好之前玩过一下加速度计,这些天又了解了下蓝牙透传和角速度,地磁感应.
Linux是放下一阵子了.

出0入0汤圆

发表于 2016-4-20 11:00:43 | 显示全部楼层
此路真的漫漫长

出35入0汤圆

 楼主| 发表于 2016-4-20 23:28:54 | 显示全部楼层
今天用一个上午的时间和Andriod开发把蓝牙调好.
发觉蓝牙转串口透传是一个很好的连接手机与单片机的工具.
看到eclipse界面后,还是有点怀念Java.
上午调好了.
下午开始弄STM32F407VET6,发现这个ST的东东整个产品线的兼容性不错.
把STM32F030上面的程序搬过来,只稍微改了几个寄存器,就能较好的运行了.

可以说是无缝衔接呀.
168MHz的单片机,第一次玩这么高.
不过实现的几个功能也是比较简单的.
GPIO/USART/I2C/PWM.
F407的时钟设置那里有一个要设置FLASH的延时,之前不知道,用debug程序老跑着跑着就跑偏了.
还有就是startup里面要设置一下FPU,不然进不去__main.会一直hardfault.
这两个东东以前没有遇到过,折腾了一阵子.

F030上面居然也有USB.
想想这一两块钱的东西玩溜了还是能实现不少功能的.

出35入0汤圆

 楼主| 发表于 2016-4-27 23:52:45 | 显示全部楼层
在玩了一圈之后,又回到了无操作系统的timeOut模式.
让我惊叹的是,stm32f030有单周期硬件乘法指令.
这让我感觉F4和F0的性能差不多了.

L3GD20 LSM303D BMP180.
最快到4.2个微妙读写一个字节了.
最近学到的东西是,会在单片机上面用除了unsigned的其他数据类型了.

出0入0汤圆

发表于 2016-4-28 00:08:38 | 显示全部楼层
我13年就开始准备了

出0入0汤圆

发表于 2016-4-28 09:18:33 | 显示全部楼层
a312835782 发表于 2016-1-16 22:23
一起加油!   明年老板买不买得了新车就靠我们了!

一起加油!   明年老板买不买得了新车就靠我们了!

出0入0汤圆

发表于 2016-4-28 09:28:07 | 显示全部楼层
顶你,一起学习吧

出0入0汤圆

发表于 2016-5-5 16:53:58 | 显示全部楼层
yick 发表于 2016-4-28 00:08
我13年就开始准备了

现在准备的怎么样了

出0入0汤圆

发表于 2016-5-5 21:53:27 | 显示全部楼层
xiaowenshao 发表于 2016-5-5 16:53
现在准备的怎么样了

准备重新开始

出0入0汤圆

发表于 2016-5-6 07:58:56 来自手机 | 显示全部楼层
一起加油!   明年老板买不买得了新车就靠我们了!

出0入0汤圆

发表于 2016-5-6 11:20:06 | 显示全部楼层

再准备3年

出35入0汤圆

 楼主| 发表于 2016-5-7 09:21:48 | 显示全部楼层
最近做的工作和linux没有多大关系.
在f0上面实现了一个简单的AHRS和PID.
现在才真正体会到MCU的数学处理这个概念.
一些数学函数真是无法解释为什么会这样,但是事实上确实就是那样.
就像 97年Mekka ’97 4K Intro比赛那段程序.
都是神一般的存在.

出0入0汤圆

发表于 2016-5-7 09:52:00 | 显示全部楼层
多次望而却步啊~~

出0入0汤圆

发表于 2016-5-8 11:00:35 | 显示全部楼层
lanqilove 发表于 2016-1-28 16:04
@all
    看了好多类似的帖子,都是“我要学linux啦,买个2440还是A8?”,“uboot代码看不懂”之类的,还 ...

豁然开朗

出0入0汤圆

发表于 2016-5-8 19:53:30 | 显示全部楼层
linux都是个淘汰的东西,还不如去搞andriod

出0入0汤圆

发表于 2016-5-8 23:49:20 来自手机 | 显示全部楼层
lanqilove 发表于 2016-1-28 16:04
@all
    看了好多类似的帖子,都是“我要学linux啦,买个2440还是A8?”,“uboot代码看不懂”之类的,还 ...

mark        
.
l

出0入0汤圆

发表于 2016-5-10 00:02:00 | 显示全部楼层
gzhua20088ssj 发表于 2016-5-8 19:53
linux都是个淘汰的东西,还不如去搞andriod

linux没淘汰,只是目前搞安卓相对挣钱而已。

出0入0汤圆

发表于 2016-5-13 17:12:05 | 显示全部楼层
建议还是注重应用吧,底层驱动一般处理芯片厂的大公司,其他的一般不怎么用,也就是有事改下原有驱动,小幅度修改就行,侧重点还是应用开发

出35入0汤圆

 楼主| 发表于 2016-5-25 23:48:07 | 显示全部楼层
这些天开始搞装修了.
STM32参考例子写了个bootloader.
今天安装了一个IPython.
宝宝半岁了.
Linux啊...
终于工作中有与你相关的了.shell~

出35入0汤圆

 楼主| 发表于 2016-5-30 20:38:58 | 显示全部楼层
今天用console把STM32F030的bootloader上位机做出来了.
hex去头尾转bin.
bin去回车转换成ascii数组.
ascii再发串口.
还在console上面多线程非阻塞输入.

激动了一下.

出0入0汤圆

发表于 2016-5-30 23:25:55 | 显示全部楼层
请联系学习开发

出35入0汤圆

 楼主| 发表于 2016-5-31 23:34:31 | 显示全部楼层
今天摸了下Tkinter.
grid是个比较好的布局工具.
明天争取图形化出来.

出35入0汤圆

 楼主| 发表于 2016-6-16 23:45:18 | 显示全部楼层
python的字符串用上RE之后真的是比C语言方法快捷很多了.
今天我的直属上司离职了.
还是他介绍我用python来的,短短两个多月,从他那里学到不少东西.
比如单片机里面的浮点数,飞行控制,STM32CUBE,用C++开发单片机,Python,FreeRTOS,自己实现invSqrt,atan,asin,学会生成.lib等.
本来还要弄anduino和Linux的.
可惜他要走.
好不容易找到个真才实学的师傅.
估计他一走,我又会回到苦力部队.今天上班时间就被调去搬家了.
这年头碰到个学长难,
碰到个真才实学的学长更是难,
坐了几回他的奔驰.
今天无意间看到奔驰的广告,the best or nothing.
或许能够出众的人,心中都有一辆benz吧.

出0入99汤圆

发表于 2016-6-21 08:46:27 | 显示全部楼层
mandylion2008 发表于 2016-1-16 21:44
做单片机的这么低?!
我知道的用单片机搞电机控制,做的稍好的轻轻松松1.5W~2W,做的更好的差不多3W。

本科和高中还是有区别的,至少本科知道了很多理论的存在,比如傅立叶变换,采样定律,拉斯变换,频谱分析。。。你说都是砌砖的人也许看起来一样,理论有时候看起来没作用,但是遇到了,那还是很有用的。

出0入99汤圆

发表于 2016-6-21 09:01:46 | 显示全部楼层
gzhua20088ssj 发表于 2016-5-8 19:53
linux都是个淘汰的东西,还不如去搞andriod

android就是基于linux,linux应用太多,android只是一个赚钱的方向,你确定你知道linux用的地方已经涉及所有方面?服务器很大比例都是linux,硬件网络摄像头都是linux, android淘汰,linux都不可能淘汰

出0入0汤圆

发表于 2016-6-21 10:32:07 | 显示全部楼层
越难搞懂的越值钱,GO吧

出0入0汤圆

发表于 2016-7-8 13:53:33 | 显示全部楼层
受教了,要学的太多

出0入0汤圆

发表于 2016-7-8 14:50:51 | 显示全部楼层
别拿楼主开涮,

别拿楼主开涮,

出0入0汤圆

发表于 2016-7-8 16:32:05 | 显示全部楼层
LZ活得挺充实的

出0入0汤圆

发表于 2016-7-8 18:27:36 | 显示全部楼层
一天到晚LINUX LINUX,实际上这玩意根本不赚钱

出35入0汤圆

 楼主| 发表于 2016-7-8 22:51:26 | 显示全部楼层
zhaoyi821103 发表于 2016-7-8 18:27
一天到晚LINUX LINUX,实际上这玩意根本不赚钱

看到LS的回复,点一万个赞,目前仍然处于求"术"的阶段.
不管linux windows andriod arduino ucos osah zboss windriver ssh xml anaconda jre masm tkint GTK+ modbus
都只是个工具而已.

也不管wireshark genesis protel ad orcad cam360 pads allergo keil STVD CS iar winavr codewarrior PICC
都只是别人做好了你去用的工具而已..

其实弄那么多,根本和赚钱没有几分钱关系.
何况按照机会成本来说,弄得越多,反而学得越浅.越没有价值.

所以,能做好一件事就已经不错了~

目前职业,搞飞机..  

不过Linux还是要弄懂就好.

这两天无意间发现桌子前面有一本 韦东山 的Linux教程. 自己正好有块S3C2440的板子.
无法用言语形容.

出35入0汤圆

 楼主| 发表于 2016-7-27 22:10:41 | 显示全部楼层
这些天看了
python基础教程 2nd
C++ prime
自己动手用C++写了个STM32F429的程序.
到最后,还是什么东西都学了.
用个1us的计时器给每个程序段测试运行时间,然后加到一个分配的时间片段里面.
让程序永远在安全的范围里面运行.
我想说的是,这样的程序只有自己能改了.
F4带浮点运算.之前的都是编译器自己用eabi_fmul等实现浮点乘除的.现在一条指令就够了.
1ms分成十份来用.

出50入0汤圆

发表于 2016-7-28 13:03:11 来自手机 | 显示全部楼层
祝你成功

出0入0汤圆

发表于 2016-7-28 13:10:37 | 显示全部楼层
Andrewz 发表于 2016-6-16 23:45
python的字符串用上RE之后真的是比C语言方法快捷很多了.
今天我的直属上司离职了.
还是他介绍我用python来 ...

楼主,搞飞机的?我也想学linux,不知道linux工资会不会比单片机工资高很多,嘿嘿

出870入263汤圆

发表于 2016-8-17 13:22:44 | 显示全部楼层
楼主,到现在为止你的进度如何?我跟你差不多同时起步的,我终于搞懂linux了!
linux是linus+minix的合成词,而且我还会在vmware里安装ubuntu呢!
老夫终于学有所成,现在可以到处吹牛逼了

出35入0汤圆

 楼主| 发表于 2016-8-18 23:22:22 | 显示全部楼层
armstrong 发表于 2016-8-17 13:22
楼主,到现在为止你的进度如何?我跟你差不多同时起步的,我终于搞懂linux了!
linux是linus+minix的合成词 ...

唉,linux没学什么,C++,Python倒是学了一堆。

出0入0汤圆

发表于 2016-8-19 00:23:38 | 显示全部楼层

出0入0汤圆

发表于 2016-8-19 13:10:36 | 显示全部楼层
背了半年,终于会拼Linux了

出0入0汤圆

发表于 2016-8-19 14:01:30 | 显示全部楼层
去年学了一堆 python js h5

出0入0汤圆

发表于 2016-8-24 22:59:26 | 显示全部楼层
我也准备先入个门而也,感觉楼主勇气可以呀。还得向你学习。呵呵。

出0入0汤圆

发表于 2016-8-25 01:42:09 | 显示全部楼层
手握300万求高手求项目

出35入0汤圆

 楼主| 发表于 2016-9-8 22:20:17 | 显示全部楼层
Linux已经渐行渐远了.眼看16年还有两三个月.
这些天在看SDIO.总结下SDIO的收成.
SD卡可以用SDIO接口及SPI接口访问.SPI速度会比SDIO慢,因为SDIO支持1/4/8根数据线.
第一次吃了一块牛油果,这味道,像是喝了一口地沟油.
目前只用了SDIO接口.

SDIO有一根CMD数据线,一根CLK,1或4根DATA.
host通过CMD发送命令给card.
card通过CMD返回response.

命令都是48个bit.对于应用来说,只要关注命令的index和parameter.
response总共有6种,R1/R2/R3/R6/R7.还有一种叫做,没有响应.

大概是从这几个response找到切入点的.
R1返回 上一条命令的index和卡的status. 命令的index只有6bit.所以命令的编号只有64个.但是命令应该不止64个.status有32bit.每个bit基本和寄存器一样.
R2返回CID CSD,这个是一些出厂及配置信息.
R3返回的是OSD.这个是关于卡支持的电压以及容量,上电状态的,和ACMD41配合,可以协商容量大小.
R6返回的是RCA.这个是SD卡在通信时用的简短编号.另外,R6还返回了卡的status里面的几个bit和卡的state.
R7返回CMD8传过来的电压范围和check pattern.这个CMD8是PLv2.0才有的.简单的来说,你发了CMD8,如果收到response了.不管如何,那是2.0的卡了.

大概就这样了..

出0入0汤圆

发表于 2016-9-8 22:47:48 | 显示全部楼层
先熟悉环境,学会用,然后编译运行,再去钻研驱动,最后核心与移植…

出0入4汤圆

发表于 2016-9-10 14:11:58 | 显示全部楼层
最近也买了一个nanopi M1板子来玩,以前也玩了一段是时间2440板子简单的也算知道个方向,
为什么又开始了呢?因为这个板子采用是全志的处理器价格相当便宜量又足,这个价格都和STM32F4系列的物料成本差不多了,我觉得以后开发要不是低成本PIC中间 STM32F1以下,高级的就是国内ARM A7 A8等.
现在Linux真的离我们很近的,如果对一个低成本的A7 A8芯片厂家把大部分驱动和系统都做好了,核芯版可以外购谁还用什么STM32F4 F7呀,
现在像物联网IoT VR 等等经常用到USB 网络 蓝牙通信协议,用单片机做哪一个都得搞死人,但用Linux做就相当简单把大部分丢给了厂家,我们只管做应用就好了.现在会一点LINUX就和以前学USB一样这个已是必修课了...

出0入0汤圆

发表于 2016-9-10 14:23:52 来自手机 | 显示全部楼层
你学会linux没

出0入4汤圆

发表于 2016-9-10 14:41:54 | 显示全部楼层

问我吗?修改过u-boot 配置过系统,移植过文件系统,做过简单的驱动,写过一些小程序,都是玩简单的没做过项目,只是知道个方向不会LINUX,最近再玩一下,有个小东东试用一下看行不行.

出0入0汤圆

发表于 2016-9-10 16:37:40 来自手机 | 显示全部楼层
liguangqang 发表于 2016-9-10 14:11
最近也买了一个nanopi M1板子来玩,以前也玩了一段是时间2440板子简单的也算知道个方向,
为什么又开始了呢 ...

我喜欢SPI FLASH的板,拿SPI FLASH下来直接读固件,解开,写几个自己的程序,用SDK编译一下,塞进去,打包烧录,连驱动,内核吧啦吧啦都不用搞。

出0入0汤圆

发表于 2016-9-22 15:52:32 | 显示全部楼层
无底洞~~内核更新也快~~

出0入0汤圆

发表于 2016-9-22 16:07:27 | 显示全部楼层
本帖最后由 shian0551 于 2016-9-22 16:11 编辑

莫大开个linux专贴吧,现在电工基本都要学习它了。
以前是基本用用,现在也开始了。嵌入式的基本方向了。

看马哥的linux运维教程,200个视频。快看完了。总结中

出0入0汤圆

发表于 2016-9-22 16:14:37 | 显示全部楼层
Andrewz 发表于 2016-9-8 22:20
Linux已经渐行渐远了.眼看16年还有两三个月.
这些天在看SDIO.总结下SDIO的收成.
SD卡可以用SDIO接口及SPI接 ...

牛油果要用蜂蜜拌起来吃,拌均了,  非常美味!

出0入8汤圆

发表于 2016-9-22 19:17:18 | 显示全部楼层
liguangqang 发表于 2016-9-10 14:11
最近也买了一个nanopi M1板子来玩,以前也玩了一段是时间2440板子简单的也算知道个方向,
为什么又开始了呢 ...

买了一个韦东山的2440开发板,还不知道怎么入门,会一点C语言,用过51和STM32的单片机,怎么才能入门啊,板子买了放在家里吃灰啊

出35入0汤圆

 楼主| 发表于 2016-12-29 15:59:58 | 显示全部楼层
2016年过得真快,这尼玛还有两天,今年的计划又泡汤了.

不过今年用了C++和python.

还搞了些算法.

也算是有所收获的一年.只是没赚到钱.

看来这个标题要改改了.

一阵子没来论坛,发现论坛里面技术更新了很多,现在大家都玩物联网,移动终端了.
技术不断进步,人只有适应适应,再适应,然后就淘汰了.

出0入0汤圆

发表于 2016-12-29 16:05:41 | 显示全部楼层
Andrewz 发表于 2016-12-29 15:59
2016年过得真快,这尼玛还有两天,今年的计划又泡汤了.

不过今年用了C++和python.

立个帖,明年把树莓派搞通!

出35入0汤圆

 楼主| 发表于 2016-12-29 16:07:29 | 显示全部楼层
wangpengcheng 发表于 2016-12-29 16:05
立个帖,明年把树莓派搞通!


可能会搞PowerPC.
还不知道结果.

技术是条不归路,多少人没修成正果就倒在了半路.

出0入0汤圆

发表于 2016-12-29 16:12:28 | 显示全部楼层
Linux即便是嵌入式linux,体量也太大了,再加上技术也始终在进步,一年的时间,即使你脱产全力学习,也不可能搞很精通。还是找准方向,认清哪些是必备技能,哪些是专攻方向,由面入门,再由点专精及面,最后达到面面俱到,的道路。认清自己想要的,才能找到捷径。

出35入0汤圆

 楼主| 发表于 2016-12-29 16:13:32 | 显示全部楼层
xuxueliang 发表于 2016-12-29 16:12
Linux即便是嵌入式linux,体量也太大了,再加上技术也始终在进步,一年的时间,即使你脱产全力学习,也不可 ...

Linux是个工具,我现在已经不求弄懂,只求能用了.

出0入0汤圆

发表于 2016-12-29 16:19:51 | 显示全部楼层
Andrewz 发表于 2016-12-29 16:13
Linux是个工具,我现在已经不求弄懂,只求能用了.

你已经弄明白你学Linux的目的了,又基本达到目的,

出35入0汤圆

 楼主| 发表于 2016-12-29 16:24:35 | 显示全部楼层
xuxueliang 发表于 2016-12-29 16:19
你已经弄明白你学Linux的目的了,又基本达到目的,

技术再厉害,也只是技术.

已经想通了.

出35入0汤圆

 楼主| 发表于 2016-12-29 16:42:47 | 显示全部楼层
昨天部长和我谈话,说公司发不出工资了.
人生漫漫长.
这家公司还是不错的,只是没钱了.
让我们写代码的走人,这个月就走.
今天就有3个是最后一天上班了.总共20人不到的公司一下走6个.
或许老板也是看开了,
不搞研发了,直接做贴牌,组装,出货.

出0入0汤圆

发表于 2016-12-29 18:50:23 | 显示全部楼层
祝贺楼主实现自己的小目标

出0入0汤圆

发表于 2016-12-29 19:37:34 | 显示全部楼层
2016马上结束了,学的怎么样了?

出0入0汤圆

发表于 2016-12-29 19:39:35 来自手机 | 显示全部楼层
楼主我来监督 是不是17年来了 还没学会

出35入0汤圆

 楼主| 发表于 2016-12-29 20:44:54 | 显示全部楼层
pengtaoABC 发表于 2016-12-29 19:39
楼主我来监督 是不是17年来了 还没学会


如果下家找得好,17年Linux应该会拿下.

出0入0汤圆

发表于 2016-12-29 21:08:55 | 显示全部楼层
Andrewz 发表于 2016-12-29 20:44
如果下家找得好,17年Linux应该会拿下.

从你立帖子开始,就关注你了,看你怎么在一年之内搞懂Linux,因为我14年买了天嵌的2440开发板,断断续续学了点,一直没搞懂,最后开发板也卖了。 楼主,离职了两次了,新年里一定能找到好工作。 做技术不容易。。

出0入0汤圆

发表于 2016-12-29 21:19:32 来自手机 | 显示全部楼层
我也在学习,刚买了个树莓派。我打算从最基本的“使用linux”开始。

出35入0汤圆

 楼主| 发表于 2016-12-30 08:29:31 | 显示全部楼层
xqn2012 发表于 2016-12-29 21:08
从你立帖子开始,就关注你了,看你怎么在一年之内搞懂Linux,因为我14年买了天嵌的2440开发板,断断续续 ...


做技术的才懂~

出0入4汤圆

发表于 2016-12-30 08:37:20 | 显示全部楼层
Andrewz 发表于 2016-12-29 16:13
Linux是个工具,我现在已经不求弄懂,只求能用了.

跟楼主立过相同的誓好几年了,现在还是半吊子,只能算会用...能静下心把技术做精的越来越少了

出0入0汤圆

发表于 2016-12-30 09:02:09 | 显示全部楼层
都快2017了,LZ学的咋样了

出35入0汤圆

 楼主| 发表于 2016-12-30 09:04:32 | 显示全部楼层
danielyuan 发表于 2016-12-30 09:02
都快2017了,LZ学的咋样了

没咋学,学了下C++和PyQt.
想象了下如果在linux下用Qt IDE应该也是类似的过程.
用图形化设计软件生成.ui文件,并且关联好各种回调函数.
然后转到代码编辑器下面实现这些回调函数.

出0入0汤圆

发表于 2017-1-5 14:56:52 | 显示全部楼层
现在2017了,不知道楼主进度如何

出0入0汤圆

发表于 2017-1-5 15:05:39 | 显示全部楼层
200楼到下一页
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 14:35

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表