发新帖免费发项目我要提问
12
返回列表
打印
[项目合作]

项目开发合作,限上海地区

[复制链接]
楼主: Simon21ic
手机看帖
扫描二维码
随时随地手机跟帖
21
hjz007| | 2014-6-2 23:55 | 只看该作者 回帖奖励 |倒序浏览
我接过项目的老板,其实大部分都有一个车的,比如什么丰田,凌志什么的。
但人真远不如那些大企业的工程师素质。
生意有时候是能做成,但都属于不值得交友那种。
那些老板其实都是满嘴谎话,瞎扯不打草稿的,做生意也是下流无耻奸诈,没有人品。
(当然,和你合作,要用你的时候,还是会把你伺候得好好的,你还以为是个好人呢)
这些小老板大都自己搞假冒伪劣,却还大骂中国人什么愚昧不尊重知识产权...

使用特权

评论回复
22
Simon21ic|  楼主 | 2014-6-3 00:24 | 只看该作者
hjz007 发表于 2014-6-2 23:55
我接过项目的老板,其实大部分都有一个车的,比如什么丰田,凌志什么的。
但人真远不如那些大企业的工程师 ...

嗯,你继续识别人渣
年收入百万都不到的,是没必要和你计较,我有事先忙去了

使用特权

评论回复
23
Simon21ic|  楼主 | 2014-6-3 01:11 | 只看该作者
初始化代码搞定:
static vsf_err_t vsfohci_poll(void *param)
{
        struct vsfohci_t *ohci = (struct vsfohci_t *)param;
        uint32_t tickcnt_now;
        uint32_t cmd;
       
        switch (ohci->state)
        {
        case VSFOHCI_STAT_UNINIT:
                memset(ohci->hcca, 0, sizeof(struct vsfohci_hcca_t));
               
                ohci->revision = vsfohci_read_reg(ohci, OHCI_REGIDX_HcRevision);
                // read RWC
                ohci->control = vsfohci_read_reg(ohci, OHCI_REGIDX_HcControl);
               
                // Disable HC interrupts
                vsfohci_write_reg(host, OHCI_REGIDX_HcInterruptDisable, OHCI_INTR_MIE);
                // Reset HC
                vsfohci_write_reg(host, OHCI_REGIDX_HcControl, 0);
                vsfohci_write_reg(host, OHCI_REGIDX_HcCommandStatus, OHCI_CMDR_HCR);
                ohci->state = VSFOHCI_STAT_INITDELAY;
                ohci->tickcnt = interfaces->tickclk.get_count();
                ohci->state = VSFOHCI_STAT_INIT_POLLHCR;
//                break;                // fall through
        case VSFOHCI_STAT_INIT_POLLHCR:
                cmd = vsfohci_read_reg(ohci, OHCI_REGIDX_HcCommandStatus);
                if (cmd & OHCI_CMDR_HCR)
                {
                        tickcnt_now = interfaces->tickclk.get_count();
                        if ((tickcnt_now - ohci->tickcnt) > 30)
                        {
                                // timeout
                                ohci->state = VSFOHCI_STAT_UNINIT;
                        }
                }
                else
                {
                        // reset finished
                        uint32_t control = vsfohci_read_reg(ohci, OHCI_REGIDX_HcControl);
                        vsfohci_write_reg(ohci, OHCI_REGIDX_HcControl,
                                        (control & ~OHCI_CTRLR_HCFS_MASK) | OHCI_CTRLR_HCFS_RESET);
                        ohci->HcControl = OHCI_CTRLR_HCFS_RESET;
                       
                        // delay 100 ms
                        ohci->tickcnt_orig = interfaces->tickcnt.get_count();
                        ohci->delayms = 100;
                        ohci->next_state = VSFOHCI_STAT_INIT_END;
                        ohci->state = VSFOHCI_STAT_POLLDELAY;
                }
                break;
        case VSFOHCI_STAT_INIT_END:
        {
                uint32_t fminterval = 12000 - 1;
                uint32_t mask;
               
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcControlHeadED, 0);
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcBulkHeadED, 0);
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcHCCA, ohci->hcca);
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcPeriodicStart,
                                                        fminterval * ohci->period_ratio / 100);
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcFmInterval,
                                                        ((((fminterval - 210) * 6) / 7) & 7FFF) << 16);
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcLSThreshold, 1576);
                ohci->HcControl = OHCI_CTRR_INIT | OHCI_CTRR_OPER;
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcControl, ohci->HcControl);
                // enable and clear interrupt mask
                mask = OHCI_INTR_MIE | OHCI_INTR_UE |  OHCI_INTR_WDH | OHCI_INTR_SO;
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcInterruptEnable, mask);
                vsfohci_write_reg(ohci, OHCI_REGIDX_HcInterruptStatus, mask);
               
                // root hub init
               
                break;
        }
        case VSFOHCI_STAT_POLLDELAY:
                tickcnt_now = interfaces->tickclk.get_count();
                if ((tickcnt_now - ohci->tickcnt) >= ohci->delayms)
                {
                        ohci->state = ohci->next_state;
                }
                break;
        case VSFOHCI_STAT_OPERATIONAL:
                break;
        }
       
        // put here if in poll mode, otherwise call vsfohci_irq in irq handler
        vsfohci_irq(ohci);
       
        return VSFERR_NONE;
}

简单说一下为什么评估这个不难。
1. 调试工具和分析工具都齐全,包括USB协议分析仪
2. linux里的OHCI驱动很简单,1000多行代码,当然这个是GPL的协议,我们用不了,而且基于操作系统的
3. 我摸个不少于5个各个厂家的USB协议栈,自己做过通用的USB协议栈,当然是设备端

明天上班,给公司里的人接手了。

使用特权

评论回复
24
hjz007| | 2014-6-3 08:36 | 只看该作者
本帖最后由 hjz007 于 2014-6-3 09:07 编辑

估计此项目是包不出去了,口口声声称项目简单的,基本上没有包出去的。
1. 先定性简单的人,其实自己不懂,心理没底气,所以装懂,怕工程师讹他。
2. 贪婪。想别人干活,又不想给人合适回报,总是说简单压价,其实真有本事,就把工作量据算出来,精确到多少个工时,要多少钱。
3. 奸诈。搞什么提成的人,大都不是什么好东西。挖苦心思专门设计身边的人,不值得合作。
4. 把具备调试工具和分析仪作为项目简单的理由,说明楼主其实没有真正的商品级项目开发经验。甚至不能理解项目开发中"难“和”简单“的含意。
5. 楼主把做USB设备端协议的经验推广到做主机协议,其实就说明楼主其实不懂,只是个"爱好者“级别的。USB主机侧协议和终端侧协议可不是一个数量级的。

如果动机心态有问题,和工程师是谈不拢的。
建议,如果有人能接这个项目,报价可以抬高点,可以看出,如果楼主是来套技术的(推测他似乎对大体有个概念,但对某些关键技术点过不去,没信心做稳定达到商品级,推出楼主只是懂一点移植,未必真懂USB协议)那你倒霉,如果楼主是要包出去,估计他们是自己确实没有这个能力来做,USB协议代码到处都可以下,没什么稀奇的。
从楼主的表达可以看出,楼主连他需要的功能需求都没搞清楚,你怎么外包?
谈外包的结果是你把他理清了他困惑的问题,你投入了大量精力,结果项目可能还八字没一撇...
楼主口口声声说公司,我估计楼主公司里就没像样的技术工程师,或者这些大专,专升本文凭的工程师都不想呆下去...这样的公司自己开发项目,其实就是内耗...

总体感觉,这个项目是虚的,处于概念阶段。

总价报高点。

使用特权

评论回复
25
Simon21ic|  楼主 | 2014-6-3 09:35 | 只看该作者
本帖最后由 Simon21ic 于 2014-6-3 09:49 编辑
hjz007 发表于 2014-6-3 08:36
估计此项目是包不出去了,口口声声称项目简单的,基本上没有包出去的。
1. 先定性简单的人,其实自己不懂, ...


多谢你的建议
首先,我确实认为技术不值钱,怕被我套技术的就不要来了

使用特权

评论回复
26
天师猫神| | 2014-6-3 10:36 | 只看该作者
hjz007 发表于 2014-6-2 23:27
我对在21IC上乱发外包,蛊惑没社会经验工程师的行为一直都是绝不客气。
对于那些给生活上暂时处于窘困中的 ...

谢谢提醒,,,看来着行水太深

使用特权

评论回复
27
lhtzyn777| | 2014-6-3 20:26 | 只看该作者
Simon21ic 发表于 2014-6-1 14:44
无操作系统的USB OHCI很困难吗?
我们正在准备自己先处理这个部分,OHCI协议和代码都看了,没你想的这么难 ...

OHCI一点都不难,关键是要所有类设备的驱动。这个就复杂了。这个我很了解,因为我一直做USB

使用特权

评论回复
28
lhtzyn777| | 2014-6-3 20:30 | 只看该作者
Simon21ic 发表于 2014-6-3 01:11
初始化代码搞定:
static vsf_err_t vsfohci_poll(void *param)
{

好像很多人不淡定,口气很差,我之所以关注楼主,是我确实认为不简单,OHCI很简单,关键后面的驱动有很多,往楼主能发布最终结果,谢谢

使用特权

评论回复
29
Simon21ic|  楼主 | 2014-6-4 10:13 | 只看该作者
本帖最后由 Simon21ic 于 2014-6-4 10:17 编辑

OHCI代码量也就1400多行,USBH的代码量也差不到2000行。
确实设备驱动如果需要支持的话的话,这个会占用大部分时间,目前规划的,只是HID和一些我们自己定义的设备。
以后如果需要维护的话,可能会增加一些其他设备的驱动。
不过我本来就想过滤掉一些人,他也帮了不少忙,这次来找我的,基本上对USBH非常熟悉的。
而且也一直免费帮我顶贴,呵呵。至于口气差,就没时间和他能半年闲着蛋疼的人计较了,我目前手上的项目,基本要拍到明年这个时候了。

使用特权

评论回复
30
hjz007| | 2014-6-4 12:36 | 只看该作者
本帖最后由 hjz007 于 2014-6-4 12:39 编辑
Simon21ic 发表于 2014-6-4 10:13
OHCI代码量也就1400多行,USBH的代码量也差不到2000行。
确实设备驱动如果需要支持的话的话,这个会占用大 ...

不出所料,终于露出了征兆,又是骗套技术的

网络上有很大一部分就是项目处于概念阶段的时候,发个外包贴的引起注意,通过和外包人员进行技术交流、讨论、争论来理清思路的。

比如做毕业设计卡壳的学生,项目设计卡壳的,调试卡壳的企业工程师。
接项目的工程师一顿自我介绍以后,其实就是帮别人做了个免费的培训。

真有本事的公司和工程师是不会发外包的,甚至连项目情况都不介绍,为了防止泄密,项目名称都是用代号。

使用特权

评论回复
31
Simon21ic|  楼主 | 2014-6-4 13:05 | 只看该作者
hjz007 发表于 2014-6-4 12:36
不出所料,终于露出了征兆,又是骗套技术的

网络上有很大一部分就是项目处于概念阶段的时候,发个外包贴 ...


我又发了一个外包帖子了,继续帮我黑一下,效果不错

使用特权

评论回复
32
bbstr| | 2014-6-4 14:36 | 只看该作者
楼上两位都算业界资深人员了,几乎天天都能见到。我想说句公道话:

Simon21ic的帖子我看了很多,曾经也有项目洽谈过,最终因为不在同地,所以无疾而终,但是就个人判断,Simon21ic应该不是一个纯套技术的人,他的外包很多都是比较专的,自己应该有过深入的研究,期望找到业界高手一起共举大业。不过感觉不太好的一点,就是好像什么技术说的都很简单似的,有点不太符合技术人员的特质,当然这也是自身性格使然,不能强加评判。

hjz007是一位敢说真话,有斗志的前辈,有点方舟子的味道,不过有些地方,有点夸大了工程师的价值,毕竟这个行业就是需要多交流,互通有无的,这样大家才能进步,其实在中国这个环境下,一个做的再好产品,也得要有好的销售转化为价值。

使用特权

评论回复
33
Simon21ic|  楼主 | 2014-6-5 16:41 | 只看该作者
本帖最后由 Simon21ic 于 2014-6-5 16:58 编辑

最后结果:没找到能够一揽子全部处理并且符合我们要求的,不过USBH部分和PC软件部分,都分开外包了
处理USBH的人和我看来比较有缘,我本来就是他们公司的某个产品线的最大的客户,和他谈了2个多小时,不管大家相不相信,大部分时间是我在说和这个东西相关的技术和要求。但是他做不了PC软件。和我们做网络营销和推广的费用相比,这几万开发费用确实“不值钱”。
更正一下楼上的,我现在并不常来,只是有东西要外包来一下而已。也不用找高手共举大业,这个太夸张了。只是早先我帮很多客户不计回报的做了很多产品设计,现在手里的要开发产品太多,现在很多产品都直接占股份了,所以任何东西,能尽可能少占用我的时间,我可以提供部分提成。我记得另一个帖子说过,我以前就是觉得自己技术非常值钱,那个时候基本没找到什么钱,现在我认为技术不值钱的时候,才是真真能赚到钱的时候。

PS:
结果我外包的人自然知道我是什么人,有人黑我的话,我完全不介意,没有这么点肚量,也做不到我现在的位置。
知道我怎么外包和怎么做事的人心里自然清楚,对于他们而言,你可能黑的是你自己。
我的另一个外包要沉了,快去黑一下吧。

使用特权

评论回复
34
snowflyin| | 2014-6-11 17:22 | 只看该作者
simon不是你们想的这样,能和simon合作,不吃亏的,哎,不了解一个人不要乱评价。
simon我虽然没有见过,但是他是我非常敬佩的一个人。
ps:我很少这样评价一个人的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则